22 Commits

Author SHA1 Message Date
evan 61ffd88e03 wasm-emu: narrow compiled-load corruption fallback (E46-E72) 2026-07-23 20:49:17 -04:00
evan 851f42223b wasm-emu: document failed root-fix probes and refined TLB trace (E39-E45) 2026-07-23 13:12:22 -04:00
evan 6a9ad9edb6 wasm-emu: replace blanket store-TCI with mixed-store fallback (E35-E38) 2026-07-23 11:53:58 -04:00
evan 28ea986875 wasm-emu: isolate compiled-store corruption to uzlib fault-path TB (E32-E34) 2026-07-23 10:37:23 -04:00
evan fe6bbe4d3d wasm-emu: document concrete TLB-array corruption path (E23-E31) 2026-07-23 07:50:54 -04:00
evan 1406ab6d26 wasm-emu: document state materialization probes (E20-E22) 2026-07-23 06:59:21 -04:00
evan 373d5c2352 wasm-emu: rule out IO-thread guest-RAM race during reader open (E19) 2026-07-22 23:11:02 -04:00
evan 3c6e85a7fe wasm-emu: rule out function-table reuse (E18); consolidate race diagnosis 2026-07-22 21:57:51 -04:00
evan c608b65ef5 wasm-emu: rule out store redispatch path; document data-race conclusion (E17)
?yieldtrace shows the crash occurs with zero compiled-TB DONE_FLAG resume
re-entries, so it is not the store block-replay path. Combined with
nondeterminism and identity-independence, the corruption is a guest-RAM data
race with concurrent device/timer callbacks. Blanket store-TCI stays default.
2026-07-22 21:43:12 -04:00
evan 9b8c6ba925 wasm-emu: document compiled-store corruption as a nondeterministic race
E15/E16: runtime store-gating bisection plus repeated-run testing show the
0x4201e210 reader-open corruption is a race (identity-independent, config
alternates crash/pass), not a miscompiled TB. Blanket store-TCI suppresses it
in practice. Wire ?sthash and ?stcw/stcmask/stcval opt-in debug controls.
2026-07-22 20:57:01 -04:00
evan fc2ec8a6ae wasm-emu: record store-TCI benchmark and keep reliable default
Benchmark showed the narrowed 32-bit-only fallback is slightly faster when it
works but failed once with an app-init watchdog. Restore blanket store-TCI as
the default and document the narrowed result as diagnostic only.
2026-07-22 19:47:47 -04:00
evan 4b1a0d72a2 wasm-emu: document narrowed 32-bit store-TCI panic fix
Default browser path now keeps only 32-bit qemu store TBs on TCI. Normal raw-SD
reader-open passes, while ?nostoretci still reproduces the original
0x4201e210 load fault as a negative control.
2026-07-22 19:05:42 -04:00
evan 78df20560e wasm-emu: add file-open diff2 arming and document compiled-store repro
Add ?nostoretci and ?tcgdiff2=open browser-test plumbing. ?nostoretci confirms
the original compiled-store corruption still reproduces at normal speed; the
file-open-armed E11 run catches stale register state before the known
0x4201e210 load fault. Production path remains store-TCI and browser raw-SD
stays green.
2026-07-22 18:16:05 -04:00
evan a5de735742 wasm-emu: wire ?tcgdiff2; document E11 whole-execution differential outcome
E11 proved inline compiled stores are correct under live cross-TB accumulation
(153k comparisons, zero divergence) but is too slow to reach the reader
corruption in-browser (guest watchdog fires first). Suspects narrowed to the
store slow-path and store-width interaction; next instrument is a deterministic
slow-path store unit test. Option A (deterministic two-pass) retained as future.
2026-07-22 16:45:06 -04:00
evan 2807194dc3 wasm-emu: wire opt-in ?tcgdiff differential; document E10 store-codegen exoneration
E10 per-TB compiled-vs-TCI differential compared 160k+ store TBs during a
full reader-open with zero divergence, exonerating single-TB store codegen
and confirming the inflate corruption is emergent across TBs. Harness is
opt-in via ?tcgdiff (wasm_diff_enable from app.js preRun); production
store-TCI path is unchanged.
2026-07-22 16:05:47 -04:00
evan e0d94c24d2 docs(wasm): E9 static analysis - found UNWINDING/DONE_FLAG bug; reframe root cause to register-value codegen 2026-07-22 08:00:39 -04:00
evan 8e664f99a0 docs(wasm): E8 - store bug is emergent, not localizable by region or width 2026-07-22 07:25:17 -04:00
evan cc6e6b0d88 docs/test(wasm): E4-E7 store-bug isolation; deterministic byte+32 repro 2026-07-22 06:53:41 -04:00
evan e3296dc533 docs(wasm): E3 PC-windowed bisection findings for store bug 2026-07-21 21:48:07 -04:00
evan a071badfe8 docs(wasm): record B store-isolation experiments (E2) 2026-07-21 20:42:01 -04:00
evan 223500ab09 test(web): seed SD before autoboot; document upstream store-TCI root cause
The file browser no longer auto-seeds, so the headless test seeds Test/example.txt into OPFS before autoboot. Docs corrected: store-containing-TB TCI is upstream qemu-wasm design (compiled store path is not rewind-safe), not a port bug.
2026-07-21 16:14:22 -04:00
evan 376d302e1d Reader opens in WASM: bump QEMU store-TB workaround; document panic
Bumps third_party/qemu to the wasm32 store-TB TCI workaround so the
browser reader no longer panics in uzlib font decompression. Adds
docs/wasm-inflate-panic.md with the full investigation (native control,
non-deterministic reject, JIT promotion) and next steps. Updates ISSUES:
the panic is worked around; the reader now inverts into muddled
grayscale after the initial BW page (new top reader defect). tests
navigate the 4th Open press into the reader.
2026-07-21 09:16:40 -04:00