Add fuzzing seeds to recently contributed fuzzing harnesses #2

pull practicalswift wants to merge 1 commits into bitcoin-core:master from practicalswift:seeds-30 changing 3595 files +2030 −0
  1. practicalswift commented at 2:42 PM on October 31, 2019: contributor

    Add fuzzing seeds to recently contributed fuzzing harnesses.

    Seeds for:

  2. Add fuzzing seeds to recently contributed fuzzing harnesses f4bb7dbf7e
  3. maflcko commented at 2:50 PM on October 31, 2019: contributor

    Thanks, I will merge them with libFuzzer -merge=1

  4. maflcko commented at 8:44 PM on November 1, 2019: contributor

    I found that only some script flags seeds increased coverage. See 3c3b16c3791a017299b6a75fee87bcf723da4dbd

  5. practicalswift commented at 10:26 AM on November 3, 2019: contributor

    @MarcoFalke That's expected since the script flags seeds I submitted were not bootstrapped with the seeds in the repo :)

    Anything I need to do to get the seed corpora for the other fuzzing harnesses in? :)

  6. maflcko commented at 2:25 PM on November 3, 2019: contributor

    All others didn't increase coverage for me. Feel free to double check

  7. practicalswift commented at 2:45 PM on November 3, 2019: contributor

    @MarcoFalke Please note that script flags was the only fuzzer in master that got added any seeds. The rest of the seeds are to fuzzers not yet merged (see linked PR:s).

    Take fuzz_seed_corpus/addr_info_deserialize/166c9b7e8a5d54837ddf5f752051c692115219ab in this PR as an example. That is a seed for addr_info_deserialize and AFAICT there are no seeds for that fuzzer in this repo, right? :)

    Note that addr_info_deserialize is waiting to be merged in https://github.com/bitcoin/bitcoin/pull/17051.

    Sames goes for all the added seeds in this PR (with the exception of the script flag seeds).

  8. maflcko commented at 4:09 PM on November 3, 2019: contributor

    Ah, thx

  9. practicalswift commented at 7:09 PM on November 11, 2019: contributor

    Can we move forward with adding the additional seeds? :)

  10. maflcko commented at 7:22 PM on November 11, 2019: contributor

    I'd like to add them only after the fuzzers have been merged. Otherwise I can't calculate coverage information.

  11. practicalswift commented at 7:26 PM on November 11, 2019: contributor

    Is there anything I can do to get the fuzzers merged? :)

  12. maflcko commented at 7:30 PM on November 11, 2019: contributor

    review on them would help

  13. practicalswift commented at 4:35 PM on November 26, 2019: contributor

    @MarcoFalke Can we move forward with some of the remaining fuzzing harnesses? :)

  14. maflcko commented at 7:53 PM on December 18, 2019: contributor

    Thanks merged in 5c4e9f981ccd5a39a0a3b1093a9ad69117d28557

  15. maflcko commented at 7:54 PM on December 18, 2019: contributor

    Let me know if I forgot some files which increase coverage, otherwise feel free to close

  16. maflcko commented at 8:52 PM on December 18, 2019: contributor

    Before:

    Screenshot_2019-12-18 LCOV - fuzz_coverage info

    After:

    Screenshot_2019-12-18 LCOV - fuzz_coverage info(1)

  17. practicalswift commented at 8:57 PM on December 18, 2019: contributor

    @MarcoFalke I'll investigate! To make sure we measure exactly the same way: what commands/options did you use to generate the coverage reports?

  18. maflcko commented at 9:07 PM on December 18, 2019: contributor

    It looks like this:

    Run prefilled_transaction_deserialize with args ...
    ... ['./src/test/fuzz/prefilled_transaction_deserialize', '-merge=1', '../btc_qa_assets/fuzz_seed_corpus/prefilled_transaction_deserialize', '../btc_qa_assets/fuzz_seed_corpus_other/prefilled_transaction_deserialize']
    Output: INFO: Seed: 4151550544
    INFO: Loaded 1 modules   (14253 inline 8-bit counters): 14253 [0x55a62cdea258, 0x55a62cdeda05), 
    INFO: Loaded 1 PC tables (14253 PCs): 14253 [0x55a62cdeda08,0x55a62ce254d8), 
    MERGE-OUTER: 417 files, 207 in the initial corpus
    MERGE-OUTER: attempt 1
    INFO: Seed: 4201440395
    INFO: Loaded 1 modules   (14253 inline 8-bit counters): 14253 [0x5615a461a258, 0x5615a461da05), 
    INFO: Loaded 1 PC tables (14253 PCs): 14253 [0x5615a461da08,0x5615a46554d8), 
    INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes
    MERGE-INNER: using the control file '/tmp/libFuzzerTemp.14696.txt'
    MERGE-INNER: 417 total files; 0 processed earlier; will process 417 files now
    [#1](/bitcoin-core-qa-assets/1/)	pulse  lim: 4 exec/s: 0 rss: 33Mb
    [#2](/bitcoin-core-qa-assets/2/)	pulse  lim: 4 exec/s: 0 rss: 33Mb
    [#4](/bitcoin-core-qa-assets/4/)	pulse  lim: 4 exec/s: 0 rss: 33Mb
    [#8](/bitcoin-core-qa-assets/8/)	pulse  lim: 4 exec/s: 0 rss: 33Mb
    [#16](/bitcoin-core-qa-assets/16/)	pulse  lim: 4 exec/s: 0 rss: 34Mb
    [#32](/bitcoin-core-qa-assets/32/)	pulse  lim: 4 exec/s: 0 rss: 37Mb
    [#64](/bitcoin-core-qa-assets/64/)	pulse  lim: 4 exec/s: 0 rss: 44Mb
    [#128](/bitcoin-core-qa-assets/128/)	pulse  lim: 4 exec/s: 0 rss: 51Mb
    [#256](/bitcoin-core-qa-assets/256/)	pulse  lim: 4 exec/s: 0 rss: 59Mb
    MERGE-OUTER: succesfull in 1 attempt(s)
    MERGE-OUTER: the control file has 114441 bytes
    MERGE-OUTER: consumed 0Mb (34Mb rss) to parse the control file
    MERGE-OUTER: 0 new files with 0 new features added
    
  19. maflcko commented at 9:10 PM on December 18, 2019: contributor

    So that is using libfuzzer. And libfuzzer is using "features" to determine if a seed adds coverage. You can get the "feature" coverage by just running libfuzzer. One of the lines will say:

    [#25](/bitcoin-core-qa-assets/25/)	INITED cov: 714 ft: 1087 corp: 16/645b lim: 4 exec/s: 0 rss: 35Mb
    
  20. practicalswift commented at 9:20 PM on December 18, 2019: contributor

    @MarcoFalke I'm well aware of libFuzzer reports: I was thinking about what series of commands you ran to collect data for and to generate the lcov report. Trying to reproduce your results :)

  21. practicalswift commented at 9:21 PM on December 18, 2019: contributor

    Did you use test/fuzz/test_runner.py?

  22. maflcko commented at 9:21 PM on December 18, 2019: contributor
  23. maflcko commented at 9:22 PM on December 18, 2019: contributor
  24. practicalswift commented at 9:28 PM on December 18, 2019: contributor

    Excellent! Exactly what I needed. Thanks!

  25. practicalswift closed this on Jan 29, 2020


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/qa-assets. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-29 19:25 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me