We just integrated the current promoted (4.8 pre-release) branch, and we’re seeing a crash with it that wasn’t happening before.
We add an Instanced Static Mesh (blueprint actor) to the world and then add instances to it. Meanwhile, the ISM starts being rendered via its scene proxy (apparently with no instances), so we hit the following check() at the top of FBatchingSPDI::DrawMesh().
check(Mesh.GetNumPrimitives() > 0);
This only happens if we run standalone - if we run in a “New Editor Window,” everything is fine!
[Note that we did try adding a workaround to early-out of that function if GetNumPrimitives()==0 … it avoids the crash, but the instanced static meshes in question just don’t get rendered, ever.]
Here’s the crash log:
KernelBase.dll!00007ffa4f15e002() Unknown
UE4Editor-Renderer.dll!FBatchingSPDI::DrawMesh(const FMeshBatch & Mesh, float ScreenSize, bool bShadowOnly) Line 45 C++
UE4Editor-Engine.dll!FStaticMeshSceneProxy::DrawStaticElements(FStaticPrimitiveDrawInterface * PDI) Line 536 C++
UE4Editor-Renderer.dll!FPrimitiveSceneInfo::AddStaticMeshes(FRHICommandListImmediate & RHICmdList) Line 143 C++
UE4Editor-Renderer.dll!FPrimitiveSceneInfo::AddToScene(FRHICommandListImmediate & RHICmdList, bool bUpdateStaticDrawLists) Line 187 C++
UE4Editor-Renderer.dll!FScene::AddPrimitiveSceneInfo_RenderThread(FRHICommandListImmediate & RHICmdList, FPrimitiveSceneInfo * PrimitiveSceneInfo) Line 334 C++
UE4Editor-Renderer.dll!FScene::AddPrimitive'::
28’::EURCMacro_FAddPrimitiveCommand::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr & MyCompletionGraphEvent) Line 539 C++
UE4Editor-Renderer.dll!TGraphTask<FScene::AddPrimitive'::
28’::EURCMacro_FAddPrimitiveCommand>::ExecuteTask(TArray & NewTasks, ENamedThreads::Type CurrentThread) Line 669 C++
UE4Editor-Core.dll!FTaskThread::ProcessTasks(int QueueIndex, bool bAllowStall) Line 428 C++
UE4Editor-Core.dll!FTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 271 C++
UE4Editor-RenderCore.dll!RenderingThreadMain(FEvent * TaskGraphBoundSyncEvent) Line 281 C++
UE4Editor-RenderCore.dll!FRenderingThread::Run() Line 405 C++
UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 73 C++
UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 48 C++
kernel32.dll!00007ffa4f4d13d2() Unknown
ntdll.dll!00007ffa51c3eb64() Unknown
Threads:
Not Flagged 37320 0 Main Thread Main Thread UE4Editor-Core.dll!FBoxSphereBounds::TransformBy Normal
Not Flagged 36276 0 Worker Thread PoolThread 0 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 35380 0 Worker Thread PoolThread 1 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 36020 0 Worker Thread PoolThread 2 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 37288 0 Worker Thread ScreenSaverInhibitor UE4Editor-Core.dll!FWindowsPlatformProcess::Sleep Normal
Not Flagged 35368 0 Worker Thread mswsock.dll thread mswsock.dll!00007ffa4e54c979 Above Normal
Not Flagged 36936 0 Worker Thread TaskGraphThread 0 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 35680 0 Worker Thread TaskGraphThread 1 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 35592 0 Worker Thread TaskGraphThread 2 UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 28288 0 Worker Thread StatsThread UE4Editor-Core.dll!FEventWin::Wait Below Normal
Not Flagged 36048 0 Worker Thread atidxx64.dll thread atidxx64.dll!00007ffa4b0648d3 Normal
Not Flagged 32984 0 Worker Thread ShaderCompilingThread UE4Editor-Core.dll!FWindowsPlatformProcess::Sleep Normal
Not Flagged 35952 0 Worker Thread AsyncIOSystem UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 34088 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 37420 0 Worker Thread FMessageBus.Router UE4Editor-Core.dll!FEventWin::Wait Normal
Not Flagged 37588 0 Worker Thread FDDCCleanup UE4Editor-Core.dll!FWindowsPlatformProcess::Sleep Below Normal
Not Flagged 34112 0 Worker Thread msvcrt.dll thread RTWorkQ.dll!00007ffa4a576bfd Time Critical
Not Flagged 35824 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 23208 0 Worker Thread combase.dll thread combase.dll!00007ffa4fd88e0e Normal
Not Flagged 17320 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 36796 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 37148 0 Worker Thread FAndroidDeviceDetectionRunnable UE4Editor-Core.dll!FWindowsPlatformProcess::Sleep Normal
Not Flagged > 27264 0 Worker Thread RenderThread 1 UE4Editor-Renderer.dll!FBatchingSPDI::DrawMesh Normal
Not Flagged 37076 0 Worker Thread RTHeartBeat 1 UE4Editor-Core.dll!FWindowsPlatformProcess::Sleep Above Normal
Not Flagged 34116 0 Worker Thread FFileTransferRunnable UE4Editor-Core.dll!FEventWin::Wait Below Normal
Not Flagged 34124 0 Worker Thread TAsync 0 UE4Editor-Core.dll!FRunnableThreadWin::~FRunnableThreadWin Normal
Not Flagged 34084 0 Worker Thread TAsync 1 UE4Editor-Core.dll!FRunnableThreadWin::~FRunnableThreadWin Normal
Not Flagged 35396 0 Worker Thread TAsync 2 UE4Editor-Core.dll!FRunnableThreadWin::~FRunnableThreadWin Normal
Not Flagged 22312 0 Worker Thread TAsync 3 UE4Editor-Core.dll!FRunnableThreadWin::~FRunnableThreadWin Normal
Not Flagged 37664 0 Worker Thread XAudio2_7.dll thread XAudio2_7.dll!00007ffa0ce32891 14
Not Flagged 34764 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 34632 0 Worker Thread ntdll.dll thread ntdll.dll!00007ffa51c628ca Normal
Not Flagged 27352 0 Worker Thread atidxx64.dll thread atidxx64.dll!00007ffa4ab99fd0 Normal
Not Flagged 34140 0 Worker Thread atidxx64.dll thread atidxx64.dll!00007ffa4ab99fd0 Normal
I’ve also attached the above as a separate text file in case you find that more readable.