Description

Crash when pressing Ctrl-Z after creating a blueprint function

*This is a regression:

Working in 4.14.3-3249277

Not working in 4.15.0-3299760*

Crash Reporter:

Error message:

Access violation - code c0000005 (first/second chance not available)

Source Context:

  22       
   23       /////////////////////////////////////////////////////
   24       // FLocalKismetCallbacks
   25       
   26       struct FLocalKismetCallbacks
   27       {
   28       	static FText GetObjectName(UObject* Object)
   29       	{
   30       		return (Object != NULL) ? FText::FromString( Object->GetName() ) : LOCTEXT("UnknownObjectName", "UNKNOWN");
   31       	}
   32       
   33       	static FText GetGraphDisplayName(UEdGraph* Graph)
   34       	{
   35       		FGraphDisplayInfo Info;
   36 ***** 		Graph->GetSchema()->GetGraphDisplayInformation(*Graph, /*out*/ Info);
   37       
   38       		return Info.DisplayName;
   39       	}
   40       
   41       	static void RecompileGraphEditor_OnClicked()
   42       	{
   43       		FAssetEditorManager::Get().CloseAllAssetEditors();
   44       		GEngine->DeferredCommands.Add( TEXT( "Module Recompile GraphEditor" ) );
   45       	}
   46       
   47       	static void RecompileKismetCompiler_OnClicked()
   48       	{
   49       		GEngine->DeferredCommands.Add( TEXT( "Module Recompile KismetCompiler" ) );
   50       	}
   51       

Most recent user affected CL: 3299760

Logs:
[Link Removed]
[Link Removed]
[Link Removed]
[Link Removed]

Issue call stack shares some similarities with na


CrashReporter User Descriptions:

  • I pressed Ctrl-Z a few times while editing a function
  • added a function to the scene blueprints, left clicked off of it, crash.
  • Undo after function duplicate
  • Created a function and before entering a name I pressed Ctrl+Z, because I didn't want to add a function.
  • Created new event graph. With the cursor still in the text box to set the initial name, pressed Ctrl-Z Attempted to click in blueprint editor and press Ctrl-Z again.
Steps to Reproduce

1. Open a blank project
2. Create an actor class BP & open it
3. Create a function
4. Press the Enter-key to accept the name
5. Press Ctrl-Z

Results: The engine will immediately crash

Expected: To undo the creation of the function (this is the behavior in 4.14.3)

Callstack
UE4Editor_Kismet!FLocalKismetCallbacks::GetGraphDisplayName() [blueprinteditortabfactories.h:37]
UE4Editor_Kismet!TTupleImpl<TIntegerSequence<unsigned int,0>,UEdGraph * __ptr64>::ApplyAfter<FText() [tuple.h:102]
UE4Editor_Kismet!TBaseStaticDelegateInstance<FText __cdecl() [delegateinstancesimpl.h:958]
UE4Editor_Slate!TBaseDelegate<FText>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!TAttribute<FText>::Get() [attribute.h:137]
UE4Editor_Slate!SDockTab::GetTabLabel() [sdocktab.cpp:683]
UE4Editor_UnrealEd!FUnrealEdMisc::OnUserActivityTabChanged() [unrealedmisc.cpp:1091]
UE4Editor_UnrealEd!FUnrealEdMisc::OnActiveTabChanged() [unrealedmisc.cpp:1079]
UE4Editor_UnrealEd!TBaseRawMethodDelegateInstance<0,FUnrealEdMisc,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:556]
UE4Editor_UnrealEd!TBaseRawMethodDelegateInstance<0,FUnrealEdMisc,void __cdecl() [delegateinstancesimpl.h:646]
UE4Editor_Slate!TBaseMulticastDelegate<void,TSharedPtr<SDockTab,0>,TSharedPtr<SDockTab,0> >::Broadcast() [delegatesignatureimpl.inl:937]
UE4Editor_Slate!FGlobalTabmanager::SetActiveTab() [tabmanager.cpp:1838]
UE4Editor_Slate!SDockingTabWell::RefreshParentContent() [sdockingtabwell.cpp:586]
UE4Editor_Slate!SDockingTabWell::BringTabToFront() [sdockingtabwell.cpp:482]
UE4Editor_Slate!SDockingTabWell::RemoveAndDestroyTab() [sdockingtabwell.cpp:539]
UE4Editor_Slate!SDockTab::RemoveTabFromParent() [sdocktab.cpp:330]
UE4Editor_Slate!SDockTab::RequestCloseTab() [sdocktab.cpp:761]
UE4Editor_Kismet!FTabInfo::JumpToNearestValidHistoryData() [workflowtabmanager.cpp:130]
UE4Editor_Kismet!FDocumentTracker::CleanInvalidTabs() [workflowtabmanager.cpp:646]
UE4Editor_Kismet!FBlueprintEditor::RefreshEditors() [blueprinteditor.cpp:721]
UE4Editor_Kismet!FBlueprintEditor::OnBlueprintChangedImpl() [blueprinteditor.cpp:3194]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_Engine!TBaseMulticastDelegate<void,UBlueprint * __ptr64>::Broadcast() [delegatesignatureimpl.inl:937]
UE4Editor_UnrealEd!FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() [blueprinteditorutils.cpp:2134]
UE4Editor_Kismet!FixSubObjectReferencesPostUndoRedo() [blueprinteditormodule.cpp:164]
UE4Editor_UnrealEd!UEditorEngine::BroadcastPostUndo() [editorserver.cpp:5220]
UE4Editor_UnrealEd!UEditorEngine::HandleTransactorUndo() [editorserver.cpp:1220]
UE4Editor_UnrealEd!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:766]
UE4Editor_UnrealEd!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,void __cdecl() [delegateinstancesimpl.h:856]
UE4Editor_UnrealEd!TBaseMulticastDelegate<void,FUndoSessionContext,bool>::Broadcast() [delegatesignatureimpl.inl:937]
UE4Editor_UnrealEd!UTransBuffer::Undo() [editortransaction.cpp:866]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl() [delegateinstancesimpl.h:433]
UE4Editor_Slate!FUICommandList::ConditionalProcessCommandBindings() [uicommandlist.cpp:216]
UE4Editor_Slate!FUICommandList::ProcessCommandBindings() [uicommandlist.cpp:160]
UE4Editor_UnrealEd!FBaseToolkit::ProcessCommandBindings() [basetoolkit.cpp:74]
UE4Editor_UnrealEd!SStandaloneAssetEditorToolkitHost::OnKeyDown() [sstandaloneasseteditortoolkithost.cpp:338]
UE4Editor_Slate!<lambda_2afcd964c763e269e2d1a63f3a72f846>::operator() [slateapplication.cpp:4681]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_2afcd964c763e269e2d1a63f3a72f846> >() [slateapplication.cpp:238]
UE4Editor_Slate!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_2afcd964c763e269e2d1a63f3a72f846>,FKeyEvent>() [slateapplication.cpp:220]
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() [slateapplication.cpp:4679]
UE4Editor_Slate!FSlateApplication::OnKeyDown() [slateapplication.cpp:4592]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1533]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2120]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:867]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:714]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:980]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:2977]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:264]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.154.16
Target Fix4.15.1
Fix Commit3330105
CreatedFeb 20, 2017
ResolvedMar 2, 2017
UpdatedApr 27, 2018