Repository navigation
Delete nonreduced fuzz inputs - #292
Conversation
Storage device usage (
|
|
Looks like coverage is mostly preserved, except for one line: Which I guess is a bitcoin/bitcoin#29018 bug :( |
|
Actually, this is covered by fuzz input 9de6ba8a790e33081e10d1f3e94ead2917233db8. Maybe this is a gcov bug :( (Ref: bitcoin/bitcoin#31047) |
|
Thanks for doing this. This reduction is with the new script that retains any inputs that are relevant to any of the three most recent major branches, right? |
|
Yes, this is basically doing the same that was done before every branch off, plus re-adding fuzz inputs for the prior release branches as well. I'd say this is probably rfm. If someone (or their LLM bot) is bored, they can try to investigate the gcov bug for fun, but I wouldn't see it as a blocker. cc @marcofleon maybe you want to double check this with llvm coverage, but not too important. |
I'll give it a look, won't take me long. |
|
main: https://marcofleon.github.io/coverage/original_corpora/ Line hit count differences are in |
|
Looks like there are also llvm-cov bugs, where an assertion failure branch is claimed to be hit? |
|
Hm yeah good catch. The machine I use is on an old clang and llvm toolchain. Might help if I update. Either way, I think this is good to go? Only real coverage loss I can see is one successful input for the rpc |
I think this is an llvm cov bug as well. The coverage exists neither before, nor after. The secp one is likely a cov bug as well, but I haven't tried it myself. |
|
Seems fine to me. The missing coverage should be added back after the next upstream anyway, as at least currently the non-reduced inputs are still part of my active collection. |
|
To clarify, I ran with: diff --git a/src/rpc/mempool.cpp b/src/rpc/mempool.cpp
index 5a0dc2c20a..28aae4855e 100644
--- a/src/rpc/mempool.cpp
+++ b/src/rpc/mempool.cpp
@@ -889,2 +889,4 @@ static RPCMethod getmempoolcluster()
+ Assert(false);
+
auto cluster = mempool.GetCluster(txid);and |
|
Didn't know these coverage tools were so buggy... I guess the two llvm-cov ones you pointed out look like underflow and off by one somehow. |
As per the usual process to avoid wasted CI resources and timeouts when CI runs on large and presumed irrelevant inputs.
Normally, deletion of non-reduced fuzz inputs should happen after feature-freeze on the
masterBitcoin Core branch, but before branch-off, so that the latest release branch retains mostly valid fuzz inputs.Previous: #263
To "reproduce"
Install a fresh VM, as explained in the script's doc, and run it:
To "test"
CI
CI should pass, except for a
lintfailure, which should light up on any changes like this pull request, which delete fuzz inputs.