Stream: git-wasmtime

Topic: wasmtime / issue #13561 Is differential fuzzing the spec ...


view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2026 at 20:59):

alexcrichton opened issue #13561:

An oss-fuzz bug just got opened which is a timeout in the spec interpreter. In investigating it locally I've discoverd that when my gcc updated a few days ago I can no longer compile the C code in ocaml-boxroot-sys, which ocaml-interop, what we use in Rust, depends on. The latest version of ocaml-interop does at least compile its C code for me, but the new Rust APIs are, at my read, fundamentally incompatible with how we want to invoke OCaml. There's no way that I can see which would initialize the OCaml runtime and a way that can be reused without having to thread it across fuzz executions.

This led me to a broader question of possibly removing the differential fuzzing against the spec interpreter. The points leading me to this conclusion are:

Basically it's currently got a fuzz bug, I can't investigate locally due to our Rust deps using now-broken C code, and I also fear we've been keeping it running for quite some time without a whole lot of benefit.

I wanted to canvas others, however. How do others feel about this? (cc @fitzgen and @cfallin)

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2026 at 20:59):

alexcrichton added the fuzzing label to Issue #13561.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2026 at 21:18):

cfallin commented on issue #13561:

Personally, I have on several occasions done a local edit to remove the spec-interpreter feature from fuzz-builds because my OCaml setup is broken. It certainly adds friction.

I think we originally added it because there was a lot of credibility-value to be obtained from "fuzzed against the spec itself" -- and it's the obvious thing to do when the spec is executable. I do think the spec is meaningfully better than "just another engine" in this sense so the N -> N+1 framing isn't quite right IMHO.

That said, all the things you point out (outdated fork, no real issues found) sort of take away from that. The spec itself is also moving a little more slowly these days now that a lot of the semantically-big proposals have been completed (SIMD, GC, exceptions). Stack-switching is still on the table and semantically extremely interesting, but that's also hindered by "old fork".

So I would agree that we get largely the same value from fuzzing against other engines, and I'm in favor of deleting this if it allows us to move forward more easily.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 05 2026 at 20:25):

fitzgen commented on issue #13561:

Yeah, nothing more to add. Seems like it probably isn't worth it anymore.


Last updated: Jul 29 2026 at 05:03 UTC