Description

Following my repro, I hit an ensure and crash. The two times I tried to repro after my first crash resulted in different call stacks. I'll comment the other Jiras once I have them in.

One of my crashes had the same callstack as [Link Removed] which was closed as Cannot Reproduce.

Steps to Reproduce

Repro:

  1. Sync QAGame to the same CL as the latest binary build.
  2. Open a copy of QAGame with the latest binary build
  3. In the Content Browser, find the C++ class QAHotReloadUPROP and created a C++ derived from it named CowCPP
  4. Right click on CowCPP and create a Blueprint class based on CowCPP and name it CowBP.
  5. Place an instance of CowBP into the level.
  6. Switch to Visual Studio and add the following code to CowCPP.h below the GENERATED_BODY() macro:
    public:
    UPROPERTY(Category = ThingsAndStuff, BlueprintReadWrite, EditAnywhere) float Stealthiness;
    	
    UPROPERTY(Category = ThingsAndStuff, BlueprintReadOnly) bool KingCow;
  7. Click the compile button in UE4Editor
  8. Open CowBP in the Blueprint subeditor and focus the Event Graph
  9. Right click in the event graph, search for the category "things", and place the following nodes in he event graph:
    1. "Get King Cow" node
    2. "Get Stealthiness" node
    3. "Set Stealthiness" node
  10. In CowCPP.h, change Stealthiness to Stealth, and set it equal to 3.0f.
    UPROPERTY(Category = ThingsAndStuff, BlueprintReadWrite, EditAnywhere) float Stealth = 3.0f;
  11. Click the Compile button in the editor.

Result:
UE4Editor crashes while trying to HotReload.

Expected:
Project is able to HotReload without crashing.

Frequency:
3/3

Callstack
LogClass: Could not find existing class CowCPP in package /Script/QAGame for HotReload, assuming new class
LogClass: ETestResult HotReload.
LogClass: ETestNativeEnum HotReload.
LogClass: EPolyphonyMode HotReload.
LogClass: EWaveform HotReload.
LogClass: TestNativeStruct HotReload.
LogClass: QASkeletalMeshMergeParams HotReload.
LogClass: QASkelMeshMergeUVTransformMapping HotReload.
LogClass: QASkelMeshMergeUVTransform HotReload.
LogClass: QASkelMeshMergeSectionMapping HotReload.
LogClass: TakeHitInfo HotReload.
LogHotReload: Re-instancing CowCPP after hot-reload.
LogStats: FPlatformStackWalk::StackWalkAndDump -  6.244 s
LogOutputDevice:Error: === Handled ensure: ===
LogOutputDevice:Error: 
LogOutputDevice:Error: Ensure condition failed: EditorEngine != nullptr [File:D:\Build\++UE4+Release-4.15+Compile\Sync\Engine\Source\Editor\Kismet\Private\BlueprintEditor.cpp] [Line: 3192]
LogOutputDevice:Error: 
LogOutputDevice:Error: Stack: 
LogOutputDevice:Error: UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:200]
LogOutputDevice:Error: UE4Editor-Core.dll!FDebug::EnsureFailed() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:233]
LogOutputDevice:Error: UE4Editor-Core.dll!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:360]
LogOutputDevice:Error: UE4Editor-Kismet.dll!FBlueprintEditor::OnBlueprintCompiled() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\kismet\private\blueprinteditor.cpp:3192]
LogOutputDevice:Error: UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(UBlueprint * __ptr64)>::Execute() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
LogOutputDevice:Error: UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(UBlueprint * __ptr64)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:434]
LogOutputDevice:Error: UE4Editor-Engine.dll!TBaseMulticastDelegate<void,UBlueprint * __ptr64>::Broadcast() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
LogOutputDevice:Error: UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:891]
LogOutputDevice:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::CompileChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:629]
LogOutputDevice:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:756]
LogOutputDevice:Error: UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClass() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1260]
LogOutputDevice:Error: UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClasses() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1247]
LogOutputDevice:Error: UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:648]
LogOutputDevice:Error: UE4Editor-CoreUObject.dll!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
LogOutputDevice:Error: UE4Editor-CoreUObject.dll!UClassReplaceHotReloadClasses() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:720]
LogOutputDevice:Error: UE4Editor-CoreUObject.dll!ProcessNewlyLoadedUObjects() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:858]
LogOutputDevice:Error: UE4Editor-CoreUObject.dll!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:1027]
LogOutputDevice:Error: UE4Editor-Core.dll!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
LogOutputDevice:Error: UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:471]
LogOutputDevice:Error: UE4Editor-Core.dll!FModuleManager::LoadModule() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:330]
LogOutputDevice:Error: UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:856]
LogOutputDevice:Error: UE4Editor-HotReload.dll!UE4Function_Private::TFunctionRefCaller<<lambda_845f9b2944b03bbc30be1e1f4a8d7f4b>,void __cdecl(TMap<FString,FString,FDefaultSetAllocator,TDefaultMapKeyFuncs<FString,FString,0> > const & __ptr64,bool,enum ECompilationResult::Type)>::Call() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\templates\function.h:245]
LogOutputDevice:Error: UE4Editor-HotReload.dll!FHotReloadModule::CheckForFinishedModuleDLLCompile() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1905]
LogOutputDevice:Error: UE4Editor-HotReload.dll!FHotReloadModule::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:594]
LogOutputDevice:Error: UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1236]
LogOutputDevice:Error: UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
LogOutputDevice:Error: UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
LogOutputDevice:Error: UE4Editor.exe!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
LogOutputDevice:Error: UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
LogOutputDevice:Error: UE4Editor.exe!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
LogOutputDevice:Error: UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
LogOutputDevice:Error: KERNEL32.DLL!0x00000000297A8364
LogOutputDevice:Error: ntdll.dll!0x000000002C1870D1
LogOutputDevice:Error: 
LogStats:                SubmitErrorReport -  0.000 s
LogStats:                    SendNewReport -  0.216 s
LogStats:             FDebug::EnsureFailed -  6.479 s
LogCrashTracker: 


