Commit Graph

177 Commits

Author SHA1 Message Date
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
Patrick Laflamme
337e356390 Fixed FUnixSystemWideCriticalSection to always honor the timeout parameter passed at construction (because flock() could block indefinitely).
#rb Brandon.Schaefer

[CL 14891122 by Patrick Laflamme in ue5-main branch]
2020-12-09 15:56:30 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Matt Kuhlenschmidt
603a4119c5 Fix HAL/PlatformFileManager.h non-portable casing CIS issues
#rb none

[CL 13214257 by Matt Kuhlenschmidt in ue5-main branch]
2020-05-06 17:58:18 -04:00
louisphilippe seguin
d337bc1b53 Allow CurlHTTPManager to be multithreaded on forked servers
* Can be disabled via -DisableForkedHTTPThread on the commandline

Added FForkedProcessHelper::IsForkedChildProcess() that tells if you are a forked process or not.

#rb Jon.Nabozny, Michael.Kirzinger

#ROBOMERGE-SOURCE: CL 13150443 via CL 13164796 via CL 13164895 via CL 13164946 via CL 13165141
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13165206 by louisphilippe seguin in Main branch]
2020-05-05 00:39:07 -04:00
bart hawthorne
d7c163a80a Change default linux directory permissions to 775 from 755.
#rb arciel.rekman, brandon.schaefer

#ROBOMERGE-OWNER: bart.hawthorne
#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 13006272 via CL 13006366 via CL 13006387 via CL 13006397
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 13006398 by bart hawthorne in Main branch]
2020-04-23 09:49:41 -04:00
louisphilippe seguin
2f61f8674d Unix
* Fix FUnixPlatformMemory::GetStats() that always returned 0 when memory was over 10.24gigs

#rb brandon.schaefer

#ROBOMERGE-SOURCE: CL 12666533 via CL 12666534 via CL 12666535 via CL 12666536 via CL 12666539 via CL 12666541
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12666544 by louisphilippe seguin in Main branch]
2020-04-07 18:56:26 -04:00
kenzo terelst
5b7560be1b Editgrate fixes from Dev-Rendering
- Add static cleanup function for platform specific files which are used by the CrashContext
- Move CrashVideo.avi to platform specific cleanup function
- ReportGPUCrash on Windows raised exception via Try/Catch because function can be called when the guarded entry is not set

#rb Johan.Berg

#ROBOMERGE-SOURCE: CL 12508002 via CL 12508003 via CL 12508004
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12508009 by kenzo terelst in Main branch]
2020-04-01 12:41:12 -04:00
louisphilippe seguin
dd6fcdb609 Removed delta mem comparisons for master process memory between each fork since was confirmed to always be 0.
#rb trivial

#ROBOMERGE-SOURCE: CL 12496172 via CL 12496173 via CL 12496174 via CL 12496175
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12496179 by louisphilippe seguin in Main branch]
2020-03-31 09:26:41 -04:00
louisphilippe seguin
17a5d4dda3 Fix overflow in fork memory logs when mem delta is negative.
#rb [at]Brian.Bekich

#ROBOMERGE-SOURCE: CL 12473962 via CL 12473970 via CL 12473975 via CL 12473982
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12473988 by louisphilippe seguin in Main branch]
2020-03-27 15:40:44 -04:00