Hi,
We recently migrated our project from version 2018.1.4 to 2019.2.7 and started using the event based packaging.
We got it working in the editor and in stand alone, but we get a crash on startup in packaged builds, both shipping and development.
I could not find any info about the crashes here on the forum but found a bugfix from version 2019.2.2 that could be related to the callstack we're seeing in the development build:
WG-48745 Fixed: Crash in packaged game with "Assertion failed: AsyncLoadingThread.RecursionNotAllowed"
I have appended the callstack from the development build, the assert that triggers is stripped in shipping so there it crashes further along with another assert.
Any info related to this crash or the bugfix mentioned would be appreciated.
Development Build:
Assertion failed: AsyncLoadingThread.RecursionNotAllowed.Increment() == 1 [File:D:/ws/SB-lowprio/UE4/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 3959]
FactoryGame!AssertFailedImplV() [d:\ws\sb-lowprio\ue4\engine\source\runtime\core\private\misc\assertionmacros.cpp:100]
FactoryGame!FDebug::CheckVerifyFailedImpl() [d:\ws\sb-lowprio\ue4\engine\source\runtime\core\private\misc\assertionmacros.cpp:450]
FactoryGame!FAsyncLoadingThread::ProcessAsyncLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:3984]
FactoryGame!FAsyncLoadingThread::TickAsyncThread() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4820]
FactoryGame!FAsyncLoadingThread::TickAsyncLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4519]
FactoryGame!FAsyncLoadingThread::FlushLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6979]
FactoryGame!LoadPackageInternal() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1111]
FactoryGame!LoadPackage() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1427]
FactoryGame!ResolveName() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:767]
FactoryGame!StaticLoadObjectInternal() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:829]
FactoryGame!StaticLoadObject() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:904]
FactoryGame!FStreamableManager::StreamInternal() [d:\ws\sb-lowprio\ue4\engine\source\runtime\engine\private\streamablemanager.cpp:1105]
FactoryGame!FStreamableManager::StartHandleRequests() [d:\ws\sb-lowprio\ue4\engine\source\runtime\engine\private\streamablemanager.cpp:1297]
FactoryGame!FStreamableManager::RequestAsyncLoad() [d:\ws\sb-lowprio\ue4\engine\source\runtime\engine\private\streamablemanager.cpp:1242]
FactoryGame!FStreamableManager::RequestAsyncLoad() [d:\ws\sb-lowprio\ue4\engine\source\runtime\engine\private\streamablemanager.cpp:1252]
FactoryGame!UAkAssetDataWithMedia::Load() [d:\ws\sb-lowprio\ue4\engine\plugins\wwise\source\akaudio\private\akassetbase.cpp:83]
FactoryGame!UAkAssetDataSwitchContainer::Load() [d:\ws\sb-lowprio\ue4\engine\plugins\wwise\source\akaudio\private\akaudioevent.cpp:76]
FactoryGame!AkEventBasedIntegrationBehavior::AkAudioEvent_Load() [d:\ws\sb-lowprio\ue4\engine\plugins\wwise\source\akaudio\private\integrationbehavior\akeventbasedintegrationbehavior.cpp:292]
FactoryGame!UObject::ConditionalPostLoad() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1071]
FactoryGame!FAsyncPackage::PostLoadObjects() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6357]
FactoryGame!FAsyncPackage::TickAsyncPackage() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:5533]
FactoryGame!FAsyncLoadingThread::ProcessAsyncLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4064]
FactoryGame!FAsyncLoadingThread::TickAsyncThread() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4820]
FactoryGame!FAsyncLoadingThread::TickAsyncLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4519]
FactoryGame!FAsyncLoadingThread::FlushLoading() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6979]
FactoryGame!LoadPackageInternal() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1111]
FactoryGame!LoadPackage() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1427]
FactoryGame!ResolveName() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:767]
FactoryGame!StaticLoadObjectInternal() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:829]
FactoryGame!StaticLoadObject() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:904]
FactoryGame!StaticLoadClass() [d:\ws\sb-lowprio\ue4\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:937]
FactoryGame!UFGGlobalSettings::Initialize() [d:\ws\sb-lowprio\ue4\games\factorygame\source\factorygame\private\fgglobalsettings.cpp:46]
FactoryGame!FFactoryGameModule::StartupModule() [d:\ws\sb-lowprio\ue4\games\factorygame\source\factorygame\private\factorygamemodule.cpp:22]
FactoryGame!FModuleManager::LoadModuleWithFailureReason() [d:\ws\sb-lowprio\ue4\engine\source\runtime\core\private\modules\modulemanager.cpp:423]
FactoryGame!FModuleDescriptor::LoadModulesForPhase() [d:\ws\sb-lowprio\ue4\engine\source\runtime\projects\private\moduledescriptor.cpp:561]
FactoryGame!FProjectManager::LoadModulesForProject() [d:\ws\sb-lowprio\ue4\engine\source\runtime\projects\private\projectmanager.cpp:63]
FactoryGame!FEngineLoop::LoadStartupModules() [d:\ws\sb-lowprio\ue4\engine\source\runtime\launch\private\launchengineloop.cpp:3910]
FactoryGame!FEngineLoop::PreInitPostStartupScreen() [d:\ws\sb-lowprio\ue4\engine\source\runtime\launch\private\launchengineloop.cpp:3272]
FactoryGame!GuardedMain() [d:\ws\sb-lowprio\ue4\engine\source\runtime\launch\private\launch.cpp:127]
FactoryGame!GuardedMainWrapper() [d:\ws\sb-lowprio\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:137]
FactoryGame!WinMain() [d:\ws\sb-lowprio\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:268]
FactoryGame!__scrt_common_main_seh() [d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll