The project I’m working on used to compile in less than 6s, now it takes around 100s eventhough the code base is about the same size.
Hotreload takes a lot longer than usual, and memory usage goes way up when Holtreload starts running and the editor becomes extremely crash prone (an editor crash happens within 20s after the hotreload).
The only warning I get in the log is this :
LogOutputDevice:Warning: === Handled error: ===
Ensure condition failed: InvocationList[ CurFunctionIndex ] != InDelegate [File:D:\Program Files\Epic Games\4.12\Engine\Source\Runtime\Core\Public\UObject\ScriptDelegates.h] [Line: 503]
Stack:
UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:183]
UE4Editor-Core.dll!FDebug::EnsureFailed() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:327]
UE4Editor-Core.dll!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:451]
UE4Editor-NamelessProject-362.dll
UE4Editor-NamelessProject-362.dll
UE4Editor-NamelessProject-362.dll
UE4Editor-CoreUObject.dll!FObjectInitializer::PostConstructInit() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2611]
UE4Editor-CoreUObject.dll!FObjectInitializer::~FObjectInitializer() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2476]
UE4Editor-CoreUObject.dll!StaticConstructObject_Internal() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2982]
UE4Editor-CoreUObject.dll!FObjectInstancingGraph::GetInstancedSubobject() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\corenative.cpp:190]
UE4Editor-CoreUObject.dll!FObjectInstancingGraph::InstancePropertyValue() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\corenative.cpp:263]
UE4Editor-CoreUObject.dll!UObjectPropertyBase::InstanceSubobjects() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\propertybaseobject.cpp:34]
UE4Editor-CoreUObject.dll!UStruct::InstanceSubobjectTemplates() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:2265]
UE4Editor-CoreUObject.dll!FObjectInitializer::InstanceSubobjects() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2726]
UE4Editor-CoreUObject.dll!FObjectInitializer::PostConstructInit() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2610]
UE4Editor-CoreUObject.dll!FObjectInitializer::~FObjectInitializer() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2476]
UE4Editor-CoreUObject.dll!UClass::CreateDefaultObject() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:3344]
UE4Editor-CoreUObject.dll!UClass::GetDefaultObject() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\public\uobject\class.h:2199]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::FinishCompilingClass() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:1905]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::Compile() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3431]
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprintInner() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:100]
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprint() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:203]
UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:756]
UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::CompileChildren() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:519]
UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:637]
UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClass() [d:\build\++ue4+release-4.12+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1183]
UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClasses() [d:\build\++ue4+release-4.12+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1170]
UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:642]
UE4Editor-CoreUObject.dll!UClassReplaceHotReloadClasses() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:674]
UE4Editor-CoreUObject.dll!ProcessNewlyLoadedUObjects() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:821]
UE4Editor-CoreUObject.dll!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:1021]
UE4Editor-Core.dll!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:921]
UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:461]
UE4Editor-Core.dll!FModuleManager::LoadModule() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:322]
UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal() [d:\build\++ue4+release-4.12+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:770]
UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadFromIDE() [d:\build\++ue4+release-4.12+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1393]
UE4Editor-HotReload.dll!FHotReloadModule::Tick() [d:\build\++ue4+release-4.12+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1329]
UE4Editor-Core.dll!FTicker::Tick() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\containers\ticker.cpp:79]
UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2879]
UE4Editor.exe!GuardedMain() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\launch.cpp:148]
UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor.exe!WinMain() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
KERNEL32.DLL
ntdll.dll
ntdll.dll
I once had a problem like this and it was due to using delegates without UFUNCTION tags.
Now I can’t figure out the source of the problem.
Anyone has any idea ?
Using 4.12.5, windows 10 64b.