Skip to content

Commit 6499928

Browse files
author
MarcoFalke
committed
Merge bitcoin#22573: fuzz: document faster throughput configuration
8a4f0fc Document faster throughput configuration (Alex Groce) Pull request description: This is a small change to the fuzzing doc that I think might help more people improve the corpus coverage, which I think is low partly just due to lack of long, low-overhead, runs, in addition to the need to apply a more diverse set of fuzzers and coverage notions. ACKs for top commit: practicalswift: ACK 8a4f0fc tryphe: ACK 8a4f0fc Tree-SHA512: 0f1802f5c551d6ade7393cd2ac439ffd485786b17c4fd0f1a321f69f8ed0db1167ae04b5cae7bf904e89aba03e89b6d974bff564bfc6a78a571893719f323434
2 parents da1c0c6 + 8a4f0fc commit 6499928

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

doc/fuzzing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ INFO: seed corpus: files: 991 min: 1b max: 1858b total: 288291b rss: 150Mb
8383
8484
```
8585
86+
## Run without sanitizers for increased throughput
87+
88+
Fuzzing on a harness compiled with `--with-sanitizers=address,fuzzer,undefined` is good for finding bugs. However, the very slow execution even under libFuzzer will limit the ability to find new coverage. A good approach is to perform occasional long runs without the additional bug-detectors (configure `--with-sanitizers=fuzzer`) and then merge new inputs into a corpus as described in the qa-assets repo (https://github.com/bitcoin-core/qa-assets/blob/main/.github/PULL_REQUEST_TEMPLATE.md). Patience is useful; even with improved throughput, libFuzzer may need days and 10s of millions of executions to reach deep/hard targets.
89+
8690
## Reproduce a fuzzer crash reported by the CI
8791
8892
- `cd` into the `qa-assets` directory and update it with `git pull qa-assets`

0 commit comments

Comments
 (0)