(Comment about job-function further up)
Suggested logging improvement in commit 3dd6ef5c174ce36119660cd2ccc82ab09d82300b, here tested with early leak-detection still enabled.
Before
Generating corpus to foo
Running '['/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz', '-rss_limit_mb=8000', '-max_total_time=10', '-reload=0', '-use_value_profile=0', PosixPath('foo/addition_overflow')]'
Traceback (most recent call last):
File "/home/hodlinator/bitcoin/build_fuzz/test/fuzz/test_runner.py", line 412, in <module>
main()
File "/home/hodlinator/bitcoin/build_fuzz/test/fuzz/test_runner.py", line 180, in main
return generate_corpus(
^^^^^^^^^^^^^^^^
File "/home/hodlinator/bitcoin/build_fuzz/test/fuzz/test_runner.py", line 291, in generate_corpus
future.result()
File "/nix/store/wfbjq35kxs6x83c3ncpfxdyl5gbhdx4h-python3-3.12.6/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/nix/store/wfbjq35kxs6x83c3ncpfxdyl5gbhdx4h-python3-3.12.6/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/nix/store/wfbjq35kxs6x83c3ncpfxdyl5gbhdx4h-python3-3.12.6/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hodlinator/bitcoin/build_fuzz/test/fuzz/test_runner.py", line 262, in job
subprocess.run(
File "/nix/store/wfbjq35kxs6x83c3ncpfxdyl5gbhdx4h-python3-3.12.6/lib/python3.12/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz', '-rss_limit_mb=8000', '-max_total_time=10', '-reload=0', '-use_value_profile=0', PosixPath('foo/addition_overflow')]' returned non-zero exit status 77.
After
Generating corpus to foo
Running '['/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz', '-rss_limit_mb=8000', '-max_total_time=10', '-reload=0', '-use_value_profile=0', PosixPath('foo/addition_overflow')]'
Command '['/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz', '-rss_limit_mb=8000', '-max_total_time=10', '-reload=0', '-use_value_profile=0', PosixPath('foo/addition_overflow')]' output:
'INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 168855887
INFO: Loaded 1 modules (1305991 inline 8-bit counters): 1305991 [0x561fd5b16200, 0x561fd5c54f87),
INFO: Loaded 1 PC tables (1305991 PCs): 1305991 [0x561fd5c54f88,0x561fd70427f8),
INFO: 0 files found in foo/addition_overflow
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
INFO: A corpus is not provided, starting from an empty corpus
[#2](/bitcoin-bitcoin/2/) INITED cov: 797 ft: 798 corp: 1/1b exec/s: 0 rss: 230Mb
==3390108==WARNING: invalid path to external symbolizer!
==3390108==WARNING: Failed to use and restart external symbolizer!
=================================================================
==3390108==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 777 byte(s) in 1 object(s) allocated from:
[#0](/bitcoin-bitcoin/0/) 0x561fca60f978 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da0978)
[#1](/bitcoin-bitcoin/1/) 0x561fca6129c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da39c9)
[#2](/bitcoin-bitcoin/2/) 0x561fca61c3c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad3c9)
[#3](/bitcoin-bitcoin/3/) 0x561fca61c01f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad01f)
[#4](/bitcoin-bitcoin/4/) 0x561fca61b603 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dac603)
[#5](/bitcoin-bitcoin/5/) 0x561fcc4984de (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c294de)
[#6](/bitcoin-bitcoin/6/) 0x561fcc493c83 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c24c83)
[#7](/bitcoin-bitcoin/7/) 0x561fcc49391f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c2491f)
[#8](/bitcoin-bitcoin/8/) 0x561fca4b3ab8 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c44ab8)
[#9](/bitcoin-bitcoin/9/) 0x561fca4b66a0 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c476a0)
[#10](/bitcoin-bitcoin/10/) 0x561fca4b7acb (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c48acb)
[#11](/bitcoin-bitcoin/11/) 0x561fca4b7ce7 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c48ce7)
[#12](/bitcoin-bitcoin/12/) 0x561fca4986d1 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c296d1)
[#13](/bitcoin-bitcoin/13/) 0x561fca29cd72 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5a2dd72)
[#14](/bitcoin-bitcoin/14/) 0x7ff7486dd27d (/nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libc.so.6+0x2a27d) (BuildId: 6a788357de379aee7162f608d25a7692f7162b15)
Direct leak of 777 byte(s) in 1 object(s) allocated from:
[#0](/bitcoin-bitcoin/0/) 0x561fca60f978 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da0978)
[#1](/bitcoin-bitcoin/1/) 0x561fca6129c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da39c9)
[#2](/bitcoin-bitcoin/2/) 0x561fca61c3c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad3c9)
[#3](/bitcoin-bitcoin/3/) 0x561fca61c01f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad01f)
[#4](/bitcoin-bitcoin/4/) 0x561fca61b603 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dac603)
[#5](/bitcoin-bitcoin/5/) 0x561fcc4984de (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c294de)
[#6](/bitcoin-bitcoin/6/) 0x561fcc493c83 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c24c83)
[#7](/bitcoin-bitcoin/7/) 0x561fcc49391f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c2491f)
[#8](/bitcoin-bitcoin/8/) 0x561fca4b3ab8 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c44ab8)
[#9](/bitcoin-bitcoin/9/) 0x561fca4b66a0 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c476a0)
[#10](/bitcoin-bitcoin/10/) 0x561fca4b72b0 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c482b0)
[#11](/bitcoin-bitcoin/11/) 0x561fca4b7ee7 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c48ee7)
[#12](/bitcoin-bitcoin/12/) 0x561fca4986d1 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c296d1)
[#13](/bitcoin-bitcoin/13/) 0x561fca29cd72 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5a2dd72)
[#14](/bitcoin-bitcoin/14/) 0x7ff7486dd27d (/nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libc.so.6+0x2a27d) (BuildId: 6a788357de379aee7162f608d25a7692f7162b15)
Direct leak of 777 byte(s) in 1 object(s) allocated from:
[#0](/bitcoin-bitcoin/0/) 0x561fca60f978 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da0978)
[#1](/bitcoin-bitcoin/1/) 0x561fca6129c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5da39c9)
[#2](/bitcoin-bitcoin/2/) 0x561fca61c3c9 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad3c9)
[#3](/bitcoin-bitcoin/3/) 0x561fca61c01f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dad01f)
[#4](/bitcoin-bitcoin/4/) 0x561fca61b603 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5dac603)
[#5](/bitcoin-bitcoin/5/) 0x561fcc4984de (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c294de)
[#6](/bitcoin-bitcoin/6/) 0x561fcc493c83 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c24c83)
[#7](/bitcoin-bitcoin/7/) 0x561fcc49391f (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x7c2491f)
[#8](/bitcoin-bitcoin/8/) 0x561fca4b3ab8 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c44ab8)
[#9](/bitcoin-bitcoin/9/) 0x561fca4b76d4 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c486d4)
[#10](/bitcoin-bitcoin/10/) 0x561fca4b7ce7 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c48ce7)
[#11](/bitcoin-bitcoin/11/) 0x561fca4986d1 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5c296d1)
[#12](/bitcoin-bitcoin/12/) 0x561fca29cd72 (/home/hodlinator/bitcoin/build_fuzz/src/test/fuzz/fuzz+0x5a2dd72)
[#13](/bitcoin-bitcoin/13/) 0x7ff7486dd27d (/nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libc.so.6+0x2a27d) (BuildId: 6a788357de379aee7162f608d25a7692f7162b15)
SUMMARY: AddressSanitizer: 2331 byte(s) leaked in 3 allocation(s).
INFO: to ignore leaks on libFuzzer side use -detect_leaks=0.
MS: 1 ChangeBit-; base unit: adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
0x8,
\010
artifact_prefix='./'; Test unit written to ./leak-8d883f1577ca8c334b7c6d75ccb71209d71ced13
Base64: CA==
'