Open rlohning opened 3 years ago
We use higher timeout values in clusterfuzz now, like 65 sec [https://github.com/google/clusterfuzz/blob/master/src/local/butler/scripts/setup.py#L28], @jonathanmetzman do we need to bump these in oss-fuzz infra scripts - https://github.com/google/oss-fuzz/search?q=timeout%3D25
@rlohning - as @oliverchang pointed out, in clusterfuzz we explicitly don't allow more than 25 sec timeout during fuzzing as it impacts overall fuzzing efficiency - https://github.com/google/clusterfuzz/blob/481c78b28fb2d9a401a6f3fe302746a8f6110954/src/python/bot/fuzzers/libFuzzer/fuzzer.py#L54. what is the usecase for more than 25 sec timeout ?
No actual use case I guess. I just played around with the parameters and was surprised by the behavior.
Wouldn't "we explicitly don't allow" mean to exit with an error message when I pass -timeout=60?
No actual use case I guess. I just played around with the parameters and was surprised by the behavior.
Wouldn't "we explicitly don't allow" mean to exit with an error message when I pass -timeout=60?
yes that would be ideal to exit out, can keep this open for enhancement
Isn't this useful for debugging timeout bugs? e.g. the instructions at https://google.github.io/oss-fuzz/advanced-topics/reproducing/#fuzz-target-bugs instruct setting --timeout=65
(which doesn't seem possible when using using python infra/helper.py reproduce ...
.
Hmm, I'm thinking we should revert that --timeout=65
to 25 seconds in the documentation too.
For ClusterFuzz, the reason we have 65 seconds for reproduction and 25 seconds during fuzzing is to not file flaky timeout bugs which take very close to 25 seconds to complete. These timeouts may be flaky to reproduce consistently, especially if different CPUs/machine types run the same testcase.
When we do file them and get a developer to reproduce them however, it seems beneficial to set a lower timeout (i.e. 25 seconds) instead so that these reproduce more easily.
@jonathanmetzman @inferno-chromium WDYT?
When I use run_fuzzer or reproduce with an explicit -timeout=60, the fuzzers still get the parameter -timeout=25:
My explicitly set timeout seems to be ignored. Even if it wasn't, reading both values would be confusing to the user, at least.