clusterfuzzlite icon indicating copy to clipboard operation
clusterfuzzlite copied to clipboard

Timeout in pruning job

Open catenacyber opened this issue 3 years ago • 3 comments

Getting logs like

2022-02-15 09:19:54,828 - root - INFO - Done downloading corpus. Contains 5964 elements.
Traceback (most recent call last):
  File "/opt/oss-fuzz/infra/cifuzz/cifuzz_combined_entrypoint.py", line 40, in <module>
    sys.exit(main())
  File "/opt/oss-fuzz/infra/cifuzz/cifuzz_combined_entrypoint.py", line 36, in main
    return run_fuzzers_entrypoint.run_fuzzers_entrypoint()
  File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers_entrypoint.py", line 61, in run_fuzzers_entrypoint
    result = run_fuzzers.run_fuzzers(config)
  File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 302, in run_fuzzers
    if not fuzz_target_runner.run_fuzz_targets():
  File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 130, in run_fuzz_targets
    result = self.run_fuzz_target(target)
  File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 161, in run_fuzz_target
    result = fuzz_target_obj.prune()
  File "/opt/oss-fuzz/infra/cifuzz/fuzz_target.py", line 140, in prune
    result = engine_impl.minimize_corpus(self.target_path, [],
  File "/usr/local/lib/python3.8/dist-packages/clusterfuzz/_internal/bot/fuzzers/libFuzzer/engine.py", line 507, in minimize_corpus
    raise TimeoutError('Merging new testcases timed out\n' + result.output)
TimeoutError: Merging new testcases timed out
INFO: Running with entropic power schedule (0xFF, 100).

Increasing FUZZ_SECONDS does not seem to be enough to fix this... But I see fuzz_seconds // fuzzers_left_to_run so maybe this fuzzer is a bit long but it should have more time than the others...

catenacyber avatar Feb 15 '22 15:02 catenacyber

The duration should come from FUZZ_SECONDS // fuzzers_left_to_run as you mention. How long should get allocated according to your FUZZ_SECONDS and how long does it take locally to run?

oliverchang avatar Feb 16 '22 05:02 oliverchang

Well, I am not sure which fuzz target times out in the first place.

I get

> time ./src/fuzz_predefpcap_aware -merge=1 newdir/ suricata-cfl/corpus/fuzz_predefpcap_aware/

...

MERGE-OUTER: succesfull in 1 attempt(s)
MERGE-OUTER: the control file has 1107636 bytes
MERGE-OUTER: consumed 0Mb (66Mb rss) to parse the control file
MERGE-OUTER: 2855 new files with 47996 new features added; 11297 new coverage edges

real	1m25,703s
user	1m14,068s
sys	0m7,640s

I guess the log should tell me the command which timed out and the timeout it used

catenacyber avatar Feb 16 '22 07:02 catenacyber