fuzzbench: ankou fuzzer is disabled due to OOMs, need higher configuration vms

In https://www.fuzzbench.com/reports/2020-05-28/index.html I tested new the new preemptible strategy in an experiment comparing ankou to other fuzzers. However, ankou seems to fail a lot in ways that have nothing to do with the preemptible strategy. For example, in freetype2-2017, only 6 out of 20 trials of ankou that weren’t terminated before 23 hours, actually produced corpus for 23 hours. When I took a look at the logs of one of the trials that lasted 23 hours (using this command gsutil cat gs://fuzzbench-data/2020-05-28/experiment-folders/freetype2-2017-ankou/trial-147317/results/fuzzer-log.txt) I see the following:

[run_fuzzer] Running target with Ankou
[run_fuzzer] Running command: ./Ankou -app /out/fuzz-target -i /out/seeds -o /out/corpus
2020/05/28 22:37:30 Invalid fuzz duration: time: invalid duration .
Persistent mode detected.
Deferred fork server detected.
len(inputs) = 2
len(seedPts) = 2
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/out/fuzzer.py", line 48, in fuzz
    subprocess.check_call(command)
  File "/usr/local/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./Ankou', '-app', '/out/fuzz-target', '-i', '/out/seeds', '-o', '/out/corpus']' died with <Signals.SIGKILL: 9>.

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 21 (9 by maintainers)

Commits related to this issue

Most upvoted comments

Hey @inferno-chromium ! I looked at this during the summer. The problem is due to the PCA, which triggers after about 30 minutes of fuzzing. This is the main technique Ankou uses from other fuzzers. The only solution I can think of right now would be to unload some of the content from memory on the disk. Which is equivalent to activating swap, and would anyway have a significant cost in performance.