bytecodealliance / wasm-tools

CLI and Rust libraries for low-level manipulation of WebAssembly modules
Apache License 2.0
1.3k stars 234 forks source link

threads: fuzz `shared-everything-threads` #1756

Open abrown opened 4 weeks ago

abrown commented 4 weeks ago

This adds initial support for fuzzing the WebAssembly side of the shared-everything-threads proposal. Eventual addition of the CM builtins will require extensions to this.

abrown commented 4 weeks ago

At this stage (after df11990) the fuzzer will trigger an unimplemented! failure here:

$ cargo +nightly fuzz run run
...
thread '<unnamed>' panicked at crates/wasm-mutate/src/module.rs:46:18:
not implemented
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It is unclear to me why this hasn't been triggered previously: shouldn't occasionally enabling GC have triggered this failure due to

https://github.com/bytecodealliance/wasm-tools/blob/8c3346e72d3f5100ed80db2e44e326873a9d2443/crates/wasm-smith/src/core.rs#L1052-L1058