Description

Unloading level during PIE seems to lead to an editor crash. Most easily reproducible by enabling malloc stomp.

Steps to Reproduce
  1. Enable malloc stomp by adding #define USE_MALLOC_STOMP 1 to the top of MallocStomp.h and recompiling the editor
  2. Add the contents of the content folder in the attached zip to the QAGame project [Link Removed]
  3. Launch QA Game and open BodyCustomization\NewMap1
  4. Play in Selected viewport
  5. Press Shift+F1 to unfocus mouse cursor from the PIE window and select "Cube" in the World Outliner
  6. View the Collision > Collision preset settings for the Cube in the details panel
  7. Click the PIE viewport to return input focus to the game
  8. Press the U key which triggers an unload of the sub-level that contains the cube
  9. If crash doesn't happen, stop PIE and repeat steps 4 through 9. Usually happens in 1 or 2 tries.

 

The developer that reported this bug also provided these alternate repro steps, I have not yet tested:

  1. Enable malloc stomp by adding #define USE_MALLOC_STOMP 1 to the top of MallocStomp.h and recompiling the editor
  2. Add the contents of the content folder in the attached zip to the QAGame project [Link Removed] (different contents than the attachment in the first set of repro steps)
  3. Launch QA Game and open BodyCustomization\NewMap1
  4. Play in Selected viewport
  5. Press Shift+F1 to unfocus mouse cursor from the PIE window and select "Cube" and "Cube2" in the World Outliner
  6. View the Collision > Collision preset settings for the Cube in the details panel
  7. Click the PIE viewport to return input focus to the game
  8. Press the U key which triggers an unload of the sub-level that contains the cube

 

Callstack

Callstack can differ, here are two similar but different callstacks:

LoginId:ef649e274a1c49e7a5bd1cbfab31a724
EpicAccountId:c687981c4d1f4b3499c0bb1908069a2a

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

UE4Editor_PropertyEditor!FPropertyEditor::IsEditConditionMet() [d:\p4\release-4.17\engine\source\editor\propertyeditor\private\presentation\propertyeditor\propertyeditor.cpp:626]
UE4Editor_PropertyEditor!SEditConditionWidget::OnGetEditConditionCheckState() [d:\p4\release-4.17\engine\source\editor\propertyeditor\private\propertyeditorhelpers.cpp:373]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<1,SEditConditionWidget,0,enum ECheckBoxState __cdecl(void)>::Execute() [d:\p4\release-4.17\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Slate!TAttribute<enum ECheckBoxState>::Get() [d:\p4\release-4.17\engine\source\runtime\core\public\misc\attribute.h:137]
UE4Editor_Slate!SCheckBox::OnGetCheckImage() [d:\p4\release-4.17\engine\source\runtime\slate\private\widgets\input\scheckbox.cpp:244]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<1,SCheckBox,0,FSlateBrush const * __ptr64 __cdecl(void)>::Execute() [d:\p4\release-4.17\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Slate!TAttribute<FSlateBrush const * __ptr64>::Get() [d:\p4\release-4.17\engine\source\runtime\core\public\misc\attribute.h:137]
UE4Editor_Slate!SImage::ComputeDesiredSize() [d:\p4\release-4.17\engine\source\runtime\slate\private\widgets\images\simage.cpp:45]
UE4Editor_SlateCore!SWidget::CacheDesiredSize() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:510]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\p4\release-4.17\engine\source\runtime\slatecore\private\widgets\swidget.cpp:493]
UE4Editor_Slate!PrepassWindowAndChildren() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1341]
UE4Editor_Slate!FSlateApplication::DrawPrepass() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1389]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1431]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1188]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1773]
UE4Editor_Slate!FSlateApplication::Tick() [d:\p4\release-4.17\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1591]
UE4Editor!FEngineLoop::Tick() [d:\p4\release-4.17\engine\source\runtime\launch\private\launchengineloop.cpp:3278]
UE4Editor!GuardedMain() [d:\p4\release-4.17\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\p4\release-4.17\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\p4\release-4.17\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
>	UE4Editor-CoreUObject.dll!FWeakObjectPtr::Get() Line 81	C++
 	UE4Editor-DetailCustomizations.dll!FBodyInstanceCustomization::GetDefaultCollisionProvider(const FBodyInstance * BI) Line 44	C++
 	UE4Editor-DetailCustomizations.dll!FBodyInstanceCustomization::GetCollisionProfileComboBoxContent() Line 1035	C++
 	UE4Editor-DetailCustomizations.dll!TMemberFunctionCaller<FBodyInstanceCustomization,FText (__cdecl FBodyInstanceCustomization::*)(void)const __ptr64>::operator()<>() Line 165	C++
 	UE4Editor-DetailCustomizations.dll!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FBodyInstanceCustomization,FText (__cdecl FBodyInstanceCustomization::*)(void)const __ptr64> >(TMemberFunctionCaller<FBodyInstanceCustomization,FText (__cdecl FBodyInstanceCustomization::*)(void)const > && Func) Line 497	C++
 	UE4Editor-DetailCustomizations.dll!TBaseSPMethodDelegateInstance<1,FBodyInstanceCustomization,0,FText __cdecl(void)>::Execute() Line 327	C++
 	UE4Editor-Slate.dll!TBaseDelegate<FText>::Execute() Line 537	C++
 	UE4Editor-Slate.dll!TAttribute<FText>::Get() Line 137	C++
 	UE4Editor-Slate.dll!FTextBlockLayout::ComputeDesiredSize(const FTextBlockLayout::FWidgetArgs & InWidgetArgs, const float InScale, const FTextBlockStyle & InTextStyle) Line 48	C++
 	UE4Editor-Slate.dll!STextBlock::ComputeDesiredSize(float LayoutScaleMultiplier) Line 186	C++
 	UE4Editor-SlateCore.dll!SWidget::CacheDesiredSize(float LayoutScaleMultiplier) Line 519	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-SlateCore.dll!SWidget::SlatePrepass(float LayoutScaleMultiplier) Line 502	C++
 	UE4Editor-Slate.dll!PrepassWindowAndChildren(TSharedRef<SWindow,0> WindowToPrepass) Line 1343	C++
 	UE4Editor-Slate.dll!FSlateApplication::DrawPrepass(TSharedPtr<SWindow,0> DrawOnlyThisWindow) Line 1391	C++
 	UE4Editor-Slate.dll!FSlateApplication::PrivateDrawWindows(TSharedPtr<SWindow,0> DrawOnlyThisWindow) Line 1433	C++
 	UE4Editor-Slate.dll!FSlateApplication::DrawWindows() Line 1190	C++
 	UE4Editor-Slate.dll!FSlateApplication::TickApplication(ESlateTickType TickType, float DeltaTime) Line 1777	C++
 	UE4Editor-Slate.dll!FSlateApplication::Tick(ESlateTickType TickType) Line 1595	C++
 	UE4Editor.exe!FEngineLoop::Tick() Line 3378	C++
 	UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 166	C++
 	UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 199	C++
 	UE4Editor.exe!__scrt_common_main_seh() Line 253	C++
 	kernel32.dll!00007ffa94988364()	Unknown
 	ntdll.dll!00007ffa96ab7091()	Unknown

Have Comments or More Details?

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

0
Login to Vote

Won't Fix
ComponentTools
Affects Versions4.17.24.18.2
CreatedDec 6, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021