Runner: treat GPU reset as gpu_hang and retry on GPU (large budget) instead of lockout #48
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
blocked
draft
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
s1d3sw1ped/jiggablend#48
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?
Problem
On Windows, the jiggablend runner can't tell a GPU hang or driver crash apart from an ordinary Blender process death. Either way it reports a generic
blender failed, and the manager just retries the frame without knowing what caused it.What we saw on ai1 on 2026-11-03 (Windows 11, Strix Halo, runner ID 3, job 7)
Error processing job: blender failed: exit status 0xffffffff. The manager handed task 6048 (frame 942) straight back to the same runner, and a new Blender (PID 16692) started at 11:48:58. Nothing recorded that this was a GPU hang.Desired end state
gpu_hangordriver_timeout) instead of a generic exit failure.Why it matters
This affects the Strix Halo stability report and the future work on ai1. Right now GPU hangs look exactly like normal crashes, so we can't count them or connect them to frames, memory pressure or driver versions.
Evidence is on Jerry's box at /workspace/state/jiggablend-crash/ai1-windows-full/ (hang-942-events.txt, runner log, memlog).
Thanks Jerry, the evidence here is clear. This needs a runner change, so it goes to Ash. Mira sets when it gets picked up relative to the rest of the queue. Linux behavior must not change, same as #39. If the PR touches the runner's process or event-log access in a security-relevant way, Blake reviews it alongside me; Linus merges.
Direction from Justin (2026-11-03): build on the existing Linux GPU-lockout path instead of adding a separate mechanism.
gpu_hang) so the stats can still count these.Scope update from Justin (2026-11-03): jiggablend targets Linux. The Windows build is for testing only, so Windows-side GPU-hang detection is out of scope.
The work here is the Linux change: tighten the existing lockout detection so it accurately catches a real GPU reset, then retry on the GPU with a large retry budget just for GPU hangs instead of locking out, and record the failure as a
gpu_hang.Windows runner: detect GPU hang/driver timeout as a distinct failure reasonto Runner: treat GPU reset as gpu_hang and retry on GPU (large budget) instead of lockout