GPU hang (device lost) in the RT reflection trace on async compute, twice ~1300 s into a session #1508
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#1508
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two GPU hangs (TDR,
VK_ERROR_DEVICE_LOSTfrom vkWaitForFences, no fault address) tonight on a test build of maine6107ec629+ our open PRs; the viewer logs out after each. Both reports attached.Same breadcrumbs both times (NV checkpoints):
So the async queue started
c_defer_rtrefl_trace(the RT reflection trace) and never finished it; graphics sat afterg_gi_window. The #1049 / #1128 hang guards report nothing cut (0 rays budget-cut, 0 refused, 0 candidate-budget walks); the ray list for the frame is bounded (7124 rays, 112 groups). Registry: VisQueue 0, RT reflections 1 (split 0), GI 1 (split kernels 1, shade split 1).Both at ~1300 s after start with different frame counts: possibly something time-based, possibly chance.
GPU: RTX 5070 Ti, NVIDIA 610.88. Settings of note: RenderVKRayTracing=1, RenderVKUpscaler=8 with RenderVKDlssRayReconstruction=2, async compute on, RenderVKGIEarlyTrace=1, RenderFarClip=4096, BackgroundFPSLimit=25.
The previous test build (main
fb2032d7a4+ the same PRs) had no device loss; the last one before tonight was 2026-10-16. Renderer changes on main sincefb2032d7a4that touch the RT scene or reflections:7a6eb2c9ac(RenderVKBlendHitLighting),0ce20c1493(inverted-hull outlines leave RT),a5a85effaf(rigged pose skip capped by footprint),10248bab42/e3810729d0(forward GI fallback). Our side: #1472 (rigged tint cull in llcleanrtvk.cpp) was rebased onto0ce20c1493for this build, so the two RT-scene culls now meet in the same place; worth ruling out too.Next: rerun with one of these off to bisect (RenderVKBlendHitLighting=0, then RenderVKAsyncCompute=0 to see if the hang moves to the graphics queue) and see whether it repeats near 1300 s.
Third one, same signature (async TOP
c_defer_rtrefl_trace, BOTTOMc_gi_hitmat; graphics afterg_gi_window; TDR, no fault address), report attached:The hung kernel is the split RT reflection TRACE (
mRtSplitPipe[RTS_TRACE], clean_deferred_light.comp). Shader changes on main sincefb2032d7a4(the last build without hangs) in what it runs:5426f54488(shared RT light walk headers),31270a9950+f891ae0fee(own-fixture re-trace / skip walk in clean_vis_walk.glsl),8ee88d7506(GI hit side),7a6eb2c9ac(blend hit lighting),cf83137229(#1493 water reflection troughs),3d5e9f57bd(positional shadow facing cull). The walks look bounded on paper (<= 3 re-traces, candidate budgets), but the #1049 / #1128 guards counted nothing cut in any of the three.Workaround while this is open: RenderVKRTReflections=0 (probe fallback) should keep the trace from running; we'll report whether it holds.
No hang since the third one (2026-11-09 03:29 UTC):
RenderVKRTHangBeacon=2from 05:57 UTC for at least 1 h 40 min (until 07:36 at least; it later closed normally). RT reflections stayed on;c_defer_rtrefl_tracemeasured ~0.5 to 1.2 ms per frame (RenderVKGpuTimers), so the hangs were not a slow pass creeping up. For part of it RenderVKBlendHitLighting was off.So it is rare enough that three in ~1.5 h last night looks like a bad spot or bad luck, or the beacon twin kernel hides it. A read of every loop the list-trace kernel reaches found them all capped (48 queries x 64 or 256 candidates per ray), which points at a single
rayQueryProceedEXTtraversal that never returns rather than a shader loop. Of the changes sincefb2032d7a4, only3d5e9f57bdchanges what this kernel does: it adds the sun's facing cull to the reflection hit's lamp shadow rays (rtrProjRay). clean_rt_common.glsl:96-99 records a similar NVIDIA hang in this kernel family from a value-identical edit (690930d47c).