🤔 hebasto reviewed a pull request: "refactor: Add missing include in bitcoinkernel_wrapper.h"
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3438418410)
ACK fa1e8d8bad92f5fba2b086d78581df4c8123b098.
[Here](https://github.com/hebasto/bitcoin/commit/11bc5cca61a9edad38d070bd5046355fcf58c7ee#diff-4d05cd02fdce641be603f0f9abcecfeaf76944285d4539ba4bbc40337fa9bbc2) is IWYU's diff based on https://github.com/bitcoin/bitcoin/pull/33810:
```diff
--- a/src/kernel/bitcoinkernel_wrapper.h
+++ b/src/kernel/bitcoinkernel_wrapper.h
@@ -5,12 +5,19 @@
#ifndef BITCOIN_KERNEL_BITCOINKERNEL_WRAPPER_H
#define BITCOIN_KERNEL_BITCOINKERNEL_WRAPPER_H
-#include <kern
...
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3438418410)
ACK fa1e8d8bad92f5fba2b086d78581df4c8123b098.
[Here](https://github.com/hebasto/bitcoin/commit/11bc5cca61a9edad38d070bd5046355fcf58c7ee#diff-4d05cd02fdce641be603f0f9abcecfeaf76944285d4539ba4bbc40337fa9bbc2) is IWYU's diff based on https://github.com/bitcoin/bitcoin/pull/33810:
```diff
--- a/src/kernel/bitcoinkernel_wrapper.h
+++ b/src/kernel/bitcoinkernel_wrapper.h
@@ -5,12 +5,19 @@
#ifndef BITCOIN_KERNEL_BITCOINKERNEL_WRAPPER_H
#define BITCOIN_KERNEL_BITCOINKERNEL_WRAPPER_H
-#include <kern
...
🤔 yuvicc reviewed a pull request: "kernel: trim Chain interface"
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438421965)
ACK f4b3ba18d9bf3e7c2c55a98f3c3d98129a1fa6e2
This makes sense to me.
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438421965)
ACK f4b3ba18d9bf3e7c2c55a98f3c3d98129a1fa6e2
This makes sense to me.
🤔 yuvicc reviewed a pull request: "refactor: Add missing include in bitcoinkernel_wrapper.h"
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3438422552)
ACK fa1e8d8bad92f5fba2b086d78581df4c8123b098
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3438422552)
ACK fa1e8d8bad92f5fba2b086d78581df4c8123b098
🚀 hebasto merged a pull request: "refactor: Add missing include in bitcoinkernel_wrapper.h"
(https://github.com/bitcoin/bitcoin/pull/33825)
(https://github.com/bitcoin/bitcoin/pull/33825)
👍 hebasto approved a pull request: "build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings"
(https://github.com/bitcoin/bitcoin/pull/33247#pullrequestreview-3438443615)
ACK a02282d20c87471a3399e4061c7edad7ecdb391f.
(https://github.com/bitcoin/bitcoin/pull/33247#pullrequestreview-3438443615)
ACK a02282d20c87471a3399e4061c7edad7ecdb391f.
🤔 hebasto reviewed a pull request: "build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings"
(https://github.com/bitcoin/bitcoin/pull/33247#pullrequestreview-3438464326)
@151henry151
Could you please also remove the workaround for NetBSD by reverting commit 11115e9aa845d675a88e18e729913f0aaa11e322?
I've tested it on NeBSD 10.1, and can confirm I'm sure it's no longer necessary.
(https://github.com/bitcoin/bitcoin/pull/33247#pullrequestreview-3438464326)
@151henry151
Could you please also remove the workaround for NetBSD by reverting commit 11115e9aa845d675a88e18e729913f0aaa11e322?
I've tested it on NeBSD 10.1, and can confirm I'm sure it's no longer necessary.
👋 waketraindev's pull request is ready for review: "Prevent re-execution of sensitive commands from console history"
(https://github.com/bitcoin-core/gui/pull/909)
(https://github.com/bitcoin-core/gui/pull/909)
📝 hebasto opened a pull request: "scripted-diff: Remove obsolete comment"
(https://github.com/bitcoin/bitcoin/pull/33826)
The removed comment become obsolete after bitcoin/bitcoin#32697 and bitcoin/bitcoin#32881.
(https://github.com/bitcoin/bitcoin/pull/33826)
The removed comment become obsolete after bitcoin/bitcoin#32697 and bitcoin/bitcoin#32881.
💬 romanz commented on pull request "rest: allow reading partial block data from storage":
(https://github.com/bitcoin/bitcoin/pull/33657#issuecomment-3506722651)
[Added](https://github.com/bitcoin/bitcoin/compare/c30647c4d34c2941696729704854467b30657c43..9a4c016b9c41ad711d7be487d6f450659246af0a) REST API documentation and release notes.
(https://github.com/bitcoin/bitcoin/pull/33657#issuecomment-3506722651)
[Added](https://github.com/bitcoin/bitcoin/compare/c30647c4d34c2941696729704854467b30657c43..9a4c016b9c41ad711d7be487d6f450659246af0a) REST API documentation and release notes.
💬 romanz commented on pull request "rest: allow reading partial block data from storage":
(https://github.com/bitcoin/bitcoin/pull/33657#discussion_r2507024695)
Added here:
https://github.com/bitcoin/bitcoin/blob/e14650967dc95da5c10e0d6183b6eac3e8243fe5/src/rest.cpp#L392-L397
(https://github.com/bitcoin/bitcoin/pull/33657#discussion_r2507024695)
Added here:
https://github.com/bitcoin/bitcoin/blob/e14650967dc95da5c10e0d6183b6eac3e8243fe5/src/rest.cpp#L392-L397
💬 l0rinc commented on pull request "scripted-diff: Remove obsolete comment":
(https://github.com/bitcoin/bitcoin/pull/33826#issuecomment-3506770544)
code review ACK 36724205fc1f226d7b5493ed0212c336e7f2ae84
Looks like this is a leftover from [before the cmake migration](https://github.com/bitcoin/bitcoin/commit/6ce50fd9d0ae6850d54bf883e7a7c1bcb6912c5c#diff-7533d479b9e3ad56dcfbf6daaa21317373e8233da5ea13714554115c66057aa2L22-L132).
Checked locally, other Python 3 references seem unrelated.
(https://github.com/bitcoin/bitcoin/pull/33826#issuecomment-3506770544)
code review ACK 36724205fc1f226d7b5493ed0212c336e7f2ae84
Looks like this is a leftover from [before the cmake migration](https://github.com/bitcoin/bitcoin/commit/6ce50fd9d0ae6850d54bf883e7a7c1bcb6912c5c#diff-7533d479b9e3ad56dcfbf6daaa21317373e8233da5ea13714554115c66057aa2L22-L132).
Checked locally, other Python 3 references seem unrelated.
📝 hebasto opened a pull request: "doc: Correct `pkgin` command usage on NetBSD"
(https://github.com/bitcoin/bitcoin/pull/33827)
When using `pkgin` on NetBSD, the `install` command must be specified.
(https://github.com/bitcoin/bitcoin/pull/33827)
When using `pkgin` on NetBSD, the `install` command must be specified.
💬 TheCharlatan commented on pull request "ci: Enable experimental kernel stuff in most CI tasks":
(https://github.com/bitcoin/bitcoin/pull/33824#issuecomment-3506817226)
Thanks for going through this!
My guess is the failure in the previous releases job is gcc11's limited implementation of std::ranges. Not sure what to do about that to be honest. Maybe we can add a macro guard for those test cases?
The test case producing the ubsan error should just be deleted in my opinion. It does not add anything in terms of coverage. How about:
```diff
diff --git a/src/test/kernel/test_kernel.cpp b/src/test/kernel/test_kernel.cpp
index d9875ee16e..b170ea182d 100644
...
(https://github.com/bitcoin/bitcoin/pull/33824#issuecomment-3506817226)
Thanks for going through this!
My guess is the failure in the previous releases job is gcc11's limited implementation of std::ranges. Not sure what to do about that to be honest. Maybe we can add a macro guard for those test cases?
The test case producing the ubsan error should just be deleted in my opinion. It does not add anything in terms of coverage. How about:
```diff
diff --git a/src/test/kernel/test_kernel.cpp b/src/test/kernel/test_kernel.cpp
index d9875ee16e..b170ea182d 100644
...
💬 l0rinc commented on issue "malloc: Failed to allocate segment from range group - out of space":
(https://github.com/bitcoin/bitcoin/issues/33806#issuecomment-3506817713)
So it seems that v26 handles these smoothly without an OOM, but v27-30 OOMs for dbcache sizes >8.7GB on Mac. So it also crashes for a 10 GB dbcache on a 64GB system.
Can somebody else reproduce this?
I suspect it may be related to https://github.com/bitcoin/bitcoin/pull/25325.
----
I have instrumented the `UpdateTip` messages with dbcache `buckets` and system free memory - to plot the behavior before the crash, so the entries look like:
```
2025-11-08T19:07:15Z UpdateTip: new best=000000000000
...
(https://github.com/bitcoin/bitcoin/issues/33806#issuecomment-3506817713)
So it seems that v26 handles these smoothly without an OOM, but v27-30 OOMs for dbcache sizes >8.7GB on Mac. So it also crashes for a 10 GB dbcache on a 64GB system.
Can somebody else reproduce this?
I suspect it may be related to https://github.com/bitcoin/bitcoin/pull/25325.
----
I have instrumented the `UpdateTip` messages with dbcache `buckets` and system free memory - to plot the behavior before the crash, so the entries look like:
```
2025-11-08T19:07:15Z UpdateTip: new best=000000000000
...
💬 151henry151 commented on pull request "build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings":
(https://github.com/bitcoin/bitcoin/pull/33247#issuecomment-3506863352)
> Could you please also remove the workaround for NetBSD by reverting commit [11115e9](https://github.com/bitcoin/bitcoin/commit/11115e9aa845d675a88e18e729913f0aaa11e322)?
I think I've made the correct change; however I made a couple clumsy mistakes on the way -- tried to clean up the mess so the commit history looks clean and tidy -- let me know if there's anything further I should do here. I don't have an environment set up to test building for NetBSD, and if I'm not mistaken, this shouldn'
...
(https://github.com/bitcoin/bitcoin/pull/33247#issuecomment-3506863352)
> Could you please also remove the workaround for NetBSD by reverting commit [11115e9](https://github.com/bitcoin/bitcoin/commit/11115e9aa845d675a88e18e729913f0aaa11e322)?
I think I've made the correct change; however I made a couple clumsy mistakes on the way -- tried to clean up the mess so the commit history looks clean and tidy -- let me know if there's anything further I should do here. I don't have an environment set up to test building for NetBSD, and if I'm not mistaken, this shouldn'
...
💬 ajtowns commented on pull request "build: add `-W*-whitespace`":
(https://github.com/bitcoin/bitcoin/pull/32482#issuecomment-3506876620)
Concept ACK. The large commits here should be scripted-diffs though. I believe the following works, if expand/sponge are available:
```
scripted-diff: univalue: change leading whitespace to spaces
-BEGIN VERIFY SCRIPT-
sed -i 's/^\t/ /' src/univalue/include/univalue_escapes.h
-END VERIFY SCRIPT-
```
```
scripted-diff: crypto: remove tabs and trailing whitespace in sha256_sse4.cpp
-BEGIN VERIFY SCRIPT-
expand -t4 src/crypto/sha256_sse4.cpp | sed 's/ *$//' | sponge src/crypto
...
(https://github.com/bitcoin/bitcoin/pull/32482#issuecomment-3506876620)
Concept ACK. The large commits here should be scripted-diffs though. I believe the following works, if expand/sponge are available:
```
scripted-diff: univalue: change leading whitespace to spaces
-BEGIN VERIFY SCRIPT-
sed -i 's/^\t/ /' src/univalue/include/univalue_escapes.h
-END VERIFY SCRIPT-
```
```
scripted-diff: crypto: remove tabs and trailing whitespace in sha256_sse4.cpp
-BEGIN VERIFY SCRIPT-
expand -t4 src/crypto/sha256_sse4.cpp | sed 's/ *$//' | sponge src/crypto
...
📝 151henry151 opened a pull request: "Check required interfaces before generating manpages"
(https://github.com/bitcoin/bitcoin/pull/33828)
Guard manpage generation by reading CMakeCache.txt and exiting if HAVE_SYSTEM, ENABLE_WALLET, or WITH_ZMQ are off, and provide a short hint so contributors rebuild with the right flags instead of committing incomplete manpages.
Fixes #17506
(https://github.com/bitcoin/bitcoin/pull/33828)
Guard manpage generation by reading CMakeCache.txt and exiting if HAVE_SYSTEM, ENABLE_WALLET, or WITH_ZMQ are off, and provide a short hint so contributors rebuild with the right flags instead of committing incomplete manpages.
Fixes #17506
💬 ajtowns commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#issuecomment-3506898619)
> FYI for reviewers: the insertion of the `AssertLockHeld()` in txmempool.h in that commit is what made the bug easy to reproduce in our tests (using a debug build).
AIUI, constructors and destructors ignore lock annotations `~ChangeSet() EXCLUSIVE_LOCKS_REQUIRED(m_pool->cs) { AssertLockHeld(m_pool->cs);` -- so a runtime assertion makes sense. (Short of changing the thread safety model entirely, I guess)
(https://github.com/bitcoin/bitcoin/pull/33629#issuecomment-3506898619)
> FYI for reviewers: the insertion of the `AssertLockHeld()` in txmempool.h in that commit is what made the bug easy to reproduce in our tests (using a debug build).
AIUI, constructors and destructors ignore lock annotations `~ChangeSet() EXCLUSIVE_LOCKS_REQUIRED(m_pool->cs) { AssertLockHeld(m_pool->cs);` -- so a runtime assertion makes sense. (Short of changing the thread safety model entirely, I guess)
🤔 TheCharlatan reviewed a pull request: "kernel: trim Chain interface"
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438917702)
Concept ACK
These were introduced before we had a dedicated iterator for traversing the chain. At this point, their benefit (thread safety) is kind of marginal.
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438917702)
Concept ACK
These were introduced before we had a dedicated iterator for traversing the chain. At this point, their benefit (thread safety) is kind of marginal.
💬 TheCharlatan commented on pull request "kernel: trim Chain interface":
(https://github.com/bitcoin/bitcoin/pull/33820#discussion_r2507308573)
I wonder if we should even keep these methods now. The previous calls to tip and genesis were at least thread safe (which these are no longer). I agree that it is not worth keeping them just for the sake of it, but also not sure if they still provide utility here.
(https://github.com/bitcoin/bitcoin/pull/33820#discussion_r2507308573)
I wonder if we should even keep these methods now. The previous calls to tip and genesis were at least thread safe (which these are no longer). I agree that it is not worth keeping them just for the sake of it, but also not sure if they still provide utility here.