irajsb / UE_CaptureSubsystem

Runtime video and screenshot capture system for Unreal Engine
MIT License
81 stars 14 forks source link

Crash when starting capture in UE5.1 #8

Closed FlingFire closed 6 months ago

FlingFire commented 6 months ago

QQ图片20240102143113

Hi, I add this plugin into my project and set the start capture funtion when the game starts. It will crash and the callstack is below.

LoginId:a574e5434b40a4154f80ab8f9632a2b7 EpicAccountId:3d5a9c211f544f85b1345812ec162ebe

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000000004b0

UnrealEditor_D3D12RHI!FD3D12Texture::Lock() [D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Texture.cpp:1750] UnrealEditor_D3D12RHI!FD3D12DynamicRHI::LockTexture2D_RenderThread() [D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Texture.cpp:2122] UnrealEditor_CaptureSubsystem!UCaptureSubsystemDirector::GetScreenVideoData() [E:\Learn\TestCapture\Plugins\UE_CaptureSubsystem-master\Source\CaptureSubsystem\Private\CaptureSubsystemDirector.cpp:320] UnrealEditor_CaptureSubsystem!UCaptureSubsystemDirector::OnBackBufferReady_RenderThread() [E:\Learn\TestCapture\Plugins\UE_CaptureSubsystem-master\Source\CaptureSubsystem\Private\CaptureSubsystemDirector.cpp:222] UnrealEditor_CaptureSubsystem!TBaseUObjectMethodDelegateInstance<0,UCaptureSubsystemDirector,void __cdecl(SWindow &,TRefCountPtr const &),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [F:\UnrealEngine\UE_5.1\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:618] UnrealEditor_SlateRHIRenderer!FSlateRHIRenderer::DrawWindow_RenderThread() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateRHIRenderer\Private\SlateRHIRenderer.cpp:1418] UnrealEditor_SlateRHIRenderer!TEnqueueUniqueRenderCommandType<FSlateRHIRenderer::DrawWindows_Private'::39'::SlateDrawWindowsCommandName, >::DoTask() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:206] UnrealEditor_SlateRHIRenderer!TGraphTask<TEnqueueUniqueRenderCommandType<FSlateRHIRenderer::DrawWindows_Private'::39'::SlateDrawWindowsCommandName, > >::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1348] UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:760] UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:649] UnrealEditor_RenderCore!RenderingThreadMain() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:415] UnrealEditor_RenderCore!FRenderingThread::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:541] UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]

but If the ShowUI option is turned off, there is no problem.

irajsb commented 6 months ago

Hi this is an engine bug that is happening inside the engine when you try to read from a Dx12 texture. either upgrade your unreal version or use dx11 / vulkan . Let me know if you had any other questions !

FlingFire commented 6 months ago

Thank you. That problem is solved