Description

A packaged project will crash on launch if a code class uses ConstructorHelpers::FClassFinder to get a reference to a Blueprint Widget that contains a Blueprint struct variable. Disabling EDL in the project settings allows the packaged project to launch successfully.

REGRESSION:
Yes. The packaged project was able to be opened successfully in 4.15.3

Steps to Reproduce
  1. Download the attached test project.
  2. Unzip the project and associate it with your Engine.
  3. Build the project in Visual Studio.
  4. Open Unreal Frontend.
  5. Create a new profile.
  6. Set the new profile to use the test project.
  7. Leave the default Build settings.
  8. Change the Cook settings to Build by the Book.
  9. Select WindowsNoEditor as the cooked platform (no other platforms should be selected).
  10. Expand the Advanced Settings drop down.
  11. Add -nativizeAssets to the Additional Cooker Options field.
  12. Select Package & Store Locally for the Package setting.
  13. Choose a location on your computer for the project to package to.
  14. Do not archive.
  15. Do not deploy.
  16. Exit out of the profile.
  17. Run the profile.
  18. Once Unreal Frontend completes packaging the project, launch the packaged project.

RESULT:
The project fails to launch and a window appears that shows the following error:

Fatal error:
[File:D:\Source\UnrealEngine-4.16.3-release\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp][Line: 651]
Attempt to process /Game/NewUserDefinedStruct/NewUserDefinedStruct before it has been added.

EXPECTED:
The packaged project launches.

WORKAROUND:
Disable the EDL in Project Settings -> Engine -> Streaming -> Package Streaming

Callstack
LogWindows:Error: === Critical error: ===
LogWindows:Error: 
LogWindows:Error: Fatal error: [File:D:\Source\UnrealEngine-4.16.3-release\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 651] 
LogWindows:Error: Attempt to process /Game/NewUserDefinedStruct/NewUserDefinedStruct before it has been added.
LogWindows:Error: 
LogWindows:Error: 
LogWindows:Error: KERNELBASE.dll!0x00000000FD9DA06D
LogWindows:Error: TESTAssert1.exe!FOutputDeviceWindowsError::Serialize() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]
LogWindows:Error: TESTAssert1.exe!FOutputDevice::Logf__VA() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
LogWindows:Error: TESTAssert1.exe!FDebug::AssertFailed() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
LogWindows:Error: TESTAssert1.exe!FEDLBootNotificationManager::NotifyRegistrationEvent() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:651]
LogWindows:Error: TESTAssert1.exe!NotifyRegistrationEvent() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6653]
LogWindows:Error: TESTAssert1.exe!GetStaticStruct() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:463]
LogWindows:Error: TESTAssert1.exe!FNewUserDefinedStruct__pf1010915279::StaticStruct()
LogWindows:Error: TESTAssert1.exe!ConstructDynamicType() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:1252]
LogWindows:Error: TESTAssert1.exe!FAsyncPackage::EventDrivenCreateExport() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:2978]
LogWindows:Error: TESTAssert1.exe!FAsyncPackage::ProcessImportsAndExports_Event() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:3641]
LogWindows:Error: TESTAssert1.exe!FAsyncPackage::Event_ProcessImportsAndExports() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:2706]
LogWindows:Error: TESTAssert1.exe!<lambda_afc3557e6b2162ccc644fd721c5ce4a3>::operator()() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:2490]
LogWindows:Error: TESTAssert1.exe!FAsyncLoadEventQueue::PopAndExecute() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloadingthread.h:102]
LogWindows:Error: TESTAssert1.exe!FAsyncLoadingThread::ProcessAsyncLoading() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4219]
LogWindows:Error: TESTAssert1.exe!FAsyncLoadingThread::TickAsyncThread() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4811]
LogWindows:Error: TESTAssert1.exe!FAsyncLoadingThread::TickAsyncLoading() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4569]
LogWindows:Error: TESTAssert1.exe!FlushAsyncLoading() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6516]
LogWindows:Error: TESTAssert1.exe!LoadPackageInternal() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1130]
LogWindows:Error: TESTAssert1.exe!ResolveName() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:778]
LogWindows:Error: TESTAssert1.exe!StaticLoadObjectInternal() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:865]
LogWindows:Error: TESTAssert1.exe!StaticLoadObject() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:929]
LogWindows:Error: TESTAssert1.exe!StaticLoadClass() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:963]
LogWindows:Error: TESTAssert1.exe!ConstructorHelpersInternal::FindOrLoadClass() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\public\uobject\constructorhelpers.h:86]
LogWindows:Error: TESTAssert1.exe!ConstructorHelpers::FClassFinder<UBlueprint>::FClassFinder<UBlueprint>() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\public\uobject\constructorhelpers.h:160]
LogWindows:Error: TESTAssert1.exe!ATESTAssert1GameModeBase::ATESTAssert1GameModeBase() [d:\unreal projects\current issues\testassert1\source\testassert1\testassert1gamemodebase.cpp:10]
LogWindows:Error: TESTAssert1.exe!UClass::CreateDefaultObject() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\class.cpp:2687]
LogWindows:Error: TESTAssert1.exe!UObjectLoadAllCompiledInDefaultProperties() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:816]
LogWindows:Error: TESTAssert1.exe!ProcessNewlyLoadedUObjects() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:894]
LogWindows:Error: TESTAssert1.exe!FEngineLoop::PreInit() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\launch\private\launchengineloop.cpp:1788]
LogWindows:Error: TESTAssert1.exe!GuardedMain() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\launch\private\launch.cpp:127]
LogWindows:Error: TESTAssert1.exe!GuardedMainWrapper() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
LogWindows:Error: TESTAssert1.exe!WinMain() [d:\source\unrealengine-4.16.3-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
LogWindows:Error: TESTAssert1.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
LogWindows:Error: kernel32.dll!0x00000000779259CD
LogWindows:Error: ntdll.dll!0x0000000077A5A561
LogWindows:Error: ntdll.dll!0x0000000077A5A561
LogWindows:Error: 
LogExit: Executing StaticShutdownAfterError
LogWindows: FPlatformMisc::RequestExit(1)
Log file closed, 08/03/17 14:58:12

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-48034 in the post.

2
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.16.3
Target Fix4.18
Fix Commit3577232
Main Commit3582334
Release Commit3643070
CreatedAug 3, 2017
ResolvedAug 8, 2017
UpdatedApr 27, 2018
Pull Requests
3969 - jimbomcb