Tensorflow coverage runs out of disk
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
The most recent tensorflow coverage failed to due disk limitations (see log https://oss-fuzz-build-logs.storage.googleapis.com/log-be1df61c-06ad-4275-9d8b-37a5e9815ddb.txt) This was after enabling all of the FuzzTest fuzzers (~15 more fuzzers) in https://github.com/google/oss-fuzz/pull/9780
```
Step #5: [2023-02-23 10:59:42,003 DEBUG] Calculating per-directory coverage summary.
Step #5: [2023-02-23 10:59:42,273 DEBUG] Finished calculating per-directory coverage summary.
Step #5: [2023-02-23 10:59:42,273 DEBUG] Writing per-directory coverage html reports.
Step #5: [2023-02-23 10:59:49,538 DEBUG] Finished writing per-directory coverage html reports.
Step #5: [2023-02-23 10:59:49,539 DEBUG] Generating directory view html index file as: "/workspace/out/libfuzzer-coverage-x86_64/report_target/encode_jpeg_fuzz/linux/directory_view_index.html".
Step #5: [2023-02-23 10:59:49,539 DEBUG] Finished generating directory view html index file.
Step #5: [2023-02-23 10:59:49,540 INFO] Index file for html report is generated as: "file:///workspace/out/libfuzzer-coverage-x86_64/report_target/encode_jpeg_fuzz/linux/index.html".
Step #5: WARNING: decode_json_example_fuzz has no profdata generated.
Step #5: ESC[0;31merror: Demangler did not provide expected number of symbols
Step #5: ESC[0mLLVM ERROR: IO failure on output stream: No space left on device
Step #5: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Step #5: LLVM ERROR: IO failure on output stream: No space left on device
Step #5: /usr/local/bin/coverage: line 225: 5902 Aborted (core dumped) llvm-cov show -format=html -output-dir=$output_dir -Xdemangler rcfilt $llvm_cov_args
Step #5: ********************************************************************************
Step #5: Code coverage report generation failed.
Step #5: To reproduce, run:
Step #5: python infra/helper.py build_image tensorflow
Step #5: python infra/helper.py build_fuzzers --sanitizer coverage tensorflow
Step #5: python infra/helper.py coverage tensorflow
Step #5: ********************************************************************************
Finished Step #5
ERROR
ERROR: build step 5 "gcr.io/oss-fuzz-base/base-runner" failed: step exited with non-zero status: 1
```
The build is quite large in particular because it pulls in a lot of third party libraries that are included in the instrumentation process, causing them to be included in the coverage data. One way to resolve this storage limitation is forcing some limitations on the instrumentation process during coverage builds. Another way may be to increase the disks used for Tensorflow builds?
I'd prefer increasing the disk size if possible, because down the line more fuzzers are likely to be added to Tensorflow which may cause the same issue again (considering we're close to the breaking point already) unless the disk size is increased. WDYT?
Contributor guide
Assessment
This issue has not been assessed yet.