A couple of months ago, the UE4 editor started crashing sometimes after compilation and hot reload. It doesn’t happen always and I don’t know what affects whether it does or doesn’t, but it seems that saving doing Save All prior to compiling lowers the chance of it crashing. Overall it happens after about every second or third compilation.
I’ve been ignoring it since it started happening, but I’ve been doing a lot of coding lately and it got really annoying, so I finally decided to solve this, but I couldn’t make sense of the error log. It doesn’t seem to be caused by any custom code or content, but it’s exclusive to a single project. It has been happening since 4.16 and updating didn’t solve the problem. I’ll try updating to 4.18 soon but I highly doubt that it will have any effect either.
Here’s the error log:
Assertion failed: IsValid() [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Core\Public\Templates/SharedPointer.h] [Line: 824]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_Engine!UHierarchicalInstancedStaticMeshComponent::Serialize() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\engine\private\hierarchicalinstancedstaticmesh.cpp:1814]
UE4Editor_CoreUObject!FArchiveHasReferences::FArchiveHasReferences() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\serialization\archivehasreferences.cpp:46]
UE4Editor_CoreUObject!FArchiveHasReferences::GetAllReferencers() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\serialization\archivehasreferences.cpp:87]
UE4Editor_CoreUObject!FArchiveHasReferences::GetAllReferencers() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\serialization\archivehasreferences.cpp:68]
UE4Editor_UnrealEd!FReplaceReferenceHelper::FindAndReplaceReferences() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:89]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:2025]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::BatchReplaceInstancesOfClass() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1474]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::FlushReinstancingQueueImpl() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\kismet\private\blueprintcompilationmanager.cpp:963]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\kismet\private\blueprintcompilationmanager.cpp:196]
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:750]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::CompileChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:599]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:730]
UE4Editor_HotReload!FHotReloadModule::ReinstanceClass() [d:\build\++ue4+release-4.17+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1278]
UE4Editor_HotReload!FHotReloadModule::ReinstanceClasses() [d:\build\++ue4+release-4.17+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1261]
UE4Editor_HotReload!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:648]
UE4Editor_CoreUObject!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_CoreUObject!UClassReplaceHotReloadClasses() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:747]
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:900]
UE4Editor_CoreUObject!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:1027]
UE4Editor_Core!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_Core!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:487]
UE4Editor_Core!FModuleManager::LoadModule() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:338]
UE4Editor_HotReload!FHotReloadModule::DoHotReloadInternal() [d:\build\++ue4+release-4.17+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:864]
UE4Editor_HotReload!UE4Function_Private::TFunctionRefCaller<<lambda_65e31c59b758d14e2b26086c892be1a2>,void __cdecl(TMap<FString,FString,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<FString,FString,0> > const & __ptr64,bool,enum ECompilationResult::Type)>() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\templates\function.h:245]
UE4Editor_HotReload!FHotReloadModule::CheckForFinishedModuleDLLCompile() [d:\build\++ue4+release-4.17+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1948]
UE4Editor_HotReload!FHotReloadModule::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:602]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1263]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:402]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3215]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.17+compile\sync\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