LogCrashTracker: 


LogWindows:Error: === Critical error: ===
LogWindows:Error: 
LogWindows:Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffff
LogWindows:Error: 
LogWindows:Error: UE4Editor-Core.dll!rml::internal::Block::findObjectSize()
LogWindows:Error: UE4Editor-Core.dll!FMallocTBB::Realloc() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\hal\malloctbb.cpp:73]
LogWindows:Error: UE4Editor-UnrealEd.dll!TInlineAllocator<1,FDefaultAllocator>::ForElementType<FDelegateBase>::ResizeAllocation() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\containers\containerallocationpolicies.h:520]
LogWindows:Error: UE4Editor-UnrealEd.dll!FMulticastDelegateBase<FWeakObjectPtr>::AddInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\multicastdelegatebase.h:113]
LogWindows:Error: UE4Editor-UnrealEd.dll!TBaseMulticastDelegate<void,TMap<UObject * __ptr64,UObject * __ptr64,FDefaultSetAllocator,TDefaultMapKeyFuncs<UObject * __ptr64,UObject * __ptr64,0> > const & __ptr64>::AddRaw<`FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner'::`2'::FObjectRemappingHelper>() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:730]
LogWindows:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1536]
LogWindows:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReplaceInstancesOfClass() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1476]
LogWindows:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceInner() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:682]
LogWindows:Error: UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:913]
LogWindows:Error: UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClass() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1260]
LogWindows:Error: UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClasses() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1247]
LogWindows:Error: UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:648]
LogWindows:Error: UE4Editor-CoreUObject.dll!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
LogWindows:Error: UE4Editor-CoreUObject.dll!UClassReplaceHotReloadClasses() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:720]
LogWindows:Error: UE4Editor-CoreUObject.dll!ProcessNewlyLoadedUObjects() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:858]
LogWindows:Error: UE4Editor-CoreUObject.dll!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:1027]
LogWindows:Error: UE4Editor-Core.dll!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
LogWindows:Error: UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:471]
LogWindows:Error: UE4Editor-Core.dll!FModuleManager::LoadModule() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:330]
LogWindows:Error: UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:856]
LogWindows:Error: UE4Editor-HotReload.dll!UE4Function_Private::TFunctionRefCaller<<lambda_845f9b2944b03bbc30be1e1f4a8d7f4b>,void __cdecl(TMap<FString,FString,FDefaultSetAllocator,TDefaultMapKeyFuncs<FString,FString,0> > const & __ptr64,bool,enum ECompilationResult::Type)>::Call() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\templates\function.h:245]
LogWindows:Error: UE4Editor-HotReload.dll!FHotReloadModule::CheckForFinishedModuleDLLCompile() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1905]
LogWindows:Error: UE4Editor-HotReload.dll!FHotReloadModule::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:594]
LogWindows:Error: UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1236]
LogWindows:Error: UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
LogWindows:Error: UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
LogWindows:Error: UE4Editor.exe!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
LogWindows:Error: UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
LogWindows:Error: UE4Editor.exe!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
LogWindows:Error: UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
LogWindows:Error: KERNEL32.DLL!0x00000000297A8364
LogWindows:Error: ntdll.dll!0x000000002C1870D1
LogWindows:Error: ntdll.dll!0x000000002C1870D1
LogWindows:Error: 
LogExit: Executing StaticShutdownAfterError
LogWindows: FPlatformMisc::RequestExit(1)

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
ComponentUE - Foundation - Core
Affects Versions4.15
CreatedJan 26, 2017
ResolvedJan 30, 2017
UpdatedJul 14, 2021