Roadmap: #134 GC parent: #144 Observed after: #413 / zig-gc#40 Exact runs: 29791895246, 29792663816
Two consecutive current-toolchain main runs hang the non-TSan threadfuzz-midgc profile in seed 1 for more than the unchanged 300-second per-case watchdog. Both timeouts occur after the active Context is disarmed, and teardown then fails its 30-second grace period. The exact seed passes all 45 cases locally in 31.7 seconds under Zig 0.17.0-dev.956, while CI uses 0.17.0-dev.1426.
Acceptance:
- Record the active mid-GC subcase name in watchdog timeout diagnostics without weakening or extending either timeout.
- Reproduce with the exact CI Zig revision, seed, dependency snapshot, and non-TSan optimization mode.
- Identify whether the stall is engine teardown, allocator/compiler behavior, or a harness lifecycle race; retain an independently runnable focused command.
- Fix the underlying wait/teardown ownership so timeout cancellation is not required for ordinary completion.
- Preserve all 45 semantic, collection, finalization, and cleanup oracles.
- Pass the focused subcase repeatedly, seed 1 as a whole, and the 20-seed / 900-program exact main job.
- Keep the watchdog and clean-teardown failure modes intact and reconcile exact main CI before closure.