Parent: #502, #478
Evidence
Two consecutive CI runs panicked in `unit (shard 1/4)` on the same test, while the identical suite passes locally on macOS (6/6 single-test and full-shard runs):
- run 32613799527 (`e0aacfd4`) and run 32619584172 (`0abebd1a`): `parallel_js: evaluate roots async completion through Thread keepalive GC` → `thread panic: reached unreachable code`
Stack (both runs): `OperandStack.shrinkRetainingCapacity` assert `new_len <= items.len` fired from `execLoop`'s error-unwind path (`vm.zig:6026`) via `asyncDrive`/`runAsync` — i.e. an active `Handler` recorded a `stack_depth` greater than the live operand stack at throw time during async-generator resumption.
Analysis
Parent: #502, #478
Evidence
Two consecutive CI runs panicked in `unit (shard 1/4)` on the same test, while the identical suite passes locally on macOS (6/6 single-test and full-shard runs):
Stack (both runs): `OperandStack.shrinkRetainingCapacity` assert `new_len <= items.len` fired from `execLoop`'s error-unwind path (`vm.zig:6026`) via `asyncDrive`/`runAsync` — i.e. an active `Handler` recorded a `stack_depth` greater than the live operand stack at throw time during async-generator resumption.
Analysis