:wave: Hey, I've been trying to run some of the wasmtime's fuzzers on QEMU and I'm running into a OOM error after a few minutes and I'm not sure how to get around this.
I'm currently using this command:
ALLOWED_ENGINES=wasmtime cargo +nightly fuzz run --target=riscv64gc-unknown-linux-gnu differential -s none --no-default-features -- -rss_limit_mb=30000
But it fails after around 700 executions with ERROR: libFuzzer: out-of-memory (used: 31360Mb; limit: 30000Mb)
Has anyone tried this or know a possible cause? I've only tried this with cranelift-fuzzgen
and that target seems to support this, so I'm not sure if we do some special allocation with wasmtime .
Edit: The oom artifacts are not reproducible when running in isolation
this may have to do with the pooling allocator and/or VM reservations, but I would also expect that to be "invisible" do the guest and only a host-side implementation detail and if libfuzzer thinks it's OOM-ing then that's the guest determining that, so I'm also not entirely sure...
In any case I haven't seen this myself before, but I also haven't tried running in QEMU before
Last updated: Dec 23 2024 at 13:07 UTC