Excessive compile time compiling huge element segment
Author: alexcrichtonCreated Sep 1, 2026Updated Sep 12, 2026
Labelsenhancementfuzz-bug
Compiling this module in Wasmtime: foo.wasm.txt (it's not actually txt) currently takes ~1s:
$ time wasmtime compile foo.wasm
wasmtime compile foo.wasm 0.99s user 0.24s system 99% cpu 1.235 totalThe reason for this is that the module has a massive element segment full of null function expressions. This is effectively unrolled into a giant CLIF function that then takes quite awhile to compile.
Note though that optimizations actually improve the compile time of this function:
$ time wasmtime compile foo.wasm -O opt-level=0
wasmtime compile foo.wasm -O opt-level=0 1.29s user 0.27s system 99% cpu 1.566 totalI'm not sure how best to handle this, but it's timing out our fuzzers currently. I figured I'd file this so we can at least track it.
Source: bytecodealliance/wasmtime