Commit Graph

8878 Commits

Author SHA1 Message Date
Andrew Grant
0e56a4aeae Added CPU count to benchmark results
#jira #rb na

[CL 11573243 by Andrew Grant in 4.25 branch]
2020-02-20 21:28:00 -05:00
Andrew Grant
a101c2ffcc Fixed copy & pasta with format string
#jira #rb na

[CL 11568915 by Andrew Grant in 4.25 branch]
2020-02-20 14:59:43 -05:00
Andrew Grant
4dae50603d Fixed noxge in benchmark script
#jira #rb na

[CL 11568646 by Andrew Grant in 4.25 branch]
2020-02-20 14:38:24 -05:00
Michael Sartain
f1120d5206 Add protected to bGdbIndexSection bool
#jira none
#rb Brandon.Schaefer, Arciel.Rekman

[CL 11567407 by Michael Sartain in 4.25 branch]
2020-02-20 13:10:45 -05:00
Andrew Grant
d199343f3e Added nofastbuild support to benchmark script.
Improved some reporting

#jira #rb na

[CL 11567261 by Andrew Grant in 4.25 branch]
2020-02-20 13:01:08 -05:00
Andrew Grant
4fdb8e5e46 Fixed incorrect dsymutil being used with 11.0.0 and higher.
#fyi michael.trepka, josh.adams
#jira #rb na

[CL 11567226 by Andrew Grant in 4.25 branch]
2020-02-20 12:58:06 -05:00
Michael Sartain
c15155d66b Add bGdbIndexSection bool to LinuxToolChain
#rb Arciel.Rekman, Brandon.Schaefer
#jira none

[CL 11566988 by Michael Sartain in 4.25 branch]
2020-02-20 12:40:53 -05:00
Patrick Laflamme
b9ce249504 #jira UE-89180 - Crash Report Client does not display callstack for debug commands
- Changed the execution flow to ensure the callstack was displayed while the windows was still on screen (it was updated just after the window was closed).

#rb Johan.Berg

[CL 11565572 by Patrick Laflamme in 4.25 branch]
2020-02-20 10:35:19 -05:00
Andrew Grant
9e71754da0 Fixed benchmark script so singlecompile doesn't do a rebuild when -noxge is used
#jira #rb na

[CL 11560081 by Andrew Grant in 4.25 branch]
2020-02-19 21:56:40 -05:00
andrey yamashev
294d81be00 Added RenderSync log category to the nDisplayLauncher 'Log' tab
#jira none
#rb none
#lockdown simon.tourangeau

#ROBOMERGE-SOURCE: CL 11558975 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Release-4.25) (v654-11333218)

[CL 11558976 by andrey yamashev in 4.25 branch]
2020-02-19 20:40:49 -05:00
Chris Babcock
b0bc7837c8 Update Android toolchain to NDK 21 (20 also supported for x86_64) additional files
#jira UE-80046
#ue4
#android
#rb Bradon.Schaefer

[CL 11555526 by Chris Babcock in 4.25 branch]
2020-02-19 17:24:59 -05:00
Michael Sartain
bd6f92d5ff Linux: Build with -gdb-index with Clang v9 and above
On my machine, this cuts symbol loading time (breaking at main) from 45 seconds
to 17 seconds (with gdb v8.3.1).

#jira none
#rb Brandon.Schaefer
#fyi Arciel.Rekman

[CL 11551587 by Michael Sartain in 4.25 branch]
2020-02-19 15:44:59 -05:00
Michael Sartain
1f0a1d5f84 Linux: Always use lld linker with clang v9 and above
#jira none
#rb Brandon.Schaefer
#fyi Arciel.Rekman

[CL 11551479 by Michael Sartain in 4.25 branch]
2020-02-19 15:43:51 -05:00
Andrew Grant
1d4b49b80a Editgrating benchmark scripts from main.
Also includes noshaderddc option that emulates a cold DDC for shaders

#jira #rb na
#tests ran BenchmarkBuild -project=UE4 -editor -client -xge

