Stream: git-wasmtime

Topic: wasmtime / PR #3800 Fuzz cranelift cpu flag settings with...


view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2022 at 21:42):

alexcrichton opened PR #3800 from fuzz-codegen-settings to main:

This commit updates the Config fuzz-generator to consume some of the
input as configuration settings for codegen flags we pass to cranelift.
This should allow for ideally some more coverage where settings are
disabled or enabled, ideally finding possible bugs in feature-specific
implementations or generic implementations that are rarely used if the
feature-specific ones almost always take precedent.

The technique used in this commit is to weight selection of codegen
settings less frequently than using the native settings. Afterwards each
listed feature is individually enabled or disabled depending on the
input fuzz data, and if a feature is enabled but the host doesn't
actually support it then the fuzz input is rejected with a log message.
The goal here is to still have many fuzz inputs accepted but also ensure
determinism across hosts. If there's a bug specifically related to
enabling a flag then running it on a host without the flag should
indicate that the flag isn't supported rather than silently leaving it
disabled and reporting the fuzz case a success.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Feb 14 2022 at 21:43):

alexcrichton requested fitzgen for a review on PR #3800.

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

fitzgen submitted PR review.

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

fitzgen submitted PR review.

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

fitzgen created PR review comment:

By the way, I added a method upstream the other day that can make this a little nicer: https://docs.rs/arbitrary/latest/arbitrary/struct.Unstructured.html#method.ratio

(fwiw, I also added this method too: https://docs.rs/arbitrary/latest/arbitrary/struct.Unstructured.html#method.arbitrary_loop)

view this post on Zulip Wasmtime GitHub notifications bot (Feb 15 2022 at 15:43):

alexcrichton updated PR #3800 from fuzz-codegen-settings to main.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 15 2022 at 15:43):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 15 2022 at 15:43):

alexcrichton created PR review comment:

Nice!

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

alexcrichton updated PR #3800 from fuzz-codegen-settings to main.

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

alexcrichton updated PR #3800 from fuzz-codegen-settings to main.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 15 2022 at 20:27):

alexcrichton merged PR #3800.


Last updated: Dec 23 2024 at 12:05 UTC