π maflcko opened a pull request: "2508 test fix cli cmd size"
(https://github.com/bitcoin/bitcoin/pull/33243)
`CLI_MAX_ARG_SIZE` has many edge case issues:
* It seems to be lower on some systems, but it is unknown how to reproduce locally: https://github.com/bitcoin/bitcoin/pull/33079#issuecomment-3139957274
* It claims to be a "limit per arg", but it is a "The maximum length of the arguments": See https://www.man7.org/linux/man-pages/man3/sysconf.3.html, section `ARG_MAX - _SC_ARG_MAX`.
* It doesn't account for the additional args added by the `bitcoin` command later on: https://github.com/bitcoin
...
(https://github.com/bitcoin/bitcoin/pull/33243)
`CLI_MAX_ARG_SIZE` has many edge case issues:
* It seems to be lower on some systems, but it is unknown how to reproduce locally: https://github.com/bitcoin/bitcoin/pull/33079#issuecomment-3139957274
* It claims to be a "limit per arg", but it is a "The maximum length of the arguments": See https://www.man7.org/linux/man-pages/man3/sysconf.3.html, section `ARG_MAX - _SC_ARG_MAX`.
* It doesn't account for the additional args added by the `bitcoin` command later on: https://github.com/bitcoin
...
π¬ maflcko commented on pull request "ci: limit max stack size to 512 KiB":
(https://github.com/bitcoin/bitcoin/pull/33079#issuecomment-3216611350)
> > > I wonder if it can be fixed by replacing the hard-coded
> >
> >
> > I can't seem to recreate this locally, so going to follow up.
>
> Same here, I can't reproduce, even on the same machine.
https://github.com/bitcoin/bitcoin/pull/33243 should work around it enough to be able to enable it, hopefully.
(https://github.com/bitcoin/bitcoin/pull/33079#issuecomment-3216611350)
> > > I wonder if it can be fixed by replacing the hard-coded
> >
> >
> > I can't seem to recreate this locally, so going to follow up.
>
> Same here, I can't reproduce, even on the same machine.
https://github.com/bitcoin/bitcoin/pull/33243 should work around it enough to be able to enable it, hopefully.
β οΈ maflcko opened an issue: "intermittent timeout in mptest unit test"
(https://github.com/bitcoin/bitcoin/issues/33244)
> Task `ARM, unit tests, no functional tests`: https://github.com/bitcoin/bitcoin/runs/48709103843
> LLM reason (β¨ experimental): The CI failure is caused by a test timeout during the execution of the 'mptest' test.
this failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
https://cirrus-ci.com/task/5714850606743552?logs=ci#L2822: `[23:07:33.279] 3/148 Test #3: mptest ............................... Passed 0.03 sec`
https:
...
(https://github.com/bitcoin/bitcoin/issues/33244)
> Task `ARM, unit tests, no functional tests`: https://github.com/bitcoin/bitcoin/runs/48709103843
> LLM reason (β¨ experimental): The CI failure is caused by a test timeout during the execution of the 'mptest' test.
this failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
https://cirrus-ci.com/task/5714850606743552?logs=ci#L2822: `[23:07:33.279] 3/148 Test #3: mptest ............................... Passed 0.03 sec`
https:
...
β οΈ maflcko opened an issue: "integer sanitizer warning, when running with -natpmp=1 enabled"
(https://github.com/bitcoin/bitcoin/issues/33245)
I haven't looked here if this is a bug, but it would be good to either suppress this warning (if it is harmless) or change the code (if there is a bug).
To reproduce, compile with `clang` and enable the `integer` sanitizer.
Then, disable ipv6:
```
# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
```
Then, run `bitcoind`:
`# UBSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
...
(https://github.com/bitcoin/bitcoin/issues/33245)
I haven't looked here if this is a bug, but it would be good to either suppress this warning (if it is harmless) or change the code (if there is a bug).
To reproduce, compile with `clang` and enable the `integer` sanitizer.
Then, disable ipv6:
```
# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
```
Then, run `bitcoind`:
`# UBSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
...
π€ furszy reviewed a pull request: "threading: remove ancient CRITICAL_SECTION macros"
(https://github.com/bitcoin/bitcoin/pull/32592#pullrequestreview-3147579126)
ACK 46ca7712cb5fcf759cfc9f4f32d74215c8c83763
(https://github.com/bitcoin/bitcoin/pull/32592#pullrequestreview-3147579126)
ACK 46ca7712cb5fcf759cfc9f4f32d74215c8c83763
β οΈ theStack opened an issue: "tracing: test `interface_usdt_net.py` fails due to garbage message type in `net:outbound_message` tracepoint"
(https://github.com/bitcoin/bitcoin/issues/33246)
The functional test `interface_usdt_net.py` currently fails on master (commit 73220fc0f958f9b65f66cf0cf042af220b312fc6) on my aarch64 machine, running Ubuntu 25.04:
```
$ cmake -B build -DWITH_USDT=ON
$ cmake --build build -j12
# ./build/test/functional/interface_usdt_net.py
2025-08-23T10:53:12.137229Z TestFramework (INFO): PRNG seed is: 2587673157417500984
2025-08-23T10:53:12.137976Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_iem787yt
2025-08-23T10:53:12.415409Z Te
...
(https://github.com/bitcoin/bitcoin/issues/33246)
The functional test `interface_usdt_net.py` currently fails on master (commit 73220fc0f958f9b65f66cf0cf042af220b312fc6) on my aarch64 machine, running Ubuntu 25.04:
```
$ cmake -B build -DWITH_USDT=ON
$ cmake --build build -j12
# ./build/test/functional/interface_usdt_net.py
2025-08-23T10:53:12.137229Z TestFramework (INFO): PRNG seed is: 2587673157417500984
2025-08-23T10:53:12.137976Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_iem787yt
2025-08-23T10:53:12.415409Z Te
...
π¬ theStack commented on issue "tracing: issue running `contrib/tracing/log_utxos.bt`":
(https://github.com/bitcoin/bitcoin/issues/33227#issuecomment-3216760599)
Couldn't reproduce this issue on my aarch64 machine (`Linux 6.16.0-21-qcom-x1e #21-Ubuntu SMP PREEMPT_DYNAMIC Sun Aug 10 00:54:48 UTC 2025 aarch64`), running Ubuntu 25.04, systemtap 5.1-4.1 and bpftrace v0.21.2.
(https://github.com/bitcoin/bitcoin/issues/33227#issuecomment-3216760599)
Couldn't reproduce this issue on my aarch64 machine (`Linux 6.16.0-21-qcom-x1e #21-Ubuntu SMP PREEMPT_DYNAMIC Sun Aug 10 00:54:48 UTC 2025 aarch64`), running Ubuntu 25.04, systemtap 5.1-4.1 and bpftrace v0.21.2.
π€ fjahr reviewed a pull request: "index: Don't commit state in BaseIndex::Rewind"
(https://github.com/bitcoin/bitcoin/pull/33212#pullrequestreview-3147906824)
Post merge ACK a602f6fb7bf5f9e57299f4d6e246c82379fad8d2
(https://github.com/bitcoin/bitcoin/pull/33212#pullrequestreview-3147906824)
Post merge ACK a602f6fb7bf5f9e57299f4d6e246c82379fad8d2
π¬ fjahr commented on pull request "index: Don't commit state in BaseIndex::Rewind":
(https://github.com/bitcoin/bitcoin/pull/33212#discussion_r2295881585)
nit: Would have been nice to give a why (e.g. something like "This ensures they are never ahead of the actual chain on restart since this would be identified as index corruption upon restart") and maybe it could also have mentioned that this is a general issue for all indexes, not coinstats-specific.
(https://github.com/bitcoin/bitcoin/pull/33212#discussion_r2295881585)
nit: Would have been nice to give a why (e.g. something like "This ensures they are never ahead of the actual chain on restart since this would be identified as index corruption upon restart") and maybe it could also have mentioned that this is a general issue for all indexes, not coinstats-specific.
π¬ sipa commented on pull request "refactor: Use typesafe Wtxid in compact block encodings":
(https://github.com/bitcoin/bitcoin/pull/29752#issuecomment-3216827263)
FWIW, having the wtxids in the vector directly here was intentional, to minimize pointer indirection and cache effects during compact block reconstruction.
It may be worth benchmarking to see if this didn't inadvertently introduced a performance regression.
(https://github.com/bitcoin/bitcoin/pull/29752#issuecomment-3216827263)
FWIW, having the wtxids in the vector directly here was intentional, to minimize pointer indirection and cache effects during compact block reconstruction.
It may be worth benchmarking to see if this didn't inadvertently introduced a performance regression.
π¬ mzumsande commented on issue "Indexes stuck on unknown best block after unclean shutdown":
(https://github.com/bitcoin/bitcoin/issues/33208#issuecomment-3216866205)
Would be good to reopen, since this was only partly foxed, it looks like this could also happen during initial index sync, see https://github.com/bitcoin/bitcoin/pull/33212#pullrequestreview-3140857089
(https://github.com/bitcoin/bitcoin/issues/33208#issuecomment-3216866205)
Would be good to reopen, since this was only partly foxed, it looks like this could also happen during initial index sync, see https://github.com/bitcoin/bitcoin/pull/33212#pullrequestreview-3140857089
β οΈ fanquake reopened an issue: "Indexes stuck on unknown best block after unclean shutdown"
(https://github.com/bitcoin/bitcoin/issues/33208)
I was contacted by someone who runs a lot of nodes that they see the following issue happen very often: After an unclean shutdown an index reports that it is at an unknown best block and the node can not be restarted unless the index is deactivated or resynced.
```
2025-08-16T12:34:43Z Verification progress: 99%
2025-08-16T12:34:43Z Verification: No coin database inconsistencies in last 6 blocks (6 transactions)
2025-08-16T12:34:43Z Block index and chainstate loaded
2025-08-16T12:34:43Z Opening
...
(https://github.com/bitcoin/bitcoin/issues/33208)
I was contacted by someone who runs a lot of nodes that they see the following issue happen very often: After an unclean shutdown an index reports that it is at an unknown best block and the node can not be restarted unless the index is deactivated or resynced.
```
2025-08-16T12:34:43Z Verification progress: 99%
2025-08-16T12:34:43Z Verification: No coin database inconsistencies in last 6 blocks (6 transactions)
2025-08-16T12:34:43Z Block index and chainstate loaded
2025-08-16T12:34:43Z Opening
...
π€ hebasto reviewed a pull request: "Update libmultiprocess subtree to fix build issues"
(https://github.com/bitcoin/bitcoin/pull/33241#pullrequestreview-3148108782)
I've tested this branch on OpenBSD. It works [fine](https://github.com/hebasto/bitcoin-core-nightly/actions/runs/17175341417).
However, building on NetBSD remains broken: https://github.com/bitcoin-core/libmultiprocess/pull/196.
(https://github.com/bitcoin/bitcoin/pull/33241#pullrequestreview-3148108782)
I've tested this branch on OpenBSD. It works [fine](https://github.com/hebasto/bitcoin-core-nightly/actions/runs/17175341417).
However, building on NetBSD remains broken: https://github.com/bitcoin-core/libmultiprocess/pull/196.
π¬ ryanofsky commented on pull request "Update libmultiprocess subtree to fix build issues":
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216999952)
re: https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216370455
> failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
re: https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216596839
> I reproduced this by repeatedly calling `mptest`. Took about 50'000 tries until it hung indefinitely.
Yes the failure is real, and this is probably issue https://github.com/bitcoin-core/libmultiprocess/issues/189, which I also rep
...
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216999952)
re: https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216370455
> failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
re: https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216596839
> I reproduced this by repeatedly calling `mptest`. Took about 50'000 tries until it hung indefinitely.
Yes the failure is real, and this is probably issue https://github.com/bitcoin-core/libmultiprocess/issues/189, which I also rep
...
π€ enirox001 reviewed a pull request: "test: fix p2p_leak_tx.py"
(https://github.com/bitcoin/bitcoin/pull/33121#pullrequestreview-3148172896)
Concept ACK ab43e0b on fixing the test flakiness.
I took a shot at making `test_notfound_on_unannounced_tx()` more deterministic using mocktime. Feel free to use it if helpful:
```diff
diff --git a/test/functional/p2p_leak_tx.py b/test/functional/p2p_leak_tx.py
index 3fd324a029..f50993e932 100755
--- a/test/functional/p2p_leak_tx.py
+++ b/test/functional/p2p_leak_tx.py
@@ -11,6 +11,7 @@ from test_framework.util import (
assert_equal,
)
from test_framework.wallet import MiniW
...
(https://github.com/bitcoin/bitcoin/pull/33121#pullrequestreview-3148172896)
Concept ACK ab43e0b on fixing the test flakiness.
I took a shot at making `test_notfound_on_unannounced_tx()` more deterministic using mocktime. Feel free to use it if helpful:
```diff
diff --git a/test/functional/p2p_leak_tx.py b/test/functional/p2p_leak_tx.py
index 3fd324a029..f50993e932 100755
--- a/test/functional/p2p_leak_tx.py
+++ b/test/functional/p2p_leak_tx.py
@@ -11,6 +11,7 @@ from test_framework.util import (
assert_equal,
)
from test_framework.wallet import MiniW
...
π fanquake merged a pull request: "threading: remove ancient CRITICAL_SECTION macros"
(https://github.com/bitcoin/bitcoin/pull/32592)
(https://github.com/bitcoin/bitcoin/pull/32592)
π¬ hebasto commented on pull request "Update libmultiprocess subtree to fix build issues":
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3217208986)
> > failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
>
> I reproduced this by repeatedly calling `mptest`. Took about 50'000 tries until it hung indefinitely.
Is this a newly introduced issue, or does it also exist on the master branch?
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3217208986)
> > failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?
>
> I reproduced this by repeatedly calling `mptest`. Took about 50'000 tries until it hung indefinitely.
Is this a newly introduced issue, or does it also exist on the master branch?
π¬ ryanofsky commented on issue "intermittent timeout in mptest unit test":
(https://github.com/bitcoin/bitcoin/issues/33244#issuecomment-3217234389)
As noted https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216999952, I'm pretty sure this is caused by https://github.com/bitcoin-core/libmultiprocess/issues/189. It's possible to reproduce the issue locally by just running mptest in a loop thousands of times until it locks up.
https://github.com/bitcoin-core/libmultiprocess/issues/189 happens because the new "disconnecting and blocking" test introduced in https://github.com/bitcoin-core/libmultiprocess/issues/160 tests for for probl
...
(https://github.com/bitcoin/bitcoin/issues/33244#issuecomment-3217234389)
As noted https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3216999952, I'm pretty sure this is caused by https://github.com/bitcoin-core/libmultiprocess/issues/189. It's possible to reproduce the issue locally by just running mptest in a loop thousands of times until it locks up.
https://github.com/bitcoin-core/libmultiprocess/issues/189 happens because the new "disconnecting and blocking" test introduced in https://github.com/bitcoin-core/libmultiprocess/issues/160 tests for for probl
...
π¬ ryanofsky commented on pull request "Update libmultiprocess subtree to fix build issues":
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3217235762)
> Is this a newly introduced issue, or does it also exist on the master branch?
I'm not sure if it's been seen in master but I would expect it happens in master. Seems unlikely any change in this PR would cause it, see #33244
(https://github.com/bitcoin/bitcoin/pull/33241#issuecomment-3217235762)
> Is this a newly introduced issue, or does it also exist on the master branch?
I'm not sure if it's been seen in master but I would expect it happens in master. Seems unlikely any change in this PR would cause it, see #33244
π€ naiyoma reviewed a pull request: "test: add option to skip large re-org test in feature_block"
(https://github.com/bitcoin/bitcoin/pull/33003#pullrequestreview-3148930871)
Tested, and `--skipreorg` successfully reduces test runtime from `60s to 35s`.
Iβm not very sure about this approach β splitting was also suggested here https://github.com/bitcoin/bitcoin/issues/16613#issuecomment-548952103 I think itβs a better long-term solution and could be done in a follow-up (not sure)
(https://github.com/bitcoin/bitcoin/pull/33003#pullrequestreview-3148930871)
Tested, and `--skipreorg` successfully reduces test runtime from `60s to 35s`.
Iβm not very sure about this approach β splitting was also suggested here https://github.com/bitcoin/bitcoin/issues/16613#issuecomment-548952103 I think itβs a better long-term solution and could be done in a follow-up (not sure)