[CL 11548100 by Andrew Grant in 4.25 branch]
2020-02-19 14:05:12 -05:00
Johan Berg
edd4f3408a Crash report client doesn't need full access handle to runtime when monitoring.
While monitoring the parent process CRC doesn't need a full access process handle on Windows. Open the handle using limited acccess flags instead.

#rb stefan.boberg
#jira UE-88601, UE-88978
#lockdown stefan.boberg

#ushell-cherrypick of 11458913 by Johan.Berg
#ushell-cherrypick of 11458942 by Johan.Berg

[CL 11536303 by Johan Berg in 4.25 branch]
2020-02-19 08:33:28 -05:00
Ben Marsh
6a394c3dad Another fix for UE-88874 (exception generating project files from binary release).
#rb none
#jira UE-88874
#rnx

[CL 11527879 by Ben Marsh in 4.25 branch]
2020-02-18 18:03:51 -05:00
RPG3D
b65e7beea4 Ignore empty AAR directories on Android (contributed by RPG3D)
#jira UE-88492
#PR #6676
#ue4
#android
#rb trivial

[CL 11520899 by Chris Babcock in 4.25 branch]
2020-02-18 16:46:54 -05:00
Patrick Laflamme
75b36ad299 #jira UE-85967 - UnrealDisasterRecoveryService character length is long and can easily max out path length
#jira UE-88070 - UnrealDisasterRecoveryService paths are too long
  - Renamed UnrealDisasterRecoveryService as UnrealRecoverySvc
  - Set a ConcertSyncServer ShortName as "CncrtSyncSvr" to ensure shorter build path.

The change saves 29 characters on the offending path. The path before vs the path after:

Engine\Plugins\Developer\Concert\ConcertSync\ConcertSyncServer\Intermediate\Build\Win64\UnrealDisasterRecoveryService\Development\ConcertSyncServer\UnrealDisasterRecoveryService-ConcertSyncServer.lib (Before, 199 chars)
Engine\Plugins\Developer\Concert\ConcertSync\ConcertSyncServer\Intermediate\Build\Win64\UnrealRecoverySvc\Development\CncrtSyncSvr\UnrealRecoverySvc-ConcertSyncServer.lib (After, 170 chars)

#rb Jamie.Dale

Edigrated 11281991 from Dev-VirtualProduction

[CL 11516806 by Patrick Laflamme in 4.25 branch]
2020-02-18 16:17:00 -05:00
Patrick Laflamme
47044a7f9a #jira UE-87900 - Disaster Recover stops recording transactions if the UDP transport layer restarts or auto-repair
- Fixed disaster recovery remote endpoint timeout set to zero, preventing it from re-registering with MessageBus when an error occurred (like the socket disconnected).

#jira UE-87899 - Disaster recovery prevents showing the crash reporting UI in a timely manner if the session is large
  - Fixed the crash reporter app to display the UI (asking the user to send the bug report) before shutting down the recovery service.

- Renamed the field FDisasterRecoveryInfo::Version into FDisasterRecoveryInfo::Revision because revision is more accurate for the field.

#rb Jamie.Dale

Edigrated 11250824 from Dev-VirtualProduction.

[CL 11515425 by Patrick Laflamme in 4.25 branch]
2020-02-18 15:49:59 -05:00
Patrick Laflamme
444da0bd40 #jira UE-88801 - CrashReporterClientEditor crashes if the bug report windows in closed before the callstack appears
- Prevented CrashReportClient::FinalizeDiagnoseReportWorker() function to called after the CrashReportClient instance was deleted.

Details:

The FDiagnoseReportWorker asynchronous task created an extra asynchronous tasks (calling back CrashReportClient instance) that could fire after the targetted CrashReportClient instance was deleted. The solutions moves the logic to 'finilize' the report in the tick function that is expected to run in the game thread and make 'Close Without Sending' flows  like 'Send and Close'/'Send and Restart' but without sending anything.

