Crash on undo with SpawnActor node that uses a reroute pin in class wire.
"It looks like the variable promotion marks the blueprint as structurally modified, which triggers a skeleton compile, which causes the knot to propagate it's type, which causes the SpawnActorFromClass to respond to its class pin changing and knocks-on the class-specific pins, which gets caught up in the transaction buffer, etc... When undo applies the transaction, the load-half of the Apply performs serialization which trashes pins via SerializePinArray (it looks like due to an ArrayNum mismatch from the previously mentioned sequence of actions.) Later, serialization occurs again due to the post-undo code marking the blueprint as structurally modified, which hits a check-crash in SerializePinArray due to a trashed pin."
Also Occuring Main CL 4329255
Result: Crash
Slightly different result in Main: Wire to instigator pin will disappear after undo (pin will still show as connected) Crash will occur if you mouse over instigator var get node or try to recompile.
Assertion failed: !PinRef->bWasTrashed [Link Removed] [Line: 1843]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:425]
UE4Editor_Engine!UEdGraphPin::SerializePin() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1843]
UE4Editor_Engine!UEdGraphPin::SerializePinArray() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1789]
UE4Editor_Engine!UEdGraphPin::Serialize() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1603]
UE4Editor_Engine!UEdGraphPin::SerializePin() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1964]
UE4Editor_Engine!UEdGraphPin::SerializePinArray() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1789]
UE4Editor_Engine!UEdGraphNode::Serialize() [d:\build\++ue4\sync\engine\source\runtime\engine\private\edgraph\edgraphnode.cpp:176]
UE4Editor_BlueprintGraph!UK2Node::Serialize() [d:\build\++ue4\sync\engine\source\editor\blueprintgraph\private\k2node.cpp:116]
UE4Editor_BlueprintGraph!UK2Node_Variable::Serialize() [d:\build\++ue4\sync\engine\source\editor\blueprintgraph\private\k2node_variable.cpp:31]
UE4Editor_CoreUObject!StaticDuplicateObjectEx() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2094]
UE4Editor_UnrealEd!FEdGraphUtilities::CloneGraph() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\edgraphutilities.cpp:223]
UE4Editor_UnrealEd!FEdGraphUtilities::CloneAndMergeGraphIn() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\edgraphutilities.cpp:266]
UE4Editor_KismetCompiler!FKismetCompilerContext::MergeUbergraphPagesIn() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2904]
UE4Editor_KismetCompiler!FKismetCompilerContext::CreateAndProcessUbergraph() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3138]
UE4Editor_KismetCompiler!FKismetCompilerContext::CreateFunctionList() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3683]
UE4Editor_KismetCompiler!FKismetCompilerContext::CompileClassLayout() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3935]
UE4Editor_KismetCompiler!FKismet2CompilerModule::CompileBlueprintInner() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:132]
UE4Editor_KismetCompiler!FKismet2CompilerModule::CompileBlueprint() [d:\build\++ue4\sync\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:219]
UE4Editor_UnrealEd!FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:2126]
UE4Editor_Kismet!FixSubObjectReferencesPostUndoRedo() [d:\build\++ue4\sync\engine\source\editor\kismet\private\blueprinteditormodule.cpp:139]
UE4Editor_UnrealEd!UEditorEngine::BroadcastPostUndo() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:5071]
UE4Editor_UnrealEd!UEditorEngine::HandleTransactorUndo() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:1191]
UE4Editor_UnrealEd!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,void __cdecl(FUndoSessionContext,bool)>::ExecuteIfSafe() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:657]
UE4Editor_UnrealEd!TBaseMulticastDelegate<void,FUndoSessionContext,bool>::Broadcast() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_UnrealEd!UTransBuffer::Undo() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editortransaction.cpp:1253]
UE4Editor_UnrealEd!UEditorEngine::UndoTransaction() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:1380]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:345]
UE4Editor_Slate!FUICommandList::ConditionalProcessCommandBindings() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:216]
UE4Editor_Slate!FUICommandList::ProcessCommandBindings() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:160]
UE4Editor_UnrealEd!FBaseToolkit::ProcessCommandBindings() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\toolkits\basetoolkit.cpp:74]
UE4Editor_UnrealEd!SStandaloneAssetEditorToolkitHost::OnKeyDown() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\toolkits\sstandaloneasseteditortoolkithost.cpp:324]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_2afcd964c763e269e2d1a63f3a72f846> >() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:268]
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5041]
UE4Editor_Slate!FSlateApplication::OnKeyDown() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4953]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1571]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2182]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:895]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:732]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:129]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3417]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
kernel32
ntdll
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-63675 in the post.
2 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.19.2, 4.20.2, 4.21 |
Target Fix | 4.21 |
Created | Sep 4, 2018 |
---|---|
Resolved | Oct 11, 2018 |
Updated | Oct 15, 2018 |