This question was created in reference to: [GPU Crash - Invalid use of a render target, resource specified by transition barrier does not match with the state [Content removed]
We are still in the process of debugging our GPU Crashes that we have been unable to determine - the previous thread found that we were dealing with an inability to generate Shader Symbols, Aftermath Data, or anything coherent with .nv-gpudmp in order to debug our crash further!
The crash remains the same, still affecting quite a lot of our player base, but only one member of staff here that can replicate the crash some of the time. Lance Chaney really helped us out with providing complete patches to assist in the fix.
We have implemented the patches, and have been able to generate some 300k symbols, unfortunately however, not a single one of the symbols match anything we find in NSight Graphics.
We have enabled:
r.Shaders.Symbols=1
r.Shaders.GenerateSymbols=1
r.Shaders.WriteSymbols=1
We’ve also tried ShaderDevelopmentMode etc - but unfortunately we just cant get any usable data on this crash.
The crash itself doesnt yield much except D3DDebug illuminates
'FParticleStatePosition' and 'FParticleStateVelocity'.
Our theory is that we have one asset with a checkbox that shouldnt be on, Particle state pointing us at Niagara - but we’ve quite a lot of VFX, and at this point since we’re back on 5.5 - we’re just looking for a way to isolate the crash.
Any advice is greatly appreciated.
Hi there,
For starters I need to make a correction to my previous post that may be causing your issue with being unable to associate shaders in the aftermath crash dump still. I previously said you could set r.GPUCrashDebugging.Aftermath.DumpShaderDebugInfo=1 in the [/Script/Engine.RendererSettings] section of your DefaultEngine.ini. However, this is incorrect. Doing this will fail to produce the required *.nvdbg file (which should be output alongside the *.nv-gpudmp crash dump file) for shader code association. Instead you need to add this CVar to the [ConsoleVariables] section of your <ProjectDir>/Config/DefaultEngine.ini, or set it in your <EngineDir>/Engine/Config/ConsoleVariables.ini in the [Startup] section:
--- DefaultEngine.ini ---
[ConsoleVariables]
r.GPUCrashDebugging.Aftermath.DumpShaderDebugInfo=1
or
--- ConsoleVariables.ini ---
[Startup]
r.GPUCrashDebugging.Aftermath.DumpShaderDebugInfo=1
You should verify that your crash dump included the *nvdbg output file. If it does not, then the above is likely your issue. You may want to see [this [Content removed] where I discussed how you can induce a GPU crash on purpose to test crash dumps and shader code association before deploying.
If you still have issues with shader symbols not matching, it likely means there is a mismatch between the compiled shaders and the shader symbols. This could happen if you are generating the shader symbols using a different build configuration than what was used to create the crashing build. For instance, if you generate the shader symbols in editor, but not for the packaged build of your game. The post I linked above also has some discussion of how you can output a zip file containing your shader symbols as a build artifact alongside your packaged builds.
Let me know if you still have issues with this,
Regards,
Lance Chaney
Appreciate you Lance! We’ll give this a try and see if we can come up with something new, and get back to you in a couple days.
Hey Lance, just a small update - we have successfully gotten Shader Debug Symbols to work with NSights. You were right about an inconsistency with build status, or likely configuration. We’re just trying to pin that down.
For now since the crash is hard to repro. I’ll update, when we actually have something substantial to work with. That said, you’ve taught me a lot; so I’m grateful.
No worries, let me know when you have more updates.