#rb Francis.Hurteau
#lockdown cristina.riveron

Edigated 11462889 from 4.24

[CL 11512537 by Patrick Laflamme in 4.25 branch]
2020-02-18 15:30:18 -05:00
Jamie Dale
b4ee398d06 Ensure we clean-up the gather process after it's completed
#jira UE-88891
#rb none
#rnx

[CL 11511880 by Jamie Dale in 4.25 branch]
2020-02-18 15:05:41 -05:00
patrick laflamme
084d0ac6c7 #jira UE-88968 - CrashReportClientEditor with MTBF do not sent the analytics report if the user dimisses crash report UI with 'Close Without Sending' very quickly.
- Added a 60 seconds grace period for the Editor process to exit so that we can read its exit code.

#rb Francis.Hurteau
#lockdown cristina.riveron

#ROBOMERGE-OWNER: patrick.laflamme
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 11507818 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Release-4.25) (v654-11333218)

[CL 11508156 by patrick laflamme in 4.25 branch]
2020-02-18 13:50:51 -05:00
Chris Babcock
b8bb2eaf1e Fix issue with install batch file detection for Android
#jira UE-89006
#ue4
#android
#rb Brandon.Schaefer

[CL 11504731 by Chris Babcock in 4.25 branch]
2020-02-18 12:57:01 -05:00
PierreOlivier Latour
1d307c0dd7 Fixed UnrealBuildTool crashing on launch if initialization of UnrealTargetPlatform static members variables happens out of order
## Summary

`UnrealTargetPlatform` and `UnrealPlatformGroup` are partial structs which each have a static member variable declared like this:

private static UniqueStringRegistry StringRegistry = new UniqueStringRegistry();

These partial structs have additional implementations in /Engine/Platforms/XXX/Source/Programs/UnrealBuildTool/UEBuildXXX.cs, which also have static member variables declared like this:

public static UnrealTargetPlatform XXX = FindOrAddByName("XXX");

`FindOrAddByName()` is a static method on `UnrealTargetPlatform` and `UnrealPlatformGroup` which accesses `StringRegistry` and requires it to be initialized i.e. non-null.

It appears that there's no guarantee in .NET runtime that the static member variables in the "original" implementation of the partial structs will be initialized _before_ the ones from the "additional" implementations. This means `XXX` above can be initialized in the additonal implementation before `StringRegistry` has been initialized in the original implementation, which means it's still null when `FindOrAddByName()` is called so the tool crashes.

In practice, this is 100% reproducible in our public GitHub mirror when opening `UnrealBuildTool.csproj` with VisualStudio Mac. This IDE rewrites the project file which affects when / how UEBuildXXX.cs is compiled, and static member variables for these partial structs end up being initialized out or order.

The only solution I found that worked was to replace all accesses to the `StringRegistry` static member variables by a wrapper function `GetUniqueStringRegistry()` which takes care of initializing it - only once. Since all this happens while the tool launches, this code should not need to be multithread aware / re-entrant.

NOTE: There is another partial struct `RestrictedFolder` in this codebase which also use `UniqueStringRegistry` in a similar way but the 2 implementations are in the same source file, so the bug may not happen and I left the implementation untouched.

## Test Plan

- Opened `UnrealBuildTool.csproj` with VisualStudio Mac
- Built UnrealBuildTool and verified it crashed on launch due to `StringRegistry` being NULL when used by `FindOrAddByName()`
- Confirmed the crash doesn't happen anymore after applying this change and that the `StringRegistry` static member variable was only set once by `GetUniqueStringRegistry()`


#jira UE-88908
#rb ben.marsh

[CL 11498874 by PierreOlivier Latour in 4.25 branch]
2020-02-18 10:02:51 -05:00
Jack Porter
a9754c84e0 Fixed iOS toolchain crash with missing provision
#jira UE-88744
#rb trivial
#rnx

[CL 11493809 by Jack Porter in 4.25 branch]
2020-02-18 02:02:29 -05:00