Stream: git-wasmtime

Topic: wasmtime / PR #3843 Fuzzing against verified fork of spec...


view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 17:16):

conrad-watt opened PR #3843 from verified-fuzzing to main:

Following discussions with @fitzgen, @alexcrichton, @cfallin, and @abrown, and at the Feb 17th meeting, this is a patch to update the previously disabled spec-interpreter differential fuzzing to instead use my verified Wasm interpreter (https://github.com/conrad-watt/spec/tree/wasmtime_fuzzing/interpreter). Currently all post-MVP features are disabled, although I'm working towards enabling SIMD.

Unfortunately I couldn't find a way to make the OCaml build system automatically find the gmp library (a new dependency, along with the zarith OCaml library), so the wasm-spec-interpreter/ocaml makefile now uses a LIBGMP_PATHS var to manually feed in this information.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 17:33):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 18:45):

alexcrichton created PR review comment:

Ah yeah our current wasm-smith generator has independent settings for max_tables and reference_types_enabled. I think it's fine to move this into set_differential_config since this is likely silently affecting other differential targets without us being aware of it!

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 18:45):

alexcrichton created PR review comment:

Since your spec interpreter has a notion of fuel, would it be possible to avoid this? We could similarly enable fuel for differential-spec modules in Wasmtime and then if either wasmtime or the spec interpreter returns "out of fuel" we'd just discard the fuzz test case and move on

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 18:45):

alexcrichton created PR review comment:

These should be safe to omit setting to false here since we can rely on set_differential_config above setting them all to false, although setting multi_value_enabled to false below would need to stay since set_differential_config doesn't specifically set that one to false

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 18:45):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2022 at 18:45):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 11:30):

conrad-watt submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 11:30):

conrad-watt created PR review comment:

Would it be possible to tackle this as a follow-up? If I'm interpreting correctly, currently the fuzzing config allows me to set consume_fuel to true, but automatically adds u64:max_value() fuel in this case. If we add the capability to configure the precise amount of fuel to be added via a parameter, it might be desirable to align other parts of the fuzzing infrastructure to use this parameter too (I'm looking at generate_timeout in generators.rs).

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 11:30):

conrad-watt edited PR review comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 12:05):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 12:16):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 12:51):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 14:03):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:05):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:08):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:08):

alexcrichton created PR review comment:

Certainly! This can definitely be handled later.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:28):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:36):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:44):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 15:53):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 16:01):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 16:24):

conrad-watt updated PR #3843 from verified-fuzzing to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 18:01):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 01 2022 at 18:01):

alexcrichton merged PR #3843.


Last updated: Dec 23 2024 at 12:05 UTC