Commit Graph

188 Commits

Author SHA1 Message Date
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -04:00
danny couture
89e1e871ad Exclude mimalloc.c from static analysis
Fix typo where double slash were used

#rnx
#rb trivial
#preflight 60d1fe1fbe81e80001837c38

[CL 16744965 by danny couture in ue5-main branch]
2021-06-22 12:48:16 -04:00
robert seiver
22dc70ee0c Replaced the single ensure crash reporting process handle with a pool of process handles
#jira UE-67073
#review-16631690 @Brandon.Schaefer, @Michael.Sartain

[CL 16663186 by robert seiver in ue5-main branch]
2021-06-14 15:53:31 -04:00
Brandon Schaefer
da6e2eb1e2 Rename LinuxAArch64 to LinuxArm64
#jira UE-118127
#rb Michael.Sartain
#fyi Marc.Audy, Aurel.Cordonnier

[CL 16660821 by Brandon Schaefer in ue5-main branch]
2021-06-14 13:39:47 -04:00
danny couture
f358a5d8a4 Include mimalloc compilation as part of the core module instead of relying on prebuilt binaries
- This will make maintenance for multiple platforms a lot easier (i.e. just preflight)
  - Will be easy to get callstack and debug since it will be compiled on the machine it is debugged on
  - Easier to try out modifications on mimalloc itself
  - Fix mimalloc compilation under Clang 10
  - Fix mimalloc inconsistent usage of MI_ENCODE_FREELIST define
  - Fix mimalloc inconsistent usage of _WIN32 define
  - Implement MacOS and Unix -mimalloc command-line switch

- Some MacOS changes were contributed by Will.Damon

#rb Brandon.Schaefer, Will.Damon
#preflight 60b4ea613c6c4e000158233e
#rnx

[CL 16512512 by danny couture in ue5-main branch]
2021-06-01 05:35:42 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Steve Robb
0c3302d7cf Some explicit casts to UTF8CHAR, for upcoming changes to that type.
#rb none
#jira none

[CL 16487296 by Steve Robb in ue5-main branch]
2021-05-27 12:45:14 -04:00
robert seiver
7d09c12286 Pull request #7677 to give actual OS version name data instead of previously hardcoded OS name
#jira UE-106398
#review @Brandon.Schaefer
#rb Brandon.Schaefer

[CL 16474875 by robert seiver in ue5-main branch]
2021-05-26 16:28:01 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
brandon schaefer
50c90c0466 Adds support for DnsEligible
For Linux add a command line option to disable exclusive locks on files opened. This is due to a dotnet implemention
https://github.com/dotnet/runtime/issues/34126

#jira UE-110258
[REVIEW] [at]Jonathan.Adamczewski, [at]Michael.Sartain
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 15982440 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15989649 by brandon schaefer in ue5-main branch]
2021-04-13 10:28:24 -04:00
Johan Torp
ae8157b855 Add FPlatformMisc::NormalizePath(FStringBuilderBase&) overload
#rb steve.robb, devin.doucette

[CL 15848637 by Johan Torp in ue5-main branch]
2021-03-29 02:56:56 -04:00
Andriy Tylychko
0a5583a6a9 changed FUnixPlatformMisc::NumberOfWorkerThreadsToSpawn to match the logic for Windows, as it was too pessimistic (outdated) for modern hw with high number of cores. This affects Linux, LinuxAArch64 and platforms derived from them
[CL 15830611 by Andriy Tylychko in ue5-main branch]
2021-03-25 15:58:34 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
axel riffard
73fdd4356c Allow ExecProcess() to be called as a Job Process #fyi danny.couture #rb jack.porter #jira UE-109833 #okforgithub public
#ROBOMERGE-SOURCE: CL 15622789 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15622803 by axel riffard in ue5-main branch]
2021-03-05 05:26:15 -04:00
Martin Ridgers
b8ed8ba3d4 When capturing and reporting callstacks, use the return address of a failure instead of a count of stack frames to trim. The count approach was spread about in many places and fragile to maintain as code changed. This resulted in "noisy" callstacks with distracting boilerplate present like assert dispatch functions.
#rb brandon.schaefer,will.damon,johan.berg
#rnx

