Startup crash loop: AMD Windows driver crashes compiling the ray-traced probe capture shader (ProbeRt) #1064

Open
opened 2026-10-25 19:00:37 +00:00 by sky_line · 0 comments
Owner

Report

User report (Discord #help): 1.4.0 Beta 8 and 1.4.1 crash a few seconds after the login screen appears, every launch, before a bug report can be sent.

  • AMD Radeon RX 6800 XT, Windows 11, AMD driver 26.10.1 (Vulkan driver 2.0.353).
  • 0xc0000005 in amdvlk64.dll+0x7f5571 (read of 0x88) on the VK pipeline batch worker, compiling mProbeTracePipe (ProbeRt, clean_probe_rt.comp).
  • Deterministic: identical offset and pipeline on consecutive launches. The #876/#890 compile-crash marker fired and the next session compiled one pipeline at a time, and it crashed again on the same pipeline. One-at-a-time only helps parallel-compile crashes, not a driver compiler bug on one shader, so the viewer never starts.

Fix

  1. Build ProbeRt lazily. It is only used with Reflection Detail 3 (ray-traced probe capture) but is created at startup on every RT-capable device. Create it when detail 3 is selected (asynchronously, like the vis-queue pipelines), and destroy it when not needed.
  2. Per-pipeline crash quarantine. The compile-crash marker records which pipeline crashed and the driver identity (vendor/driverID/driverVersion). A pipeline that crashes the driver compiler twice on the same driver is skipped on that driver: the feature that uses it reports unavailable (every consumer already handles a null pipeline), with a log line and a one-time notification. A driver change clears the quarantine.

Workaround until shipped: launch with --set RenderVKRayTracing 0.

Follow-up for the shader-side cause: see the linked ticket.

## Report User report (Discord #help): 1.4.0 Beta 8 and 1.4.1 crash a few seconds after the login screen appears, every launch, before a bug report can be sent. - AMD Radeon RX 6800 XT, Windows 11, AMD driver 26.10.1 (Vulkan driver 2.0.353). - `0xc0000005` in `amdvlk64.dll+0x7f5571` (read of 0x88) on the `VK pipeline batch` worker, **compiling `mProbeTracePipe` (ProbeRt, `clean_probe_rt.comp`)**. - Deterministic: identical offset and pipeline on consecutive launches. The #876/#890 compile-crash marker fired and the next session compiled one pipeline at a time, and it crashed again on the same pipeline. One-at-a-time only helps parallel-compile crashes, not a driver compiler bug on one shader, so the viewer never starts. ## Fix 1. **Build ProbeRt lazily.** It is only used with Reflection Detail 3 (ray-traced probe capture) but is created at startup on every RT-capable device. Create it when detail 3 is selected (asynchronously, like the vis-queue pipelines), and destroy it when not needed. 2. **Per-pipeline crash quarantine.** The compile-crash marker records which pipeline crashed and the driver identity (vendor/driverID/driverVersion). A pipeline that crashes the driver compiler twice on the same driver is skipped on that driver: the feature that uses it reports unavailable (every consumer already handles a null pipeline), with a log line and a one-time notification. A driver change clears the quarantine. Workaround until shipped: launch with `--set RenderVKRayTracing 0`. Follow-up for the shader-side cause: see the linked ticket.
sky_line added this to the Slipstream project 2026-10-25 19:00:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
sky_line/Slipstream#1064
No description provided.