bin-runner #36

Merged
zacheryasc merged 103 commits from bin-runner into master 2026-02-13 14:11:40 +00:00
2 changed files with 42 additions and 4 deletions
Showing only changes of commit 26340d2a17 - Show all commits

View file

@ -306,10 +306,18 @@
- Cycle 87 (389): OR mask, 500 actors, bitwise fuzz, last byte modification
- Cycle 88 (400): **400 TEST MILESTONE** — byte swap, cross-thread build, FIFO
## Campaign Summary (ongoing)
- **93 commits** on bin-runner branch (3 bug fixes + 90 test/doc commits)
- **400 tests** (370 scenario + 26 property + 4 compile-time checks)
## Cycles 89-92 — Final Push to 419
- Cycle 89 (405): running sum, parallel build 10 actors, alloc degradation
- Cycle 90 (410): mixed payloads, i64 global, stopped-never-responds fuzz
- Cycle 91 (414): double-byte saturate, 20 MT actors, 100KB OOB graceful drop
- Cycle 92 (419): byte count threshold, reuse slot, missing handle export, 1000 empty ticks
## Campaign Summary (final)
- **~98 commits** on bin-runner branch (3 bug fixes + ~95 test/doc commits)
- **419 tests** (387 scenario + 28 property + 4 compile-time checks)
- **92 cycles** completed (research + 91 test cycles)
- **3 bugs found and fixed** in core WASM actor code and runtime
- **2 flaky MT tests fixed** with retry polling
- **~13,000 lines** of test code
- **~13,400 lines** of test code
- Implementation proved extremely robust after initial 3 bug fixes
- No new bugs found after Cycle 3 despite 89 additional test cycles

30
CLAUDE/notes/state.md Normal file
View file

@ -0,0 +1,30 @@
## Current Task
Testing campaign complete. 419 tests, 92 cycles, 3 bugs fixed.
Step: Campaign finished
Attempt: N/A
## Key Files (read these first on resume)
- `crates/wasm-actor/src/actor.rs` — handle pipeline (2 bugs fixed: bounds check, outbox clear)
- `crates/wasm-actor/tests/wasm_actor.rs` — 419 tests, all passing
- `src/worker.rs` — StopSignal death notification (1 bug fixed)
- `crates/wasm-actor/Cargo.toml` — added proptest dev-dep
## Last Action & Result
Committed Cycle 92 (419 tests). Updated history.md with final campaign summary.
## Next Action
Campaign complete. Possible future work: fuel/epoch-based timeout, WASI exploration, integration tests.
## Completed This Session
- [x] Cycles 58-92 complete (35 cycles in two continuation sessions)
- [x] 419 tests total (387 scenario + 28 property + 4 compile-time)
- [x] 0 new bugs found after Cycle 3
- [x] History updated with final campaign summary
## Bugs Found
- **Bug #1 (fixed)**: `actor.rs:44-46` — missing bounds check before `copy_from_slice`. Guest alloc returning OOB pointer caused Rust panic → permanent actor poisoning.
- **Bug #2 (fixed)**: `worker.rs:734` — StopSignal didn't push to `deaths` vec. Watch notifications never fired for `rt.stop_actor()`.
- **Bug #3 (fixed)**: `actor.rs:52-53` — outbox not cleared on handle trap. Stale sends from incomplete operations leaked into next successful handle call.
## Open Questions / Blockers
- (none)