Problem
Fresh required Linux CI reaches the pinned WebAssembly Threads corpus and fails the first smoke file: wasm-threads-smoke records simple.wast: 0 pass, 0 fail, 0 n/a, 1 runner, then correctly rejects the corpus run.
The failing identities are:
- WebAssembly/threads commit
979d0fcb994439423d63b2f0a8a7332d6285dd84 - WABT
1.0.39 - profile
threads - filter
simple.wast
A runner result is neither an assertion failure nor an allowed unsupported feature. The underlying converter/evaluator diagnostic must be retained and fixed at the owned decode/validate/execute or driver boundary.
Required implementation
- Reproduce the exact
simple.wastconversion and evaluator command with the recorded identities. - Preserve the underlying child diagnostic in the inventory and console output when a runner fails.
- Fix the actual owned Wasm or driver defect; keep all supported atomic/shared-memory assertions executing.
- Do not classify the file as n/a, exclude it, pin away the corpus, invoke a system JavaScript engine, or accept a zero assertion denominator.
Acceptance
simple.wastcompletes with a nonzero assertion denominator and zero runner failures.deeply_nested.wastandwait_notify.wastcontinue to execute under the same Threads profile.- Focused decode/validate/execute or driver tests cover the root cause and diagnostic propagation.
- WebAssembly Threads, MVP, Core 2/3, GC, memory64, units, and applicable TSan gates remain green.