fuzz: Bound package eval tx fanout #35318

pull AgusR7 wants to merge 1 commits into bitcoin:master from AgusR7:fuzz-package-eval-bounds changing 1 files +8 −2
  1. AgusR7 commented at 2:03 AM on May 19, 2026: none

    Fixes #35207.

    The tx_package_eval fuzz target intentionally creates multi-transaction packages, including packages over the package-count limit. However, it does not need each generated transaction's input and output counts to scale with the reusable mempool outpoint set. After the ancestor and descendant size limits were removed from mempool limits, that can make some generated inputs spend a large amount of time in set churn rather than package evaluation.

    This bounds the per-transaction input/output fanout generated by the harness while keeping the existing 1-to-26 transaction package range. The final package transaction still spends all in-package outputs, so the target continues to exercise package evaluation paths and the package-count boundary.

    Testing:

    cmake --build build_fuzz_nosan --target fuzz -j2
    FUZZ=tx_package_eval build_fuzz_nosan/bin/fuzz -runs=10000
    cmake --build build_fuzz --target fuzz -j2
    ASAN_OPTIONS=detect_leaks=0 FUZZ=tx_package_eval build_fuzz/bin/fuzz -runs=1000
    
  2. fuzz: Bound package eval tx fanout
    Bound the number of inputs and outputs generated per transaction in the tx_package_eval fuzz target. This keeps the harness runtime stable after package size limits were removed from mempool limits, while still exercising multi-transaction package evaluation.
    
    Fixes #35207
    2951195ce9
  3. DrahtBot added the label Fuzzing on May 19, 2026
  4. DrahtBot commented at 2:03 AM on May 19, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35318.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-19 06:51 UTC