1141 Commits

Author SHA1 Message Date
danny couture
3c3365435c [ZenLoader]
- Fix early boot deadlock on cooked build for some platforms

#rb PJ.Kack

[CL 28844884 by danny couture in 5.3 branch]
2023-10-17 13:41:19 -04:00
andrew scheidecker
575bbaf801 Fix for unversioned serialization of arrays of optionals (or other cases where an optional property might be nested in a container).
Also fix a memory leak when doing unversioned serialization of properties with destructors and default values: "loading as zero" doesn't call the destructor on the value being overwritten, and so isn't safe to use for properties that require destruction.
#rb Devin.Doucette, Robert.Manuszewski

[CL 26706194 by andrew scheidecker in 5.3 branch]
2023-07-31 10:47:04 -04:00
andrew scheidecker
81a1fe0a01 Cherry pick various changelists adding FOptionalProperty to CoreUObject.
#ushell-cherrypick of 26132976 by andrew.scheidecker
#ushell-cherrypick of 26180430 by andrew.scheidecker
#ushell-cherrypick of 26180927 by andrew.scheidecker
#ushell-cherrypick of 26184877 by andrew.scheidecker
#ushell-cherrypick of 26281078 by Johan.Torp
#ushell-cherrypick of 26346541 by andrew.scheidecker

[CL 26605123 by andrew scheidecker in 5.3 branch]
2023-07-26 09:52:42 -04:00
Francis Hurteau
a65b82ea75 Truncation warning fixes for CoreUObject
#jira UE-166274, UE-127233
#rb Devin.Doucette, Paul.Chipchase

[CL 26553302 by Francis Hurteau in 5.3 branch]
2023-07-24 15:56:25 -04:00
matt peters
99a470b696 Cooker: DiffWriterArchive: Fix a bug after refactor with FArchiveStackTraceIgnoreScope no longer being respected. Change DiffWriterArchive to report all messages to a message callback rather than logging them directly. Future users of DiffWriterArchive will store the messages rather than logging them.
#rb Zousar.Shaker
#rnx

[CL 26324633 by matt peters in 5.3 branch]
2023-06-29 15:39:12 -04:00
matt peters
0977b18100 FArchiveStackTrace: Deprecate the public interface and move it into a private helper class of DiffPackageWriter.
#rb Zousar.Shaker
#rnx

[CL 26268983 by matt peters in 5.3 branch]
2023-06-27 16:11:26 -04:00
rob perren
fd7a0e8786 Fix zenloader state progression when mixing cooked and uncooked assets
#rnx
#rb PJ.Kack

#ushell-cherrypick of 26178601 by danny.couture to fix issues seen in "Test Content Worker Docker Image Win64"

[CL 26234854 by rob perren in 5.3 branch]
2023-06-26 11:29:03 -04:00
danny couture
3118d8a25c Fix assert in zenloader steps now that we have multiple paths where states can come from
#rnx
#rb Francis.Hurteau

[CL 26129555 by danny couture in 5.3 branch]
2023-06-20 14:32:41 -04:00
robert millar
7e799d29c3 Propagate set of request ids for FlushAsyncLoading into inner loops.
#rb francis.hurteau,danny.couture,pj.kack

[CL 26106853 by robert millar in 5.3 branch]
2023-06-19 17:48:33 -04:00
ben zeigler
91cca48849 CoreUObject deprecation cleanup pass to remove functions and classes deprecated before 5.0
This change does not remove things like PackageGuid that are still used in some cases
#rb matt.peters

[CL 26096387 by ben zeigler in 5.3 branch]
2023-06-19 13:39:27 -04:00
danny couture
be8c0e6160 Fix crash during recursion by splitting nodes and waiting for dependencies instead of having recursive code
- Also prevents constructed objects from being assigned to the wrong package during highly recursive phase

#rnx
#rb Francis.Hurteau, PJ.Kack

[CL 26087881 by danny couture in 5.3 branch]
2023-06-19 08:53:33 -04:00
henrik karlsson
c90d3cb093 [CoreUObject]
* Moved dll export from types to methods/staticvar

#rb none

[CL 25910241 by henrik karlsson in ue5-main branch]
2023-06-10 01:58:50 -04:00
danny couture
ee463518cd Add missing PlayInEditorLoadingScope in zenloader
#rnx
#rb Francis.Hurteau

[CL 25870506 by danny couture in ue5-main branch]
2023-06-08 10:08:21 -04:00
danny couture
5311d0b7f6 Disable postload group in editor as it cause circular dependencies by trying to flush everything instead of only what's necessary
Only preload the current package instead of the whole hierarchy recursively

#rnx
#rb PJ.Kack, Francis.Hurteau
#preflight 64788f45947ff6973c0a1e7c

