Description

Creating a Blueprint interface and changing its function name causes a crash when using the undo button to change the name back.

Steps to Reproduce

User created video included that shows steps to reproduce.

Follow these steps to reproduce with the provided sample project.

  1. Press play and then press X to see the Error/Warnings report pop up
  2. Open the Blueprint Interface and rename the function from TearOff to TearOffa and compile
  3. Go back into the ThirdPersonCharacter Blueprint and press compile
  4. Go up to the edit tab and select Undo a crash should follow

Full steps for clean project.

  1. Create a new Third Person project
  2. Create a new Blueprint Interface
  3. Open the new Blueprint and name the Function "TearOff"
  4. Once renamed click compile and open the ThirdPersonCharacter Blueprint
  5. Click Class Settings and click add under interfaces
  6. From that drop down select NewInterface and then compile
  7. Add a node for Keyboard "X"
  8. Off of the Pressed node add the new interface Tear Off (Interface Call)
  9. Add the Get a reference to self variable
  10. Connect the self variable to the Tear Off replication node
  11. Add the Event Tear Off and connect it to the Tear off function
  12. Compile and then press play
  13. Press X to see the Error/Warnings report pop up
  14. Open the Blueprint Interface and rename the function from TearOff to TearOffa and compile
  15. Go back into the ThirdPersonCharacter Blueprint and press compile
  16. Go up to the edit tab and select Undo a crash should follow
Callstack

LoginId:2425c04a4245ea67c3691fbe9144aff0
EpicAccountId:6b50d04f360f4c7587a1171ba17d6a2a

Assertion failed: ExistingPin && *ExistingPin [Link Removed] [Line: 1787]

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
UE4Editor_Engine!UEdGraphPin::SerializePin() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1789]
UE4Editor_Engine!UEdGraphPin::SerializePinArray() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1671]
UE4Editor_Engine!UEdGraphPin::Serialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1502]
UE4Editor_Engine!UEdGraphPin::SerializePin() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1831]
UE4Editor_Engine!UEdGraphPin::SerializePinArray() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:1671]
UE4Editor_Engine!UEdGraphNode::Serialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\edgraph\edgraphnode.cpp:443]
UE4Editor_BlueprintGraph!UK2Node::Serialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\blueprintgraph\private\k2node.cpp:115]
UE4Editor_BlueprintGraph!UK2Node_CallFunction::Serialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\blueprintgraph\private\k2node_callfunction.cpp:1873]
UE4Editor_UnrealEd!FTransaction::FObjectRecord::SerializeContents() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editortransaction.cpp:150]
UE4Editor_UnrealEd!FTransaction::FObjectRecord::Load() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editortransaction.cpp:194]
UE4Editor_UnrealEd!FTransaction::Apply() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editortransaction.cpp:460]
UE4Editor_UnrealEd!UTransBuffer::Undo() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editortransaction.cpp:891]
UE4Editor_UnrealEd!UEditorEngine::Exec_Transaction() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editorserver.cpp:5046]
UE4Editor_UnrealEd!UEditorEngine::Exec() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editorserver.cpp:5493]
UE4Editor_UnrealEd!UUnrealEdEngine::Exec() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\unrealedsrv.cpp:672]
UE4Editor_MainFrame!FMainFrameActionCallbacks::ExecuteExecCommand() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\mainframe\private\frame\mainframeactions.cpp:1014]
UE4Editor_MainFrame!TBaseStaticDelegateInstance<void __cdecl(void),FString>::ExecuteIfSafe() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:1027]
UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:97]
UE4Editor_Slate!SMenuEntryBlock::OnClicked() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:1028]
UE4Editor_Slate!SMenuEntryBlock::OnMenuItemButtonClicked() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:988]
UE4Editor_Slate!TMemberFunctionCaller<SMenuEntryBlock,FReply (__cdecl SMenuEntryBlock::*)(void) __ptr64>::operator()<>() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
UE4Editor_Slate!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SMenuEntryBlock,FReply (__cdecl SMenuEntryBlock::*)(void) __ptr64> >() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\templates\tuple.h:497]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,FReply __cdecl(void)>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:282]
UE4Editor_Slate!SMenuEntryButton::OnMouseButtonUp() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:385]
UE4Editor_Slate!<lambda_1002768c627006711ef2f351a87ec0e7>::operator()() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5263]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_1002768c627006711ef2f351a87ec0e7> >() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:234]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5252]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5750]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5730]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1725]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2171]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:888]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:725]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:129]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3220]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.17.24.18.14.19
Target Fix4.19
Fix Commit3795255
Main Commit3804136
Release Commit3813083
CreatedNov 29, 2017
ResolvedDec 7, 2017
UpdatedApr 27, 2018