- IOStore ucas handles now get freed and reopened as needed when file handle pressure is too great.
- FRegisteredFileHandle now refcounts read requests so it can handle multiple read requests with the same handle at the same time.
- Failure to reopen files is now passed back up as file read failures
- Add some additional logging for FFileHelper errors
- Add error logging explicitly for runningout of PS5 file handles
- Make file handle casts use static_cast
- PS5 file handle now returns -1 for size if fstat fails, this matches windows behavior
- FAPRHandleCache now ignores files outside of /app0. This prevents file churn in /download0 from bloating it.
[REVIEW]
[CL 29846643 by justin marcus in ue5-main branch]
This also fixes the old smaps parser to not incorrectly bail before EOF if fewer bytes were provided than asked for as that's an allowable condition.
#ushell-cherrypick of 29606161 by Dan.Thompson
#ushell-cherrypick of 29607764 by Dan.Thompson
#rb arciel.rekman
[CL 29722985 by dan thompson in ue5-main branch]
(not backing out the fixes to structured logging itself, only its usage)
[FYI] sebastian.schoner
Original CL Desc
-----------------------------------------------------------------
Use structured logging for OutOfMemory messages
Structured logging allows to surface information contained in log lines more easily for automated processes. Out of memory errors are a common thing we'd like to detect and the current detection code has already been broken once.
This CL also contains a change to the structured log for fatal errors. Those were erroneously noted as assertion failures due to an unintended call to Debug::AssertFailed originating via copy-paste from FMsg::LogfImpl. Removing this call ensures that the new log matches the old behavior from unstructured logging (which I have manually verified).
#rb devin.doucette
[CL 29710620 by sebastian schoner in ue5-main branch]
Notes: Pretty low risk, one line change. Should only have impact in memory sharing on Linux servers, no client--side effect. This change effectively restores the mergeable tagging to these types of allocations that was inadvertently lost when Gil refactored memory allocations. Should help Juno.
[REVIEW] [at]zack.neyland
#jira UE-199974
#rb [at]Brandon.Schaefer, [at]Arciel.Rekman, [at]Zack.Neyland
#rnx
#localization none
#tests local editor to make sure we don't crash
#preferred_allowlister jeanfrancois.stamour
[CL 29660772 by james singer in ue5-main branch]
Structured logging allows to surface information contained in log lines more easily for automated processes. Out of memory errors are a common thing we'd like to detect and the current detection code has already been broken once.
This CL also contains a change to the structured log for fatal errors. Those were erroneously noted as assertion failures due to an unintended call to Debug::AssertFailed originating via copy-paste from FMsg::LogfImpl. Removing this call ensures that the new log matches the old behavior from unstructured logging (which I have manually verified).
#rb devin.doucette
[CL 29591079 by sebastian schoner in ue5-main branch]
[Backout] - CL27745134
[FYI] stan.hormell
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL27731288 - CIS / Build Errors
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Deprecated GetSectionPrivate and FindOrAddSection, and accessors in FConfigFile that could return a non-const FConfigSection (this is so we can track modifications to config values)
- Added AddToSection, RemoveKeyFromSection, etc to replace directly accessing a FConfigSection
- Fixed up Epic code for the deprecations (at least the majority, some projects that aren't built by Horde presubmit may have some that we will address going forward)
#jira UE-194955
#rb david.harvey and various others
[CL 27923017 by josh adams in ue5-main branch]
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Deprecated GetSectionPrivate and FindOrAddSection, and accessors in FConfigFile that could return a non-const FConfigSection (this is so we can track modifications to config values)
- Added AddToSection, RemoveKeyFromSection, etc to replace directly accessing a FConfigSection
- Fixed up Epic code for the deprecations (at least the majority, some projects that aren't built by Horde presubmit may have some that we will address going forward)
#jira UE-194955
#rb david.harvey and various others
[CL 27745141 by stan hormell in ue5-main branch]
- Added AddToSection, RemoveKeyFromSection, etc to replace directly accessing a FConfigSection
- Fixed up Epic code for the deprecations (at least the majority, some projects that aren't built by Horde presubmit may have some that we will address going forward)
#jira UE-194955
#rb david.harvey and various others
[CL 27731364 by josh adams in ue5-main branch]
* If SA_SIGINFO is specified in sa_flags, then sa_sigaction (instead of sa_handler) specifies the signal-handling function
Added sigaction failure check
[CL 26127222 by urias rooney in ue5-main branch]
- This allows them to be found in logs of all platforms and forked servers.
#rb Josh.Adams
[REVIEW] [at]Josh.Adams
[CL 25862221 by arciel rekman in ue5-main branch]