#ushell-cherrypick of 15568119 by Martin.Ridgers

[CL 15568152 by Martin Ridgers in ue5-main branch]
2021-03-02 07:48:13 -04:00
geoff evans
5d550cdb3f Add a "Process Diagnostics" flags word that enumerates the presence of various performance-impacting engine and platform diagnostics.
On Windows this checks for the kernel's various memory sanitizers (Set by gflags).

#rb stefan.boberg, martin.ridgers, patrick.laflamme
#jira none
#preflight /job/6036c60db738e90001178f50

#ROBOMERGE-SOURCE: CL 15522505 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15522524 by geoff evans in ue5-main branch]
2021-02-24 18:23:34 -04:00
Patrick Laflamme
8538e11308 Fixed UnixCriticalSection not timing out properly.
#jira UE-108878 - Linux - Random hangs when opening the editor
#rb Brandon.Schaefer

[CL 15495563 by Patrick Laflamme in ue5-main branch]
2021-02-22 18:59:56 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Patrick Laflamme
e1d1ff89fa Fixed POSIX platform (Linux/Unix/Lumin) not honoring the -log= parameter in forked processes.
- Reset the global variable 'CachedAbsoluteFilenamein child process to force reinitialization of the logger.
  - Added a callback to the OutputDeviceFile invoked every time the output file is opened for writing successfully to update the CachedAbsoluteFilename value in case the actual opened filename differ from CachedAbsoluteFilename generated before the file was opened to ensure CrashReporter picks the right log file in case of a crash/ensure.
  - Updated places where GetAbsoluteLogFilename() was called and the value cached to read the latest value instead.

#jira FORT-347771 - Forked child processes on the server have incorrect log file names
#jira UE-92329 - CrashReportClient/CrashReportClientEditor may upload the wrong log file
#rb LouisPhilippe.Seguin

[CL 15417346 by Patrick Laflamme in ue5-main branch]
2021-02-16 09:57:23 -04:00
martin ridgers
21062506bd Context can be null. We still need to respect the type derivation however so we'll create a temporary context
#rb jb
#rnx
#jira UE-108009

#ROBOMERGE-SOURCE: CL 15416852 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15416855 by martin ridgers in ue5-main branch]
2021-02-16 08:22:01 -04:00
Patrick Laflamme
a98b2214e3 On Windows, fixed CRC (out of process mode for Editor) generating an incomplete portable callstack when the crash occurred because a null function pointer was invoked
- When CRC runs out of process, instead of reading the current thread context of the crashed thread, read and use the crash context that was reported during the crash (which is different).
  - Added an optional context parameter to FGenericPlatformStackWalk::CaptureThreadStackBackTrace(), implemented it across all platforms, but only used on Windows.

On Windows, fixed InitStackWalking() and InitStackWalkingForProcess() to reset the process that needs to be walked.
  - CRC, running out of process may run its own process or the Editor process and which ever was walking first ruled out the other.

#jira UE-105006 - [CrashReporter] VCRUNTIME140!7fffce010000 + e390
#rb Johan.Berg
#preflight 15217159

[CL 15319737 by Patrick Laflamme in ue5-main branch]
2021-02-04 14:06:44 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Martin Ridgers
08e6647d50 Added an overload for dumping backtraces to strings that uses an instruction address to condition the callstack as an alternative to a frame-strip count.
Unix-related files are in the changelist because FUnixPlatformStackWalk overrides StackWalkAndDump[Ex]. The compiler won't pick up the overload in FGenericPlatformStackWalk, hence the need to forward for Unix. Coincidentally, the old versions use the context to condition backtraces by program counter. That we can skip out on for these new overloads.

#rb jb
#rnx

[CL 14912279 by Martin Ridgers in ue5-main branch]
2020-12-14 03:36:21 -04:00