Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented May 22, 2025

@fanquake fanquake added this to the 29.1 milestone May 22, 2025
@DrahtBot
Copy link
Contributor

DrahtBot commented May 22, 2025

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/32589.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK instagibbs, willcl-ark
Stale ACK glozow, theuni

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

LLM Linter (✨ experimental)

Possible typos and grammar issues:

  • accomodate -> accommodate [correct spelling]
  • into -> in [use correct preposition for “ends up in the best chain”]

drahtbot_id_4_m

See https://guix.gnu.org/blog/2025/migrating-to-codeberg/.

When interacting with the old repo you may now also see:
```bash
warning: redirecting to https://codeberg.org/guix/guix/
```

Github-Pull: bitcoin#32439
Rebased-From: c8d9baa
nervana21 and others added 2 commits May 29, 2025 12:15
Previously, the `pruneblockchain` RPC help output included only the method signature and arguments, with no top-level description explaining its purpose or constraints.

This PR adds a concise top-level description, improving documentation consistency and alerting users to the potential impacts of using the command.

Github-Pull: bitcoin#32333
Rebased-From: 135a0f0
It currently only syncs between the first two nodes,
which may do nothing when the block is created on the
third node.

Github-Pull: bitcoin#32630
Rebased-From: 4df4df4
It looks like the mkdir detection in xproto is broken on Alpine. Ensure
we always use `mkdir -p`.

Fixes bitcoin#32494.

Github-Pull: bitcoin#32568
Rebased-From: df9ebbf
This RPC lists all the descriptors present in the wallet, not only
the ones that were imported, but also the ones generated when a
new wallet is created.

It can be verified by creating a new wallet and calling the
`listdescriptors` RPC, which will contain 8 ranged descriptors that
are created for every new wallet.

Github-Pull: bitcoin#32708
Rebased-From: b44514b
Current behaviour will by-default use SOURCE_DATE_EPOCH from the
environment without warning. This breaks the default reproducibility
from a guix build.

Warn when and exit when this variable is set, and
FORCE_SOURCE_DATE_EPOCH is unset.

Github-Pull: bitcoin#32678
Rebased-From: 5c4a0f8
@fanquake fanquake force-pushed the more_29_backports branch from 94780e9 to 7030807 Compare June 10, 2025 16:28
theStack and others added 6 commits June 19, 2025 10:39
On OpenBSD, the `sha256` command by default outputs hashsums on files in
"BSD" mode, looking like this:

$ sha256 ~/.vimrc
SHA256 (/home/thestack/.vimrc) = 6ba69d100e8c5ca0488ded6293d4e5f740a6a5d5ace96cbcf0599c18d27389e4

This is not compatible with our depends commands, which expect the
hashes to be on the first column (to be extracted via `cut -d" " -f1`).
Fix this by switching to GNU mode output, looking like this:

$ sha256 -r ~/.vimrc
6ba69d100e8c5ca0488ded6293d4e5f740a6a5d5ace96cbcf0599c18d27389e4 /home/thestack/.vimrc

Without this change, the multiprocess depends build fails with the following output:

$ gmake -C depends MULTIPROCESS=1 NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_QR=1 NO_WALLET=1 NO_ZMQ=1 NO_USDT=1
[ ..... ]
Extracting native_libmultiprocess...
sha256: /home/thestack/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-2bc902f4693/.src-ipc-libmultiprocess.tar.hash: no properly formatted checksum lines found
gmake: *** [funcs.mk:342: /home/thestack/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-2bc902f4693/.stamp_extracted] Error 1

Github-Pull: bitcoin#32690
Rebased-From: 8713e80
Matches /share/setup.nsi.in:14

Github-Pull: bitcoin#32719
Rebased-From: 239fc4d
Patch cmake_minimum_required version for freetype, using the version from
https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/352/diffs

This fixes a failure when building with CMake 4, where compatibility
with CMake versions < 3.5 has been removed (see https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features)

Github-Pull: bitcoin#32693
Rebased-From: d7c3790
The wallet crashes if it processes the same block disconnection event twice in a row due
to an incompatible coinbase transaction state.
This happens because 'disconnectBlock' provides 'TxStateInactive' without the "abandoned"
flag for coinbase transactions to 'SyncTransaction', while 'AddToWallet()' internally
modifies it to retain the abandoned state.

The flow is as follows:
1) On the first disconnection, the transaction state transitions from "confirmed" to
"inactive," bypassing the state equality check since the provided state differs. Then,
'AddToWallet' internally updates the state to "inactive + abandoned"

2) On the second disconnection, as we provide only the "inactive" state
to 'SyncTransaction()', the state equality assertion fails and crashes the wallet.

Github-Pull: bitcoin#31757
Rebased-From: 9ef429b
…clean shutdown

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>

Github-Pull: bitcoin#31757
Rebased-From: 11f8ab1
Github-Pull: bitcoin#32760
Rebased-From: c7eaac3
@fanquake fanquake mentioned this pull request Jun 19, 2025
@fanquake fanquake force-pushed the more_29_backports branch from b1ca5b7 to 164c4ff Compare June 19, 2025 09:50
@fanquake
Copy link
Member Author

I think we either want #32760 or #31998.

Sure. Pulled in #32760, and made #32690 partial (just 8713e80).

Github-Pull: bitcoin#32777
Rebased-From: 53a996f
@fanquake fanquake force-pushed the more_29_backports branch from 164c4ff to 8843973 Compare June 19, 2025 10:49
@fanquake fanquake force-pushed the more_29_backports branch from a6532fd to 0922f6b Compare June 23, 2025 11:50
Copy link
Member

@instagibbs instagibbs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 0922f6b

@DrahtBot DrahtBot requested review from theuni and glozow June 24, 2025 16:52
Copy link
Member

@willcl-ark willcl-ark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 0922f6b

Checked all backports are clean and match their parent commits. All backports which include a Github-Pull: #xxxxx line in the commit message are mentioned in release-notes.md.

@fanquake fanquake merged commit 983b268 into bitcoin:29.x Jun 25, 2025
18 checks passed
@fanquake fanquake deleted the more_29_backports branch June 25, 2025 10:03
fanquake added a commit that referenced this pull request Jul 24, 2025
c6fe697 doc: update release notes for 29.x (fanquake)
380b5ad test: fix intermittent failure in wallet_reorgsrestore.py (furszy)

Pull request description:

  Backport #32069 to 29. This is a test flakiness fix for #31757, which was backported to 29 in #32589.

ACKs for top commit:
  marcofleon:
    ACK c6fe697

Tree-SHA512: 82517eef67c8d0fe57e70cb769d1b040ea8dea41c2d2e5b442477e1c7add7d7bac1c4aabbebc5b7d440db5b7bf00f1d70dc6ffb375b7a2e77d9599c543579122
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.