[CL 25788188 by danny couture in ue5-main branch]
2023-06-05 04:32:48 -04:00
Matt Peters
9337daf49c EditorBulkData: Remove accidentally-submitted debug code.
#fyi Paul.Chipchase
#rb None, trivial
#rnx
#preflight None, trivial

[CL 25716020 by Matt Peters in ue5-main branch]
2023-05-31 17:54:34 -04:00
Wojciech Krywult
d1baf24722 AsyncIO: Fixed incorrect handling of the STAT_AsyncFileMemory stat.
I've reviewed all code using async requests and we had multiple places incorrectly handling the stat: some placed failed to decrease the counter, while others would decrease it when they shouldn't. The main cause was the fact that when we create an async request and pass nullptr as the target memory, the request allocates the memory itself and increases the STAT_AsyncFileMemory. However, when we call GetReadResults() on such requests, the responsibility is on the caller to balance the calls and decrease the stat, which is not very obvious and leads to the mentioned bugs. On top of that, when we call GetReadResults() we may not have the knowledge as to whether the returned memory was allocated by the request or not (which may affect whether we should touch the stat at all).

Resolved by adding IAsyncReadRequest::ReleaseMemoryOwnershipImpl member, which may be used by request implementations to do the proper clean up (balance the stat). This way requests take the full responsibility for their changes and users of the requests don't need to know their implementation details.

#preflight none
#rb Patrick.Laflamme
#jira UE-185064

[CL 25664733 by Wojciech Krywult in ue5-main branch]
2023-05-29 12:11:37 -04:00
kirill zorin
b6ee3a6c64 Fix UE_LOG callsites that have format string-related UB
#rb trivial
#preflight 647107780a6634dbb236a0a6

[CL 25651638 by kirill zorin in ue5-main branch]
2023-05-26 15:52:39 -04:00
danny couture
6d4c3e6e1c Add missing PlayInEditorID scope in zenloader
#rnx
#rb Francis.Hurteau
#preflight trivial

[CL 25644091 by danny couture in ue5-main branch]
2023-05-26 11:59:40 -04:00
francis hurteau
a4583b242d When releasing export bundle process node for a set of depedent packages, release non zen packages containing classes prior to non zen packages that do not.
#rb PJ.Kack, Danny.Couture
#preflight 646e57092c0a5da0dc318f0a

[CL 25630944 by francis hurteau in ue5-main branch]
2023-05-25 17:54:07 -04:00
dan thompson
5f360661f3 Move GuardedInt.h to Core as it's about to be needed elsewhere.
#rb devin.doucette
#preflight 6467a9a52c0a5da0dcd0afa9

[CL 25553319 by dan thompson in ue5-main branch]
2023-05-19 17:51:45 -04:00
zousar shaker
b0d5721dde Initial implementation of DiffOnly mode for ZenServer as Cooked Output Store. Lacking detailed header diffing, but stubbed in for future addition. When using ZenServer as Cooked Output Store the packages use the ZenPackageSummary header format instead of the PackageFileSummary header format. This is how data is stored in ZenServer and the format it is when fetched. Data produced in process is transformed into this format ahead of diffing.
The code for parsing a view of the ZenPackageSummary has been extracted from AsyncLoading2.cpp into a private h/cpp and is possible to use from the header diffing code when printing out detailed diffs, but is not used yet.

#rb matt.peters
#rb pj.kack
#jira UE-175237

[CL 25549055 by zousar shaker in ue5-main branch]
2023-05-19 14:43:02 -04:00
andriy tylychko
9465046a9b fixed buffer overrun in ArchiveStackTrace that was causing mem corruption during cooking
#rb per.larsson
#preflight 64676fa70577c206c78929fc

[CL 25548171 by andriy tylychko in ue5-main branch]
2023-05-19 13:50:49 -04:00
paul chipchase
4335d78604 Deprecate four FBulkData flags that no longer serve any useful purposes: BULKDATA_Unused, BULKDATA_ForceStreamPayload, BULKDATA_SerializeCompressedBitWindow and BULKDATA_BadDataVersion
#rb Per.Larsson
#jira none
#preflight 64674758c571db717b037aaf

- BULKDATA_ForceStreamPayload and BULKDATA_SerializeCompressedBitWindow have not done anything for sometime.
- BULKDATA_BadDataVersion was a bug added some years ago which could've caused DDC pollution. Since then the DDC keys for the problematic assets have been changed several times and there should no longer be any danger.
- BULKDATA_Unused technically works but is unused and there does not seem to be any demand for it. This flag will probably remain deprecated for longer than the others to check for any valid external feedback.

[CL 25541994 by paul chipchase in ue5-main branch]
2023-05-19 06:27:58 -04:00
francis hurteau
a72c1633af Remove DeferredPostLoadGroup ensure validating a wrong assumption
#rb trivial
#preflight 646527e74404e3cdd229c2fa

[CL 25518692 by francis hurteau in ue5-main branch]
2023-05-17 19:10:43 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00