Avoid read/write from storage to speed the target up.
fuzz: Faster wallet_notifications target #28933
pull maflcko wants to merge 2 commits into bitcoin:master from maflcko:2311-fuzz-wallet-notif- changing 2 files +129 −36-
maflcko commented at 12:13 PM on November 24, 2023: member
-
fa971c09f2
Export assert from util/check.h
This avoids having to include both headers when assert and Assert are used at the same time.
-
DrahtBot commented at 12:13 PM on November 24, 2023: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
Code Coverage
For detailed information about the code coverage, see the test coverage report.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
- DrahtBot added the label Tests on Nov 24, 2023
- maflcko force-pushed on Nov 24, 2023
- DrahtBot added the label CI failed on Nov 24, 2023
- dergoegge approved
-
dergoegge commented at 1:44 PM on November 24, 2023: member
Code review ACK fa4fc99b6e2a13736521e6bca1f626ba1d2f59e3
With the mocked database this shouldn't be going to disk at all now, right?
- DrahtBot removed the label CI failed on Nov 24, 2023
-
maflcko commented at 1:51 PM on November 24, 2023: member
With the mocked database this shouldn't be going to disk at all now, right?
Yeah, I guess so. (A datadir is still created, though)
-
dergoegge commented at 2:00 PM on November 24, 2023: member
A datadir is still created, though
Is that necessary or just a side effect from using
TestingSetup? -
brunoerg commented at 2:03 PM on November 24, 2023: contributor
Concept ACK
will review soon!
-
maflcko commented at 2:18 PM on November 24, 2023: member
Is that necessary or just a side effect from using
TestingSetup?Both. For one,
validationcan not exist without datadir. Also, it is created inTestingSetup. But it shouldn't cause any issues, because it will be empty. -
dergoegge commented at 2:20 PM on November 24, 2023: member
But it shouldn't cause any issues, because it will be empty.
Empty dirs aren't of size zero and #28811 would still apply (given more timeouts/crashes).
It's a bit of a shame if it's always empty to still create it, but not an issue for this PR in any case.
-
maflcko commented at 2:39 PM on November 24, 2023: member
Are there any timeouts left at this point? If yes, it may be good to report them.
-
dergoegge commented at 3:03 PM on November 24, 2023: member
Are there any timeouts left at this point? If yes, it may be good to report them.
We'll see I guess, initial exec/s looked good but they have now deteriorated to 3 exec/s (per core). No timeouts so far though and CPU utilization is at 100% on all cores, so this is a definite improvement.
-
brunoerg commented at 3:34 PM on November 24, 2023: contributor
Is there any benefit about using this
ImportDescriptorapproach compared to simply useSetupDescriptorScriptPubKeyMans? -
maflcko commented at 3:43 PM on November 24, 2023: member
SetupScriptPubKeyMansWhich function do you mean?
$ git grep SetupScriptPubKeyMans | wc -l 0 -
brunoerg commented at 3:47 PM on November 24, 2023: contributor
Which function do you mean?
Sorry, edited that. It's
SetupDescriptorScriptPubKeyMans. - brunoerg approved
-
brunoerg commented at 5:23 PM on November 24, 2023: contributor
ACK fa4fc99b6e2a13736521e6bca1f626ba1d2f59e3
-
dergoegge commented at 10:48 AM on November 27, 2023: member
I've run into timeouts.
<details>
<summary>e.g. this input takes >5s to execute on my machine.</summary>
QV9BKr6un2BgAAD/S6+fn2CAYJ9gn5+f3wCABP+fn2Bg/489AGCf8AAAJn8AAAB/AJ9kYJ+fk0FB QQAZAADBvkFEIiT5////IiIjIiIgvF1G/90AAOR/D/+7QUFBPb1hvkFBV0G+Qfi+4IJBQQcjByIg jf4iIiISDwAAAAB///+7VBC1RCIk+f///yIiIyIiILxdRv/dAADkfw//u5gjRLW73dsG//8gIiIj IgAAQeDh4eHh4eEtLUEtLQMaGgMeKSopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSEpKSkpKSkp KSkpKRgpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKTkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSlFKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKdbWKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp yBID/wAC0QMDQQNBAQBBTmRCKSkpKSkpKSkpKSkpKSkpKSkpKSkpKTIpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpHykpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSki KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKQ4pKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpDikpKSkpKSkpKSkpKSkpKSlLKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpyBID/wAC0QMDQQNBAQBBTkFCCgMbAwMEABQDABADZAMDA0EAAAMDAwMKAx1DQ0Nm f34mQ0FkAwMDQQAAAwMDA0ED738AAEEDAuETGxTBwcHBwcHBwcHBwcHBwcHBwcEDABADQgoDZAP/ /wNBDQMDKSkpKSkpKSkpKSkpLikpKSkpCikpKX//KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpSSkpKSkpKSkpCCkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKUQpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKS8pKSkpKSkpKSkpKSkpKSopKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKTkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKX8pKWkpKSkp KSkpKSkpKSkpKSkpGCkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KdbWKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSopKSkpKSkpKSkpKSkpKSkp SSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKdYpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSlCKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKcgS/AAAAtEDA0EDQQEAQU5k QgoDGwMDBAAUAwAQA2QDAwNBAAADAwMDCnsdQ0NDZn9+JkNBZAMDA0EAAAMDAwNBA/9/AABBAwLh EwMUwcHBwcHBwcHBwcHBwcHBwcHBAwAQA0IKA5QD//8DQQ0DAykpKSkpKSkQKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpSSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpDEkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpfwAAACkpKSkpKSkpKSkpKSkpKSkqKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKZUpKSkpKSkpKSnW1ikpKSkpKSkpKRgpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKKkpKSkpKSkpKSkpKSkp KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkaAwPhqwAAAwMDAwP/5+fn5+fn</details>
Afl++ stability also dropped to ~70% which suggests that there is some non-determinism in the target.
-
maflcko commented at 10:50 AM on November 27, 2023: member
Afl++ stability also dropped to ~70% which suggests that there is some non-determinism in the target.
This is expected, because the wallet internally uses system random, similar to the p2p fuzz targets. This should be fixed in a follow-up for all fuzz targets.
-
fuzz: Faster wallet_notifications target fa15861763
- maflcko force-pushed on Nov 27, 2023
-
maflcko commented at 11:07 AM on November 27, 2023: member
I've run into timeouts.
Thanks, fixed by reducing the number of new addresses that are generated each run
- dergoegge approved
-
dergoegge commented at 11:46 AM on November 27, 2023: member
reACK fa15861763df71e788849b587883b3c16bb12229
- DrahtBot requested review from brunoerg on Nov 27, 2023
- brunoerg approved
-
brunoerg commented at 11:55 AM on November 27, 2023: contributor
reACK fa15861763df71e788849b587883b3c16bb12229
- fanquake merged this on Nov 27, 2023
- fanquake closed this on Nov 27, 2023
- maflcko deleted the branch on Nov 28, 2023
- bitcoin locked this on Nov 27, 2024