VoxelPlugin / VoxelPluginFreeLegacy

Voxel Plugin Legacy for Unreal Engine
https://voxelplugin.com
1.55k stars 295 forks source link

Crash to desktop when editing voxels, D3D device lost #323

Open deanvaessen opened 3 years ago

deanvaessen commented 3 years ago

GPU spiked to 100% and hung, process crashed. (Pro Beta Build 74)

Fatal error: [File:Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Util.cpp] [Line: 198] Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG')

UE4Editor_D3D11RHI!TerminateOnDeviceRemoved() [Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Util.cpp:208]
UE4Editor_D3D11RHI!VerifyD3D11Result() [Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Util.cpp:256]
UE4Editor_D3D11RHI!FD3D11DynamicRHI::LockVertexBuffer_BottomOfPipe() [Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11VertexBuffer.cpp:181]
UE4Editor_RHI!FDynamicRHI::RHILockVertexBuffer() [Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:1979]
UE4Editor_Voxel!FVoxelDistanceFieldShaderHelper::Compute_RenderThread() [Plugins\VoxelPro\Source\Voxel\Private\VoxelShaders\VoxelDistanceFieldShader.cpp:138]
UE4Editor_Voxel!<lambda_f038561d28a36a38dd1d42713da2d07c>::operator()() [Plugins\VoxelPro\Source\Voxel\Public\VoxelDelegateHelpers.h:394]
UE4Editor_Voxel!TEnqueueUniqueRenderCommandType<`FVoxelDistanceFieldShaderHelper::StartCompute'::`2'::VoxelDistanceFieldComputeName,<lambda_f038561d28a36a38dd1d42713da2d07c> >::DoTask() [Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:195]
UE4Editor_Voxel!TGraphTask<TEnqueueUniqueRenderCommandType<`FVoxelDistanceFieldShaderHelper::StartCompute'::`2'::VoxelDistanceFieldComputeName,<lambda_f038561d28a36a38dd1d42713da2d07c> > >::ExecuteTask() [Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:849]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:692]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:587]
UE4Editor_RenderCore!RenderingThreadMain() [Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:341]
UE4Editor_RenderCore!FRenderingThread::Run() [Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:473]
UE4Editor_Core!FRunnableThreadWin::Run() [Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]
deanvaessen commented 3 years ago

As per the discussion in Discord[1], it would be nice to have a failsafe in the same way we have a max render octree chunks count limit to prevent issues.

[1] https://discordapp.com/channels/379297529235243020/709121016722358273/780954610734333962