Stream: git-wasmtime

Topic: wasmtime / PR #3190 fuzz: Don't canonicalize NaN while fu...


view this post on Zulip Wasmtime GitHub notifications bot (Aug 16 2021 at 16:07):

alexcrichton opened PR #3190 from less-nan to main:

This came up over the weekend where the spec interpreter and Wasmtime
were differing on the result of a wasm program, but the difference came
down to how nan bits are represented. Because Wasmtime was forcibly
canonicalizing nan representations it created a mismatch in the results
of the interpreter and not. While permissible by the spec this hinders
fuzzing, so this commit attempts to address this to ensure that the spec
interpreter produces the same NaN values as Wasmtime does (and vice
versa).

NaN canonicalization was enabled for fuzzing in #1334 which tracks back
to #1332 and a desire for more determinism when fuzzing. I believe,
though, that NaN bits are always deterministic within one machine,
they're just "nondeterministic" across machines (although I think in
practice all cpus produce the same nan bits?) In any case I don't think
that canonicalization is required for the fuzzers and disabling it helps
us align with what the spec interpreter is doing as well.

<!--

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 (Aug 16 2021 at 16:07):

alexcrichton requested fitzgen for a review on PR #3190.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 16 2021 at 18:44):

alexcrichton closed without merge PR #3190.


Last updated: Dec 23 2024 at 12:05 UTC