Merge bitcoin/bitcoin#28015: fuzz: Generate rpc fuzz targets individually#461
Merge bitcoin/bitcoin#28015: fuzz: Generate rpc fuzz targets individually#461DashCoreAutoGuix wants to merge 3 commits intobackport-0.26-batch-438from
Conversation
|
Warning Rate limit exceeded@PastaPastaPasta has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 22 minutes and 56 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (2)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
dash#6775 updates UniValue, which changed the syntax for fetching integers, which created a divergence of expected behavior from dash#6691
✅ Backport Verification - Issues FixedI found and fixed 1 issue:
Original Bitcoin commit: Details
The backport itself (bitcoin#28015: fuzz: Generate rpc fuzz targets individually) is faithful to the original Bitcoin change and only modifies test/fuzz/test_runner.py as expected. |
✅ Backport Verification - Issues FixedI found and fixed 1 issue:
Original Bitcoin commit: Technical Details
This PR should now build successfully across all platforms. ✅ |
✅ Backport Verification SuccessfulNo issues found! This backport is complete and faithful to the original Bitcoin change. Original Bitcoin commit: Analysis Summary
Changes Verified
This PR is ready for merge. ✅ |
…nd dash#6775, compile error 0b8fe88 chore: resolve logical conflict between dash#6691 and dash#6775 (Kittywhiskers Van Gogh) Pull request description: ## Additional Information [dash#6691](dashpay#6691) and [dash#6775](dashpay#6775) were merged into `develop` in that order, neither conflicting with the other. [dash#6775](dashpay#6775) updated the UniValue subtree before it was unsubtree'd and subsequent improvements were backported. To enable this, a syntax change was required which replaced `get_int()` with `getInt<int>()`, which, the code introduced in [dash#6691](dashpay#6691) didn't use as it was merged _before_ [dash#6775](dashpay#6775). As it was new code, this was not registered as a merge conflict but this logical conflict caused `develop` to fail ([build](https://github.com/dashpay/dash/actions/runs/16546102266)). This pull request remedies that issue. ## Breaking Changes None expected ## Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)** - [x] I have added or updated relevant unit/integration/functional/e2e tests - [x] I have made corresponding changes to the documentation **(note: N/A)** - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACK 0b8fe88 knst: utACK 0b8fe88 Tree-SHA512: 7af4599e38bca5d776766cd8a2acda46d046f5dfe9f9c45586ac1f27fc709bd6ac913709b2c24d133ab57bbf2a6d5cb0630d0e874f62a472e173d61ced2face0
fa1e27f fuzz: Generate rpc fuzz targets individually (MarcoFalke) Pull request description: The `rpc` fuzz target was added more than two years ago in e458631. However, the bug bitcoin#27913 was only found recently. Thus, it is pretty clear that fuzz engines can't deal with a search space that is too broad and can be extended in too many directions. Fix that by limiting the search space to each RPC method name and then iterate over all names, instead of letting the fuzz engine do the iteration. With this, the bug can be found in seconds, as opposed to years of CPU time (or never). ACKs for top commit: brunoerg: ACK fa1e27f dergoegge: ACK fa1e27f Tree-SHA512: 45ccba842367650d010320603153276b1b303deda9ba8c6bb31a4d2473b00aa5bca866db95f541485d65efd8276e2575026968c037872ef344fa33cf45bcdcd7
dcea54e to
1eedea0
Compare
✅ Verification CompleteStatus: APPROVED SummaryThis PR successfully backports Bitcoin Core PR bitcoin#28015, which improves fuzz testing by generating RPC fuzz targets individually rather than having the fuzz engine explore the entire RPC search space. Verification Results✅ CI Status: All 51 checks passing Key Changes VerifiedThe backport correctly applies all structural changes from Bitcoin:
Dash-Specific Adaptations✅ Preserved Dash fuzzing parameters: The backport correctly maintains Dash's existing fuzzing configuration ( Additional ContextThe extra file Result: This is a faithful, well-adapted backport ready for merge. |
Backports bitcoin#28015
Original commit: cf4da5e
Backported from Bitcoin Core v0.26