Description

Discarding Actor while it is selected on the outliner may cause a crash.

This may be caused by operations from C++ not being listed in the UNDO list, which may refer to unreferenced objects during garbage collection.

Steps to Reproduce
  1. Open the attached project.
  2. Run editor utility widget `/Game/DeleteActorのEditorUtilityWidget`.
  3. Press "DeleteSelectedActor" button.
  4. Open menu [Edit]->[Undo History]
  5. Select and delete "Add Actor" in Undo History list.
  6. Execute console command "obj gc" in output log window.

Then, cause crash.

 

Callstack
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000018UnrealEditor_CoreUObject!UObjectBaseUtility::GetFullName() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBaseUtility.cpp:107]
UnrealEditor_CoreUObject!UObjectBaseUtility::GetFullName() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBaseUtility.cpp:91]
UnrealEditor_Engine!TTypedElementInternalData<FActorElementData>::GetDebugId() [D:\build\++UE5\Sync\Engine\Source\Runtime\TypedElementFramework\Public\Elements\Framework\TypedElementData.h:331]
UnrealEditor_Engine!FTypedElementInternalData::CheckNoExternalReferencesOnDestruction() [D:\build\++UE5\Sync\Engine\Source\Runtime\TypedElementFramework\Public\Elements\Framework\TypedElementData.h:276]
UnrealEditor_Engine!UTypedElementRegistry::TRegisteredElementType<FActorElementData,1>::ProcessDeferredElementsToRemove() [D:\build\++UE5\Sync\Engine\Source\Runtime\TypedElementFramework\Public\Elements\Framework\TypedElementRegistry.h:469]
UnrealEditor_TypedElementFramework!UTypedElementRegistry::ProcessDeferredElementsToDestroy() [D:\build\++UE5\Sync\Engine\Source\Runtime\TypedElementFramework\Private\Elements\Framework\TypedElementRegistry.cpp:149]
UnrealEditor_TypedElementFramework!UTypedElementRegistry::OnEndFrame() [D:\build\++UE5\Sync\Engine\Source\Runtime\TypedElementFramework\Private\Elements\Framework\TypedElementRegistry.cpp:334]
UnrealEditor_TypedElementFramework!TBaseUObjectMethodDelegateInstance<0,UTypedElementRegistry,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:611]
UnrealEditor!TMulticastDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Broadcast() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:967]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5459]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

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

1
Login to Vote

Unresolved
ComponentUE - Editor - Framework
Affects Versions5.0
Target Fix5.2
CreatedJul 1, 2022
UpdatedSep 30, 2022