[29.x] Backports #32292

pull fanquake wants to merge 22 commits into bitcoin:29.x from fanquake:29_x_backports changing 22 files +137 −320
  1. DrahtBot commented at 10:55 am on April 17, 2025: contributor

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

    Code Coverage & Benchmarks

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

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK willcl-ark

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  2. DrahtBot added the label Backport on Apr 17, 2025
  3. maflcko commented at 10:59 am on April 17, 2025: member
    Could also add #32184 ?
  4. maflcko added the label DrahtBot Guix build requested on Apr 17, 2025
  5. maflcko added this to the milestone 29.1 on Apr 17, 2025
  6. fanquake force-pushed on Apr 17, 2025
  7. in .github/workflows/ci.yml:202 in 57254e7541 outdated
    197@@ -198,6 +198,8 @@ jobs:
    198           Set-Location "$env:VCPKG_INSTALLATION_ROOT"
    199           Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
    200           Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
    201+          # Workaround for libevent, which requires CMake 3.1 but is incompatible with CMake >= 4.0.
    202+          sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake"
    


    hebasto commented at 1:49 pm on April 17, 2025:

    bash has to be used to run sed:

     0--- a/.github/workflows/ci.yml
     1+++ b/.github/workflows/ci.yml
     2@@ -194,10 +194,10 @@ jobs:
     3           Write-Host "PowerShell version $($PSVersionTable.PSVersion.ToString())"
     4 
     5       - name: Using vcpkg with MSBuild
     6+        shell: bash
     7         run: |
     8-          Set-Location "$env:VCPKG_INSTALLATION_ROOT"
     9-          Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
    10-          Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
    11+          echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows.cmake"
    12+          echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows-static.cmake"
    13           # Workaround for libevent, which requires CMake 3.1 but is incompatible with CMake >= 4.0.
    14           sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake"
    

    See: f8619196ceb5c6a58125506d276d9515837f043a

  8. fanquake force-pushed on Apr 17, 2025
  9. fanquake force-pushed on Apr 17, 2025
  10. DrahtBot commented at 3:21 am on April 21, 2025: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit f490f5562d4b20857ef8d042c050763795fd43da(29.x) commit c9d6577a2bcfb52fb9c4e4113526404c29c1d3a8(pull/32292/merge)
    *-aarch64-linux-gnu-debug.tar.gz 3a12bf542167f638... 3fb0b2021135a444...
    *-aarch64-linux-gnu.tar.gz 3c5687d46cfe233d... b13812eb43b28d4f...
    *-arm-linux-gnueabihf-debug.tar.gz 831911040a5a5c35... b0136701d7fd3380...
    *-arm-linux-gnueabihf.tar.gz f2b9896cf3167464... 9a502e95e664144a...
    *-arm64-apple-darwin-codesigning.tar.gz 4ca3ffedce0ddecb... 80cb212484bb0572...
    *-arm64-apple-darwin-unsigned.tar.gz 0de90429a574b3a0... 06761dbf0b3d62f7...
    *-arm64-apple-darwin-unsigned.zip b3912c74207cb471... c0e4973b077b4264...
    *-powerpc64-linux-gnu-debug.tar.gz 5448afb9c335c9a2... 79f726b222a74fbd...
    *-powerpc64-linux-gnu.tar.gz a86a681cf332bf92... 55fa3b39bb6e53d9...
    *-riscv64-linux-gnu-debug.tar.gz 6d23e95d99022338... 3efe4eb545f2fa38...
    *-riscv64-linux-gnu.tar.gz ff100cc06dfb6595... 4276b71192d16f1c...
    *-x86_64-apple-darwin-codesigning.tar.gz f2a1a76ca4f6e302... 49095a8cab28ea3b...
    *-x86_64-apple-darwin-unsigned.tar.gz ad6d1144306cd363... 825e00f4d2c40212...
    *-x86_64-apple-darwin-unsigned.zip 21e508364c42ec2e... 28e0f0d906166633...
    *-x86_64-linux-gnu-debug.tar.gz 11e2224c0dbc69dc... 89ab8dcbdbfc9e97...
    *-x86_64-linux-gnu.tar.gz b56b18f05dd78948... 93723d6107f56b32...
    *.tar.gz 3aceb86638b0d9a4... 3588107a3e37db15...
    SHA256SUMS.part e89c53476caef076... 77c08e99c36e5da0...
    guix_build.log ac748453988d5eec... 89e923ae9305ddc7...
    guix_build.log.diff b911fc48c11baf76...
  11. DrahtBot removed the label DrahtBot Guix build requested on Apr 21, 2025
  12. fanquake force-pushed on Apr 24, 2025
  13. maflcko commented at 7:29 am on April 25, 2025: member
    Could also include https://github.com/bitcoin-core/gui/pull/864, possibly?
  14. hebasto commented at 12:49 pm on April 26, 2025: member

    Could also include bitcoin-core/gui#864, possibly?

    +1

  15. fanquake force-pushed on Apr 28, 2025
  16. fanquake force-pushed on Apr 28, 2025
  17. hebasto commented at 10:08 am on April 28, 2025: member
  18. fanquake force-pushed on Apr 28, 2025
  19. DrahtBot added the label CI failed on Apr 28, 2025
  20. DrahtBot commented at 10:10 am on April 28, 2025: contributor

    🚧 At least one of the CI tasks failed. Task multiprocess, i686, DEBUG: https://github.com/bitcoin/bitcoin/runs/41263344251 LLM reason (✨ experimental): The CI failure is caused by compile errors due to incomplete handling of QDebug in sendcoinsdialog.cpp.

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  21. DrahtBot removed the label CI failed on Apr 28, 2025
  22. fanquake force-pushed on May 1, 2025
  23. Remove support for RNDR/RNDRRS for aarch64 on Linux
    This hardware feature is
    
    - rarely supported on SoCs (and broken on like half of the chips that support it in the first place) (#31817)
    - apparently not compiled into the release binary (https://github.com/bitcoin/bitcoin/issues/31817#issuecomment-2795885962)
    - hard to test in CI, due to unavailable of hardware
    
    Better to remove it.
    
    This reverts commit aee5404e02e203a256c1a97b629b9b107cc8bb07.
    
    Closes #31817.
    
    Github-Pull: #32248
    Rebased-From: 7749d929a0d9dfe71541a22e557ea41e01df28ce
    ca70d5cb25
  24. test: Handle empty string returned by CLI as None in RPC tests
    Github-Pull: #32286
    Rebased-From: a4041c77f0e20d004524868e70ff12508832c9eb
    85f3e1de68
  25. ci: Add workaround for vcpkg's libevent package
    This change is necessary for Windows GHA images, which provide
    CMake >= 4.0.
    
    Github-Pull: #32184
    Rebased-From: ef00a28414daed2dd026b458082ed03fe9508074
    64552c83b2
  26. refactor: Remove spurious virtual from final ~CZMQNotificationInterface
    Github-Pull: #32187
    Rebased-From: fa69c42fdf0aeec0546e951bc6132ab630edb9d4
    3dbd2b3d17
  27. test: Add imports for util bpf_cflags
    This is required for the next commit.
    
    Github-Pull: #32336
    Rebased-From: fa0c1baaf89805182de56d6a2e8eed2265a94b40
    4ed5c34abb
  28. scripted-diff: Use bpf_cflags
    -BEGIN VERIFY SCRIPT-
    
     ren() { sed --regexp-extended -i "s/$1/$2/g" $( git grep --extended-regexp -l "$1" ) ; }
    
     ren 'cflags=\["-Wno-error=implicit-function-declaration"\]' 'cflags=bpf_cflags()'
    
    -END VERIFY SCRIPT-
    
    Github-Pull: #32336
    Rebased-From: facb9b327b9da39ce1e09ed56199be9efb19b5b8
    3665310808
  29. gui: crash fix, disconnect numBlocksChanged() signal during shutdown
    The crash stems from the order of the shutdown procedure:
    We first unset the client model, then destroy the wallet controller—but we leave
    the internal wallet models ('m_wallets') untouched for a brief period. As a result,
    there’s a point in time where views still have connected signals and access to
    wallet models that are not connected to any wallet controller.
    Now.. since the clientModel is only replaced with nullptr locally and not destroyed
    yet, signals like numBlocksChanged can still emit. Thus, when wallet views receive
    them, they see a non-null wallet model ptr, and proceed to call backend functions
    from a model that is being torn down.
    
    As the shutdown procedure begins by unsetting clientModel from all views. It’s safe
    to ignore events when clientModel is nullptr.
    
    Github-Pull: gui#864
    Rebased-From: 71656bdfaa6bfe08ce9651246a3ef606f923351b
    5aa4956cd3
  30. qt: Replace stray tfm::format to cerr with qWarning
    GUI warnings should go to the log, not to the console (which may not be
    connected at all).
    
    Github-Pull: gui#868
    Rebased-From: edd46566bd66cea7d7f4116429fe1c11d2187ba2
    f4d9546425
  31. doc: Fix fuzz test_runner.py path
    This commit fixes the path listed in the documentation for the fuzz
    testing test_runner.py. Previously the --help option worked but running
    fuzz tests from the documented path did not.
    
    Github-Pull: #32353
    Rebased-From: 61f238e84ac6d24d8f420c2eabcbb2980d7fcb1e
    2f6c802b54
  32. doc: Fix test_bitcoin path
    This commit fixes a couple command paths for interacting with the
    test_bitcoin binary within the Unit Test documentation.
    
    Github-Pull: #32389
    Rebased-From: 6cbc28b8dd629062950f195facc009fd8ba86310
    6ed087dede
  33. fanquake force-pushed on May 6, 2025
  34. cmake: Respect user-provided configuration-specific flags
    Github-Pull: #32356
    Rebased-From: edde96376a2961dec3730331b3d171ddf972589f
    f9d2c67a0c
  35. fanquake force-pushed on May 8, 2025
  36. tracing: fix invalid argument in mempool_monitor
    The mempool_monitor tracing tool is incorrectly reading the reason
    as the first argument. Fix this!
    
    Github-Pull: #32454
    Rebased-From: 31c5ebc4007884b655f2f90ca09e36e0b9ada4da
    fabf4ff237
  37. fanquake force-pushed on May 9, 2025
  38. crypto: disable ASan for sha256_sse4 with Clang
    This can alsofail to compile when optimisations are being used, see:
    https://github.com/bitcoin/bitcoin/issues/31913.
    So disable just ASan for this function under any optimisation level.
    
    Github-Pull: #32437
    Rebased-From: 4e8ab5e00fa72016a7ec0e0505ca025d4e59e4d8
    caec3cc41b
  39. cmake: Allow `WITH_DBUS` on all Unix-like systems
    This change makes the `WITH_DBUS` option available on all Unix-like
    systems, not just Linux, thereby fixing a regression that was
    overlooked during the migration from Autotools.
    
    Note: Enabling D-Bus support on macOS still makes no sense, since the
    `Notificator` class uses the User Notification Center regardless.
    
    Github-Pull: #32469
    Rebased-From: 5b7ed460c7c181f1fd34a927a09aed36284083cb
    cc2fcdfc5e
  40. fanquake force-pushed on May 12, 2025
  41. fanquake marked this as ready for review on May 13, 2025
  42. fanquake requested review from willcl-ark on May 13, 2025
  43. test: Fix nTimes typo in feature_pruning test
    Fix incorrect variable name in comment (nTimes -> nTime) in
    feature_pruning.py. This typo caused the test to always reset
    mine_large_blocks.nTime to 0, rather than only on the first run
    as intended.
    
    Github-Pull: #32312
    Rebased-From: 772ba7f9ce09e836a51636524a8a96a23946d658
    edd4073d70
  44. test: Use uninvolved pruned node in feature_pruning undo test
    After fixing the nTime variable name, the test_pruneheight_undo_presence
    test began failing because node 2, which is involved in reorg testing,
    could be on a different chain than other nodes. This caused failures
    when trying to fetch blocks from other nodes that didn't recognize
    node 2's chain.
    
    Switch to using node 5 instead, which is also a pruned node but isn't
    involved in reorg testing, ensuring it stays on the same chain as the
    other nodes. This allows the block fetching to work as intended in the
    test.
    
    Github-Pull: #32312
    Rebased-From: 2aa63d511affdcc9980b58fc4ff18b8ad10b0f8c
    6c4e3de2ac
  45. fanquake force-pushed on May 14, 2025
  46. fanquake force-pushed on May 14, 2025
  47. test: Fix intermittent failure in wallet_basic.py
    There could be a race with outstanding TxAddedToMempool notifications
    being applied to the soon-to-be created wallet.
    
    Fixes an intermittent timeout reproducable by adding a sleep to
    AddToWallet.
    
    Github-Pull: #32483
    Rebased-From: 07350e204dedfba20da461d9cdcd469dc95e01c3
    c966158426
  48. test: fix another intermittent failure in wallet_basic.py
    During init, the test framework will start using rpc after the
    mempool was loaded. It will not wait for postInitProcess or
    outstanding transactionAddedToMempool notifications, leading to
    a possible race, in which listunspent is being called while the
    tx is still in Inactive status. Prevent this by processing
    outstanding notifications.
    
    Github-Pull: #32483
    Rebased-From: e7ad86e1ca3b0b2f2795e91c2f9959486c67dd90
    cf034172bf
  49. fanquake force-pushed on May 14, 2025
  50. walletdb: Log the wallet version after it has been read from disk
    Logging the wallet version before anything has been read from disk results
    in the wrong version being logged.
    
    Also split the last client version logging as it may not always be
    present to be logged.
    
    Github-Pull: #32553
    Rebased-From: 359ecd3704993422eb53e3da2a7d0bea2f575ab0
    25aa15ee7f
  51. test: Check that the correct versions are logged on wallet load
    Github-Pull: #32553
    Rebased-From: 39a483c8e9dcfe8ec243fa72269e1df9e75059ab
    e685b4eca2
  52. test: check that creating a wallet does not log version info
    Github-Pull: #32553
    Rebased-From: 4b2cd0b41ff4800c8801f2c44883eaec60a035fa
    6c0f26d3bd
  53. doc: update release notes for 29.x a0d1f69b55
  54. fanquake force-pushed on May 20, 2025
  55. willcl-ark approved
  56. willcl-ark commented at 8:45 pm on May 21, 2025: member

    crACK a0d1f69b555fa0c76df1a63a0b127c7816596107

    Checked all patches were backported cleanly and appear in the release notes.

    Did not build/test.

  57. fanquake merged this on May 22, 2025
  58. fanquake closed this on May 22, 2025

  59. fanquake deleted the branch on May 22, 2025

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: 2025-05-31 21:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me