Stream: git-wasmtime

Topic: wasmtime / PR #4640 Implement roundtrip fuzzing of compon...


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

alexcrichton opened PR #4640 from fuzz-adapters to main:

This series of commits is an implementation of enhancing the existing component_api fuzzer which roundtrips values through components to also roundtrip values through adapter modules as well. The fuzzer itself is extended in a pretty small fashion by "simply" instantiating a second component in the tests and everything is wired up to call the same echo function provided by the host. This will exercise the type hierarchies for adapter modules and various edges of the adapter compiler as well.

After running the fuzzer locally for a bit it found a nice crop of issues in the adapter compiler. The fixes for all of these are split out into individual commits. The main issue found was that the output module was growing exponentially in size with respect to the size of the input. To fix this I implemented a "de-inlining" scheme of sorts where memory-to-memory conversions of types are now split out into individual functions to allow reuse and avoid inlining everything into one mega function for each adapter. This doesn't 100% fix the issue because stack-to-stack conversion can still show some exponential behaviour, but at least for now this fixes the most egregious cases and the fuzzer isn't routinely timing out.

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

alexcrichton requested fitzgen for a review on PR #4640.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:14):

alexcrichton updated PR #4640 from fuzz-adapters to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:18):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:18):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:18):

fitzgen created PR review comment:

I feel like we should check for -1 and trap if we see it, just so that we can't iloop here.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:24):

alexcrichton updated PR #4640 from fuzz-adapters to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 08 2022 at 17:25):

alexcrichton has enabled auto merge for PR #4640.

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

alexcrichton merged PR #4640.


Last updated: Dec 23 2024 at 12:05 UTC