Description

A licensee has reported that Custom Structs can cause a crash when using StompMalloc under certain situations.

Regression?: No
This occurs in 4.20

Steps to Reproduce
  1. Open a new project
  2. Create an Actor Component blueprint named Component_Parent
  3. Create a child class of Component_Parent named Component_Child
  4. Create a new User Defined Struct called My_Custom_Struct
  5. Add a new variable to the struct created in step 4 and change its type to be a class reference to Component_Parent, setting its default value to Component_Parent
  6. Create an Actor blueprint called Actor_To_Place, add a variable and change its class to My_Custom_Struct and change the value of its variable to Component_Child
  7. Save all and close the project.
  8. Open Command Prompt and run the following command (change to the path you're using)
     "D:\Epic Games\UE_4.20\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\4.20\StompTest" -stompmalloc 
  9. Drag Actor_To_Place into the level
    Result: The editor crashes with the callstack below
    Expected: The actor is added to the level properly
Callstack
 Access violation - code c0000005 (first/second chance not available)

UE4Editor_CoreUObject!UObjectProperty::GetObjectPropertyValue() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\propertyobject.cpp:153]
UE4Editor_CoreUObject!FLinkerPlaceholderObjectImpl::ResolvePlaceholderValues() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerplaceholderbase.cpp:82]
UE4Editor_CoreUObject!FLinkerPlaceholderBase::ResolvePlaceholderPropertyValues() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerplaceholderbase.cpp:514]
UE4Editor_CoreUObject!FLinkerPlaceholderBase::ResolveAllPlaceholderReferences() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerplaceholderbase.cpp:434]
UE4Editor_CoreUObject!TLinkerImportPlaceholder<UClass>::ResolveAllPlaceholderReferences() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerplaceholderbase.inl:63]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDependencyPlaceholder() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:1586]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:1360]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:1376]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3550]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:4244]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:4467]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3864]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2925]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3087]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1364]
UE4Editor_CoreUObject!LoadPackage() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1471]
UE4Editor_CoreUObject!ResolveName() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:828]
UE4Editor_CoreUObject!StaticLoadObjectInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:916]
UE4Editor_CoreUObject!StaticLoadObject() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:983]
UE4Editor_UnrealEd!FAssetDragDropOp::Init() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\draganddrop\assetdragdropop.cpp:215]
UE4Editor_UnrealEd!FAssetDragDropOp::New() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\draganddrop\assetdragdropop.cpp:49]
UE4Editor_ContentBrowser!SAssetView::OnDraggingAssetItem() [d:\build\++ue4\sync\engine\source\editor\contentbrowser\private\sassetview.cpp:4088]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,FReply __cdecl(FGeometry const & __ptr64,FPointerEvent const & __ptr64)>::Execute() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:269]
UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnDragDetected() [d:\build\++ue4\sync\engine\source\runtime\slate\public\widgets\views\stablerow.h:562]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FDirectPolicy,FPointerEvent,<lambda_3d2f0c0de9bfb1f26dd3fbfeef226ad5> >() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:268]
UE4Editor_Slate!FSlateApplication::RoutePointerMoveEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5628]
UE4Editor_Slate!FSlateApplication::ProcessMouseMoveEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6194]
UE4Editor_Slate!FSlateApplication::OnMouseMove() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6128]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1774]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2182]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:895]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:732]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:129]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3417]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
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-70072 in the post.

2
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.204.214.224.23
Target Fix4.22
Fix Commit5241461
Main Commit5241466
Release Commit5241461
CreatedFeb 14, 2019
ResolvedFeb 28, 2019
UpdatedMar 23, 2019