Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timeout in pruning job #89

Open
catenacyber opened this issue Feb 15, 2022 · 3 comments
Open

Timeout in pruning job #89

catenacyber opened this issue Feb 15, 2022 · 3 comments

Comments

@catenacyber
Copy link
Contributor

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...

@oliverchang
Copy link
Collaborator

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?

@catenacyber
Copy link
Contributor Author

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

@ligurio
Copy link
Contributor

ligurio commented Oct 26, 2024

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

Or at least a file in a corpus that triggered timeout.

ligurio added a commit to ligurio/lua-c-api-tests that referenced this issue Oct 26, 2024
```
  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
```

See also google/clusterfuzzlite#89
ligurio added a commit to ligurio/lua-c-api-tests that referenced this issue Nov 25, 2024
```
  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
```

The prune duration is come from `FUZZ_SECONDS` // `fuzzers_left_to_run`.
The patch increase a prune timeout, it seems due to a huge corpus
and a number of fuzzers pruning takes more time and time is not enough.

See also google/clusterfuzzlite#89
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants