Description

Crash when opening a new level with reopened EditorUtilityWidget after opening and closing it multiple times.

The cause of this issue is that UEditorUtilityWidgetBlueprint :: UpdateRespawnListIfNeeded does NOT completely discard the EditorUtilityWidget's data. This issue will not be reproduced if the following code is added to UEditorUtilityWidgetBlueprint :: UpdateRespawnListIfNeeded.

FLevelEditorModule* LevelEditorModule = FModuleManager::GetModulePtr<FLevelEditorModule>(TEXT("LevelEditor"));
if (LevelEditorModule)
{
TSharedPtr<FTabManager> LevelEditorTabManager = LevelEditorModule->GetLevelEditorTabManager();
if (LevelEditorTabManager.IsValid())
{
LevelEditorTabManager->UnregisterTabSpawner(RegistrationName);
}
}

 

Steps to Reproduce
  1. Create Editor Utility Widget asset
  2. Open the asset using the asset's context menu ( Run Editor Utility Widget  )
  3. Close it
  4. Open again ( Do NOT close )
  5. Open New Level using File->NewLevel
  6. Crash

 

Callstack
  1. Assertion failed: [Link Removed] [Line: 1971] /Temp/Untitled_1.Untitled_1 still around while trying to load new map (Object is not currently rooted)
  2. UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
  3. UE4Editor_Core!FOutputDevice::LogfImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
  4. UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:440]
  5. UE4Editor_UnrealEd!UEditorEngine::CheckForWorldGCLeaks() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:1971]
  6. UE4Editor_UnrealEd!UEditorEngine::EditorDestroyWorld() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:2115]
  7. UE4Editor_UnrealEd!UEditorEngine::Map_Load() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:2472]
  8. UE4Editor_UnrealEd!UEditorEngine::HandleMapCommand() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:6022]
  9. UE4Editor_UnrealEd!UEditorEngine::Exec() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorserver.cpp:5506]
  10. UE4Editor_UnrealEd!UUnrealEdEngine::Exec() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\unrealedsrv.cpp:691]
  11. UE4Editor_UnrealEd!FEditorFileUtils::LoadMap() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\filehelpers.cpp:2399]
  12. UE4Editor_LevelEditor!FLevelEditorActionCallbacks::NewLevel() [d:\build\++ue4\sync\engine\source\editor\leveleditor\private\leveleditoractions.cpp:225]
  13. UE4Editor_LevelEditor!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:813]
  14. UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:99]
  15. UE4Editor_Slate!SMenuEntryBlock::OnClicked() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:1028]
  16. UE4Editor_Slate!SMenuEntryBlock::OnMenuItemButtonClicked() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:988]
  17. UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,FReply __cdecl(void)>::Execute() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:279]
  18. UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\build\++ue4\sync\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:293]
  19. UE4Editor_Slate!SMenuEntryButton::OnMouseButtonUp() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:385]
  20. UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_6c1f6b862bcfb82ea6dcab28fbcc9463> >() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:271]
  21. UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5598]
  22. UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6203]
  23. UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6176]
  24. UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1842]
  25. UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2292]
  26. UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1522]
  27. UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:772]
  28. user32
  29. user32
  30. UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:130]
  31. UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3882]
  32. UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:168]
  33. UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
  34. UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
  35. UE4Editor!__scrt_common_main_seh() [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
  36. kernel32
  37. ntdll

Have Comments or More Details?

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

3
Login to Vote

Fixed
ComponentTools
Affects Versions4.22.2
Target Fix4.23
Fix Commit7232232
Main Commit7232235
Release Commit7232232
CreatedJun 4, 2019
ResolvedJul 8, 2019
UpdatedFeb 11, 2020