Doing so the TSAN log matcher can now generate logs that contain the full TSAN error context in a single log. An TSAN IssueHandler has been added which looks for the summary log event and generates an issue keyed off the summary error reason and the file in error. The goal being to generate an issue per unique TSAN error
The TSANLogMatcher has had a test added to ensure we properly log only TSAN errors, and the file was renamed to fix warnings regarding file name and class name must matching.
EditorPerf timeouts have been reduced as we were waiting for 8 hours in cases when no tests were running due to errors in the config
#jira UE-212560
#rb Ben.Marsh
[FYI] Francis.Hurteau
[CL 33261211 by kevin macaulayvacher in ue5-main branch]
* Integrated uba cache client in to UBT. This is the first iteration and is only really tested on UnrealEditor win64 development -nopch.
Test by starting a UbaCacheService.exe somewhere and then compile using -UbaCache=<thatmachine> -UbaWriteCache
#rb joe.kirchoff
[CL 33214931 by henrik karlsson in ue5-main branch]
* Fixed so Classes/Public/Internal/Private includes are only added if there are files directly or indirectly under directory. Change is to make rsp files deterministic even if p4 left empty directories behind
#rb joe.kirchoff
[CL 33206443 by henrik karlsson in ue5-main branch]
Jobs are kept forever by default, though this may be modified through the ExpireAfterDays parameter in the JobOptions object in streams or projects.
#jira UE-212550
[CL 33109374 by ben marsh in ue5-main branch]
One regression with this approach is that the required option is not validated for subelement types; since this is more of a validation of assumptions of the data format rather than an expected error case, it should be fine.
[CL 33038497 by ben marsh in ue5-main branch]
-- The "SUMMARY" message is the only log line treated as an error since it is information (description of problem, and file+line to address) but also not overly specific such that we should be able to make JIRA issues from these log lines without generating duplicate issues for the same race from different callsites.
- Changes EditorPerf TSAN job to use -VeryVerbose in UAT so that stdout and stderr are redirected for logging. TSAN emits logs to stderr/stdout (depends on environement variable, stderr by default). The logs can be redirected to a log file via envvar TSAN_OPTIONS and specifying a path, however, Horde will only use whatever is written to stdout/stderr for generating issues, so unless a post process is added to forward the TSAN log output after the application has terminated, having stdout redirected stderr/stdout by default for TSAN jobs is simplest approach.
- Added two new KnownLogEvents `Sanitizer_Thread` and `Sanitizer`. `Sanitizer_Thread` is used by the added matcher, but `Sanitizer` was also added so that we may follow the pattern of letting the first id represent the broader category of events
#rb Bryan.Johnson, Ben.Marsh
#jira UE-207074
[FYI] Francis.Hurteau
[CL 33007156 by kevin macaulayvacher in ue5-main branch]