Open lopopolo opened 3 years ago
I have a similar problem in my GitHub actions, and when I fuzz on my computer there is no oom.
In CI, between the run 1 through 600k, the fuzzer behave the same as on my computer with rss going from 30Mb to 600Mb. Then, suddenly the rss value start to increase quickly until it reaches the limit or no more RAM is available, while on my computer, the rss value continues to increase slowly until it converges to some value.
Here is my repo if you want to see my CI config or what changes I tried in this PR.
I got a successful workflow run the first time (7 days ago), but all subsequent runs failed due to fuzz oom.
libfuzzer
needs the memory to store the knowledge it has gathered about the program. Fuzzing extremely branchy code is prone to using extreme amounts of memory.
The only way I know of to deal with this problem is to reduce the problem size (i.e. fuzz smaller portions of your system) or give it more memory. Improvements to libfuzzer
itself are of course a possibility as well, but it isn't maintained by ourselves. You could try different fuzzing implementations too.
I didn't do a lot of testing but the problem is not happening anymore on my side.
I run
cargo-fuzz
in several github actions on a daily cron and invoke it as:For the past week or so, I've been getting failures of the following sort:
Sample failing run: https://github.com/artichoke/boba/runs/3154113135?check_suite_focus=true