Description

Using PostLoad in a class that has a Blueprint derived from it can result in a crash if the Blueprint is saved immediately before and after PIE.

CrashReporter Link: [Link Removed]

Steps to Reproduce
  1. Download the attached project.
    • Sample project provided by the licensee that reported the crash.
  2. Associate the project with your version of Main.
  3. Build the project in Visual Studio.
  4. Open the project in the Editor.
  5. Open the SomeCharacter Blueprint.
  6. Click the Save button.
  7. Click Play to start PIE.
  8. Click Stop to end PIE.
  9. Click the Save button in the SomeCharacter Blueprint again.

RESULT:
The Editor crashes.

EXPECTED:
The Blueprint is saved.

Callstack

MachineId:926CC4CD4DE75FA30341E2895D619D6E
EpicAccountId:a8699c1a4f444c4b8f200c828fa9b9c7

Assertion failed: !HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad) [Link Removed] [Line: 102]
Detaching from existing linker for C:/Users/Tim.Lincoln/Desktop/UE4-detaching-linker-master/UE4-detaching-linker-master/Content/SomeCharacter.uasset while object W1PeriodicRegeneration /Game/SomeCharacter.Default__SomeCharacter_C:EnergyComponent.W1PeriodicRegeneration_1 needs loaded

UE4Editor_Core!FDebug::AssertFailed() [d:\main-builds\stream\engine\source\runtime\core\private\misc\outputdevice.cpp:430]
UE4Editor_CoreUObject!UObject::SetLinker() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectlinker.cpp:102]
UE4Editor_CoreUObject!FLinkerLoad::Detach() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:4159]
UE4Editor_CoreUObject!FLinkerManager::ResetLoaders() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\linkermanager.cpp:112]
UE4Editor_CoreUObject!ResetLoadersForSave() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\linker.cpp:744]
UE4Editor_CoreUObject!UPackage::Save() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\savepackage.cpp:3371]
UE4Editor_UnrealEd!UEditorEngine::Save() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorengine.cpp:3889]
UE4Editor_UnrealEd!UEditorEngine::SavePackage() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorengine.cpp:3946]
UE4Editor_UnrealEd!UEditorEngine::Exec_Obj() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorserver.cpp:4409]
UE4Editor_UnrealEd!UEditorEngine::Exec() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorserver.cpp:5494]
UE4Editor_UnrealEd!UUnrealEdEngine::Exec() [d:\main-builds\stream\engine\source\editor\unrealed\private\unrealedsrv.cpp:744]
UE4Editor_UnrealEd!InternalSavePackage() [d:\main-builds\stream\engine\source\editor\unrealed\private\filehelpers.cpp:2552]
UE4Editor_UnrealEd!FEditorFileUtils::PromptForCheckoutAndSave() [d:\main-builds\stream\engine\source\editor\unrealed\private\filehelpers.cpp:3076]
UE4Editor_UnrealEd!FAssetEditorToolkit::SaveAsset_Execute() [d:\main-builds\stream\engine\source\editor\unrealed\private\toolkits\asseteditortoolkit.cpp:455]
UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,FAssetEditorToolkit,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:321]
UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,FAssetEditorToolkit,0,void __cdecl(void)>::ExecuteIfSafe() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:428]
UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:87]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\multibox\stoolbarbuttonblock.cpp:300]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64>::operator()<>() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstanceinterface_variadics.h:161]
UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter_ExplicitReturnType<FReply,TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64> >() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\tuple.h:128]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl(void)>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:321]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:521]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\main-builds\stream\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:268]
UE4Editor_Slate!<lambda_ec8ed861298bf5f48555d4b39e4a0d00>::operator()() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4502]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_ec8ed861298bf5f48555d4b39e4a0d00> >() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:214]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4505]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4909]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4885]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\main-builds\stream\engine\source\runtime\core\private\windows\windowsapplication.cpp:1430]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\main-builds\stream\engine\source\runtime\core\private\windows\windowsapplication.cpp:1735]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\main-builds\stream\engine\source\runtime\core\private\windows\windowsapplication.cpp:719]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\main-builds\stream\engine\source\runtime\core\private\windows\windowsapplication.cpp:641]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\main-builds\stream\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:884]
UE4Editor!FEngineLoop::Tick() [d:\main-builds\stream\engine\source\runtime\launch\private\launchengineloop.cpp:2594]
UE4Editor!GuardedMain() [d:\main-builds\stream\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.9.24.12
Target Fix4.11
Fix Commit2861930
Main Commit2863046
Release Commit2861930
CreatedDec 14, 2015
ResolvedFeb 10, 2016
UpdatedApr 27, 2018