Bitcoin Core Github
43 subscribers
122K links
Download Telegram
⚠️ plebhash opened an issue: "[`v30.0`] `createNewBlock` never returns"
(https://github.com/bitcoin/bitcoin/issues/33647)
while connected to `testnet4` and letting the current implementation of SRI client connected for a while, `bitcoin-node` stops responding to IPC calls

steps to reproduce:
- build `bitcoin-node` from `v30.0` tag
- clone https://github.com/plebhash/sv2-bitcoin-core
- check out `2025-10-17-hanging-ipc` branch
- launch `bitcoin-node` with `-testnet4 -ipc-bind=unix -debug=ipc`
- launch `sv2-bitcoin-core` with `RUST_LOG=debug cargo run --example logger "/path/to/node.sock"`
- let it run for a while (
...
💬 theuni commented on pull request "Introduce SockMan ("lite"): low-level socket handling for HTTP":
(https://github.com/bitcoin/bitcoin/pull/32747#issuecomment-3417291593)
My $.02 and repeating what I've said elsewhere... I still just don't think that this is the correct level of abstraction. IMO socket-based protocols are different enough to warrant their own logic. Either that, or the abstraction would need to provide a bazillion options and flags, ala libevent/libev/libuv/libkj/etc.

For ex: presumably in order to remain generic, `SendBytes` may "succeed" at sending only one byte of many. Meaning that implementations will have to maintain their own send buffe
...
💬 apogio commented on pull request "Add coins (UTXOs) tab and makes it view-only":
(https://github.com/bitcoin-core/gui/pull/898#issuecomment-3417456349)
@hebasto Hello! The “CentOS, depends, gui” job fails and the reason is that it references ./ci/test/00_setup_env_native_centos.sh, which isn’t in this repo. Could we skip that job or rerun on Cirrus instead?
💬 151henry151 commented on pull request "build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script":
(https://github.com/bitcoin/bitcoin/pull/33470#issuecomment-3417599834)
> Can you please fix the PR description and commit message? `CMAKE_SKIP_INSTALL_RPATH` is removed from the build system, and `CMAKE_SKIP_RPATH` (which does more than `CMAKE_SKIP_INSTALL_RPATH`) is added to the Guix build. Can you also remove the (what looks like) AI generated content from the PR description and commit message. i.e the bullet pointed list of changes, for a 2 line diff.

I think I've addressed the inaccuracies; thanks for the feedback. Regarding the bullet pointed list of change
...
💬 dipankarjana3657-bot commented on pull request "package validation: relax the package-not-child-with-unconfirmed-parents rule":
(https://github.com/bitcoin/bitcoin/pull/31385#issuecomment-3417817836)
Hi
⚠️ dipankarjana3657-bot opened an issue: "Dj"
(https://github.com/bitcoin/bitcoin/issues/33648)
### Motivation

Hi

### Possible solution

_No response_

### Useful Skills

* Compiling Bitcoin Core from source
* Running the C++ unit tests and the Python functional tests
* ...


### Guidance for new contributors

Want to work on this issue?

For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.
💬 l0rinc commented on pull request "coins: use number of dirty cache entries in flush warnings/logs":
(https://github.com/bitcoin/bitcoin/pull/33512#discussion_r2441590945)
I wanted to make it more realistic, but the tests do pass now without them, thanks for the feedback removed.
💬 l0rinc commented on pull request "refactor: optimize block index comparisons (1.4-7.7x faster)":
(https://github.com/bitcoin/bitcoin/pull/33637#discussion_r2441593602)
Done, updated the commit messages and PR descriptions as well.
💬 purpleKarrot commented on pull request "build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script":
(https://github.com/bitcoin/bitcoin/pull/33470#issuecomment-3417857348)
ACK 4b41f99d57d822dfc258865d1dad03204fe0380f

It is a tiny step towards "variables that start with `CMAKE_` should not be set in `CMakeLists.txt`files".
💬 purpleKarrot commented on pull request "fuzz: don't pass (maybe) nullptr to memcpy()":
(https://github.com/bitcoin/bitcoin/pull/33644#issuecomment-3417898647)
> Given that the len argument is 0, memcpy() should not try to dereference the maybenull argument

According to the C standard (§7.26.1), the behaviour of `memcpy`is undefined if either `src`or `dst`are null. So it is not a bug.
💬 fanquake commented on issue "[`v30.0`] `createNewBlock` never returns":
(https://github.com/bitcoin/bitcoin/issues/33647#issuecomment-3418147325)
cc @Sjors
💬 Sjors commented on issue "[`v30.0`] `createNewBlock` never returns":
(https://github.com/bitcoin/bitcoin/issues/33647#issuecomment-3418203160)
And it was not syncing new blocks during `createNewBlock()`? That's the only thing it's expect to wait for, but only once at startup:

```h
/**
* Construct a new block template.
*
* During node initialization, this will wait until the tip is connected.
*
* @param[in] options options for creating the block
* @retval BlockTemplate a block template.
* @retval std::nullptr if the node is shut down.
*/
virtual std::unique_ptr<BlockTemplate> createNewBloc
...
📝 famouswizard opened a pull request: "fix: invalid plist format and update values to meet macOS 1.0 standard"
(https://github.com/bitcoin/bitcoin/pull/33654)
corrected the outdated and invalid parts of the plist file to comply with the current macOS property list 1.0 specification.

**changes:**

* replaced the old `SYSTEM` declaration and `version="0.9"` with the proper `PUBLIC` declaration and `version="1.0"`.
* updated `LSMinimumSystemVersion` from `14` to `10.14.0` (using the proper `X.Y.Z` format).
* changed `<string>True</string>` to `<true/>` to use a valid boolean value instead of a string.

now validates correctly with Apple’s DTD an
...
⚠️ pinheadmz opened an issue: "importdescriptors: check for errors before rescanning"
(https://github.com/bitcoin/bitcoin/issues/33655)
I tried to import two descriptors with labels but one was an internal descriptor. I didn't realize that was not allowed until the entire rescan (for the first descriptor) completed and the return object included success false with that error message, for the second descriptor.
🤔 janb84 reviewed a pull request: "build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script"
(https://github.com/bitcoin/bitcoin/pull/33470#pullrequestreview-3353589314)
re ACK 4b41f99d57d822dfc258865d1dad03204fe0380f

Changes since last ack:
- pr and commit message change
💬 ryanofsky commented on issue "[`v30.0`] `createNewBlock` never returns":
(https://github.com/bitcoin/bitcoin/issues/33647#issuecomment-3418442416)
Thanks for the clear steps to reproduce. I was able to see the rust client make the bitcoin node IPC hang very quickly (after around a minute) following them.

It seems like rust client is able to trigger a deadlock bug that was fixed in https://github.com/bitcoin-core/libmultiprocess/pull/201, and was backported in https://github.com/bitcoin/bitcoin/pull/33519 in the [30.x](https://github.com/bitcoin/bitcoin/commits/30.x) branch that was made after the [v30.0](https://github.com/bitcoin/bitcoin
...
💬 waketraindev commented on issue "importdescriptors: check for errors before rescanning":
(https://github.com/bitcoin/bitcoin/issues/33655#issuecomment-3418640920)
Reference: #32376, #31514, #33614
l0rinc closed a pull request: "refactor: throw `std::string_view` instead of `const char*` in constexpr/consteval functions"
(https://github.com/bitcoin/bitcoin/pull/33569)
💬 l0rinc commented on pull request "refactor: throw `std::string_view` instead of `const char*` in constexpr/consteval functions":
(https://github.com/bitcoin/bitcoin/pull/33569#issuecomment-3418646843)
Thanks @hebasto, if we need to support earlier versions of the LLVM MinGW toolchain we can resurrect this PR.