Description

Also, NiagaraDebugger crashes the moment I enable GPU Particle Readback.

Steps to Reproduce

Attribute Spreadsheet Repro

  1. Open the attached sample project
  2. Open the "SampleEmitter" asset and capture it in the attribute spreadsheet

Result: Editor crashes

NiagaraDebugger + GPUReadback Repro

  1. Open the attached sample project
  2. Create a Niagara System using SampleEmitter
  3. Place the System in the level
  4. Open the NiagaraDebugger
    1. Enable System Filter, set to *
    2. Enable Show Particle Attributes
    3. Add an entry to Particle Attributes, set to "Color"
    4. Enable Gpu Particle Readback

Result: Editor crashes

 

Callstack

Attribute Spreadsheet

Assertion failed: ResourceBaseAddress [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\D3D12RHI\Private\../Public/D3D12Resources.h] [Line: 183]

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_D3D12RHI!FD3D12StagingBuffer::Unlock() [D:\Build\++UE4\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12UAV.cpp:386]
UE4Editor_Niagara!FNiagaraGpuReadbackManager::TickInternal() [D:\Build\++UE4\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraGpuReadbackManager.cpp:46]
UE4Editor_Niagara!NiagaraEmitterInstanceBatcher::ProcessDebugReadbacks() [D:\Build\++UE4\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraEmitterInstanceBatcher.cpp:1756]
UE4Editor_Niagara!TEnqueueUniqueRenderCommandType<`FNiagaraEmitterInstance::WaitForDebugInfo'::`5'::CaptureCommandName,<lambda_37cd6aec2abd94fa17477bc52c14dfa3> >::DoTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:183]
UE4Editor_Niagara!TGraphTask<TEnqueueUniqueRenderCommandType<`FNiagaraEmitterInstance::WaitForDebugInfo'::`5'::CaptureCommandName,<lambda_37cd6aec2abd94fa17477bc52c14dfa3> > >::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:710]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:602]
UE4Editor_RenderCore!RenderingThreadMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:373]
UE4Editor_RenderCore!FRenderingThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:509]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

NiagaraDebugger - GPUReadback

Assertion failed: ResourceBaseAddress [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\D3D12RHI\Private\../Public/D3D12Resources.h] [Line: 183]

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_D3D12RHI!FD3D12StagingBuffer::Unlock() [D:\Build\++UE4\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12UAV.cpp:386]
UE4Editor_Niagara!FNiagaraGpuReadbackManager::TickInternal() [D:\Build\++UE4\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraGpuReadbackManager.cpp:46]
UE4Editor_Niagara!NiagaraEmitterInstanceBatcher::PreInitViews() [D:\Build\++UE4\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraEmitterInstanceBatcher.cpp:1596]
UE4Editor_Engine!FFXSystemSet::PreInitViews() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\Particles\FXSystemSet.cpp:129]
UE4Editor_Renderer!FSceneRenderer::PreVisibilityFrameSetup() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Renderer\Private\SceneVisibility.cpp:3084]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::InitViews() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Renderer\Private\SceneVisibility.cpp:4363]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::Render() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Renderer\Private\DeferredShadingRenderer.cpp:1451]
UE4Editor_Renderer!RenderViewFamily_RenderThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:3727]
UE4Editor_Renderer!<lambda_73fdb012e88f3452c5292ac950436524>::operator()() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:3990]
UE4Editor_Renderer!TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`35'::FDrawSceneCommandName,<lambda_73fdb012e88f3452c5292ac950436524> >::DoTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:183]
UE4Editor_Renderer!TGraphTask<TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`35'::FDrawSceneCommandName,<lambda_73fdb012e88f3452c5292ac950436524> > >::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:710]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:602]
UE4Editor_RenderCore!RenderingThreadMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:373]
UE4Editor_RenderCore!FRenderingThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:509]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-119363 in the post.

1
Login to Vote

Fixed
ComponentUE - Niagara
Affects Versions4.27
Target Fix4.27.1
Fix Commit16864058
Release Commit16864058
CreatedJul 8, 2021
ResolvedJul 15, 2021
UpdatedDec 1, 2022