fuzzitdev/fuzzit

Regression tests run out of memory in CI

mholt opened this issue · 1 comments

mholt commented

We're not sure if this is a bug in Fuzzit, but our regression tests seem to be failing:

2020/03/20 13:09:35 Running regression...
FUZZER: INFO: Seed: 4173634629
FUZZER: INFO: 65536 Extra Counters
FUZZER: ./fuzzer: Running 521 inputs 1 time(s) each.
FUZZER: Running: corpus/0022ae0ec320596f561aa52c8b47f17e04db2a00
FUZZER: Executed corpus/0022ae0ec320596f561aa52c8b47f17e04db2a00 in 0 ms
FUZZER: Running: corpus/00e9813b71fa586ae6890dcce51fd8acca6a3448
FUZZER: Executed corpus/00e9813b71fa586ae6890dcce51fd8acca6a3448 in 0 ms
FUZZER: Running: corpus/015f14bc2402f59075cb46c913e08570421bd9ae
FUZZER: ==18== ERROR: libFuzzer: fuzz target overwrites it's const input
FUZZER: SUMMARY: libFuzzer: out-of-memory

Full log here:

https://github.com/caddyserver/caddy/runs/521935588

(And related discussion, toward the end of caddyserver/caddy#3152)

Is that something in our code that is causing out-of-memory? I thought that the fuzzer itself shouldn't run out of memory, but maybe I'm reading this wrong. Thanks!

I was running into this as well, and for a little while assumed the fuzzer was just running out of memory (as the SUMMARY suggests), but was completely neglecting the line above:

FUZZER: ==18== ERROR: libFuzzer: fuzz target overwrites it's const input

In my case, the input bytes were being modified, which libFuzzer isn't happy about (though go-fuzz is fine with). Might be worth looking into.