assert due to negative max_total_time is triggered
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
GH workflow with fuzzing PUC Rio Lua [^1] is failed due to negative `max_total_time` (see assert in code [^2]):
```
2023-09-26 10:00:12,722 - root - INFO - Starting fuzzing
Traceback (most recent call last):
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers_entrypoint.py", line 96, in
sys.exit(main())
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers_entrypoint.py", line 92, in main
return run_fuzzers_entrypoint()
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers_entrypoint.py", line 62, in run_fuzzers_entrypoint
result = run_fuzzers.run_fuzzers(config)
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 316, in run_fuzzers
if not fuzz_target_runner.run_fuzz_targets():
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 131, in run_fuzz_targets
result = self.run_fuzz_target(target)
File "/opt/oss-fuzz/infra/cifuzz/run_fuzzers.py", line 259, in run_fuzz_target
return fuzz_target_obj.fuzz()
File "/opt/oss-fuzz/infra/cifuzz/fuzz_target.py", line 195, in fuzz
result = engine_impl.fuzz(self.target_path, options, artifacts_dir,
File "/usr/local/lib/python3.8/dist-packages/clusterfuzz/_internal/bot/fuzzers/libFuzzer/engine.py", line 278, in fuzz
fuzz_result = runner.fuzz(
File "/usr/local/lib/python3.8/dist-packages/clusterfuzz/_internal/bot/fuzzers/libfuzzer.py", line [40](https://github.com/ligurio/lua-c-api-tests/actions/runs/6311004556/job/17134116743?pr=51#step:5:41)1, in fuzz
return LibFuzzerCommon.fuzz(self, corpus_directories, fuzz_timeout,
File "/usr/local/lib/python3.8/dist-packages/clusterfuzz/_internal/bot/fuzzers/libfuzzer.py", line 200, in fuzz
assert max_total_time > 0
AssertionError
```
Full log: https://github.com/ligurio/lua-c-api-tests/actions/runs/6311004556/job/17134116743?pr=51
[^1]: https://github.com/google/oss-fuzz/tree/master/projects/lua
[^2]: https://github.com/google/clusterfuzz/blob/298cecc64af7ecbb1c528dd1789e999caa6af825/src/clusterfuzz/_internal/bot/fuzzers/libfuzzer.py#L125
Contributor guide
Research direction
Start with infra/cifuzz/run_fuzzers_entrypoint.py and infra/cifuzz/run_fuzzers.py, then compare the reported ClusterFuzz libfuzzer.py assertion and the linked OSS-Fuzz Lua workflow log. Reproduce the workflow or its fuzzing configuration and trace how max_total_time becomes negative. Done means the workflow no longer reaches the assertion and the fuzzing run completes with a valid positive duration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, lua, python
- Domain
- ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100