google / google/oss-fuzz

assert due to negative max_total_time is triggered

Open
#11,017 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.