Commit Graph

2215 Commits

Author SHA1 Message Date
joshua shlemmer
acedfad23c .NET static analysis warnings in LogMessages.cs
[CL 33085216 by joshua shlemmer in ue5-main branch]
2024-04-18 16:53:40 -04:00
joshua shlemmer
dceaf4ca2f Hordehttpclient changes adding GetGraph and log search calls.
#rb gary.yuan

[CL 33080726 by joshua shlemmer in ue5-main branch]
2024-04-18 14:50:59 -04:00
ben marsh
144fc2b4bd Horde: Prevent hypens before a period in a sanitized string id.
[CL 33044625 by ben marsh in ue5-main branch]
2024-04-17 15:07:49 -04:00
ben marsh
768649e763 EpicGames.Perforce: Fix parsing of records with multiple arrays. All properties for the entire tree of possible records for a response are looked up by tag before identifying the target object via the array index, rather then recursively trying to parse complete records. It is possible for one record to have multiple child records, and also possible that tags for child records are serialized out of order.
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]
2024-04-17 12:03:47 -04:00
ben marsh
2dd301febe Create an AutomationTools.Tests project, and move tests from Horde.Agent into it. Included in UE5 default solution for better visibility.
[FYI] carl.bystrom, kevin.macaulayvacher

[CL 33036388 by ben marsh in ue5-main branch]
2024-04-17 10:39:36 -04:00
ben marsh
c1021f6bf8 Horde: Handle zero byte reads due to socket shutdown when reading messages into a compute buffer.
[CL 33034491 by ben marsh in ue5-main branch]
2024-04-17 09:31:45 -04:00
kevin macaulayvacher
1c564f5450 - Adds a ThreadSanitizer Structured Logging Matcher so we may contextualize TSAN output in Horde logs. It specifically will attempt to annotate files, symbols, and symbol addresses in callstacks, warning on TSAN "WARNING" messages and "SUMMARY" message.
-- 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]
2024-04-16 13:44:37 -04:00
ben marsh
1db0da441d BuildGraph: Allow specifying an IgnoreModified flag on node attributes to ignore mismatched timestamps/lengths of files matching a particular pattern (accepts p4-style wildcards and multiple rules separated by semicolons).
[FYI] Eric.Knapik

[CL 32997469 by ben marsh in ue5-main branch]
2024-04-16 07:46:44 -04:00
anton dunchev
88714af547 [UBT] Fix data race for platform directories access
#rb Josh.Adams
#tests local UBT
[FYI] Dan.Thompson, Joe.Kirchoff, roman.dzieciol

[CL 32954377 by anton dunchev in ue5-main branch]
2024-04-12 22:05:20 -04:00
henrik karlsson
a8e80ad58c [EpicGames.UBA]
* Updated pinvoke code to use new function names in api

[CL 32941830 by henrik karlsson in ue5-main branch]
2024-04-12 15:54:08 -04:00
ben marsh
e3afad0dd2 Horde: Fix issues related to string ids used for job templates exceeding the maximum allowed length.
- Max length of a string id is now increased to 128 characters.
- Identifiers generated from template parameter names are now capped at MaxLength - 10, to allow space for a number to be added afterwards.
- Sanitization of strings will cap the maximum length of parameters at MaxLength.
- Existing string ids that are deserialized from BSON are assumed to be valid and will not throw an exception on deserialization, in order to handle any data that already exists in the DB.

[CL 32934650 by ben marsh in ue5-main branch]
2024-04-12 12:53:08 -04:00
ben marsh
b03f44a9a0 Horde: Fix some static analysis warnings.
#rnx

[CL 32921318 by ben marsh in ue5-main branch]
2024-04-11 23:18:50 -04:00
ben marsh
22545aab76 Horde: Allow specifying a unique id for each parameter in a job template. If a parameter is not specified, a unique identifier will be generated from the widget label. Parameters can be used to start jobs (by specifying the Parameters dictionary in the CreateJobRequest object), and will be returned as part of the job response.
#jira UE-211927
[FYI] Josh.Engebretson

[CL 32906756 by ben marsh in ue5-main branch]
2024-04-11 16:59:40 -04:00
ben marsh
69a7bf3820 EpicGames.Perforce: Include MSVC runtime dependencies to support EpicGames.Perforce.Native DLLs.
#jira UE-212007

[CL 32895609 by ben marsh in ue5-main branch]
2024-04-11 13:12:29 -04:00
ben marsh
84b1119661 Include a type field for p4 artifacts.
#rnx

[CL 32886580 by ben marsh in ue5-main branch]
2024-04-11 09:10:20 -04:00
ben marsh
9383479ac4 Speculative fix for crashes in native Perforce library. Also change build script to create output artifacts rather than submitting files directly.
See notes on these pages:

https://www.perforce.com/manuals/v23.1/p4api/Content/P4API/p4libraries.html
https://www.perforce.com/manuals/v23.1/p4api/Content/P4API/chapter.clientprogramming.signaler.html

[FYI] Carl.Bystrom
#jira UE-155503
#rnx

[CL 32886145 by ben marsh in ue5-main branch]
2024-04-11 08:56:00 -04:00
joe kirchoff
942ac23295 EpicGames.Core: Use SafeProcessHandle instead of SafeFileHandle for child process in ManagedProcess
#rnx

[CL 32868150 by joe kirchoff in ue5-main branch]
2024-04-10 19:26:45 -04:00
jodon karlik
d871629fe8 Adding UE_DEPRECATED_FORGAME and UE_DEPRECATED_FORENGINE to known optional tokens parsable by UHT. E.g. usable for enum entries.
#rb justin.hare
[FYI] tim.smith

[CL 32867461 by jodon karlik in ue5-main branch]
2024-04-10 19:01:06 -04:00
joshua shlemmer
46eeae4d88 EpicGames.Horde add Job and Log query, fix serialization issues
#rb Ben.Marsh, gary.yuan, philip.cosgrave

[CL 32866529 by joshua shlemmer in ue5-main branch]
2024-04-10 18:31:33 -04:00
tim smith
f36fe290d1 Modified UHT to generate an error when an IInterface is improperly used.
#rb tim.smith

[CL 32853332 by tim smith in ue5-main branch]
2024-04-10 07:28:59 -04:00
ben marsh
93e0a0d0a9 EpicGames.Perforce: Disable hang monitor output when PerforceSettings.EnableHangMonitor is set to false.
#rnx

[CL 32851044 by ben marsh in ue5-main branch]
2024-04-10 04:01:23 -04:00
ben marsh
f6d0c7ca61 EpicGames.Perforce: Fix static analysis warning.
#rnx

[CL 32816633 by ben marsh in ue5-main branch]
2024-04-08 22:07:30 -04:00
ben marsh
66577244fb Horde: Include response content in log when server returns an unauthorized response.
#jira UE-208714
#rnx

[CL 32816590 by ben marsh in ue5-main branch]
2024-04-08 22:06:27 -04:00
ben marsh
19b8d070ce Horde: Add guard bytes to buffers allocated for native perforce connection to help track down segfaults on linux.
#rnx

[CL 32815479 by ben marsh in ue5-main branch]
2024-04-08 21:31:25 -04:00
ben marsh
f054d93156 EpicGames.Perforce.Native: Fix buffer being expanded whenever an empty flush packet is sent at the end of each command.
[CL 32798977 by ben marsh in ue5-main branch]
2024-04-08 13:59:25 -04:00