💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258128435)
nit: These last 2 subtests don't have a log associated with them
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258128435)
nit: These last 2 subtests don't have a log associated with them
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258112001)
```suggestion
def va_tx_spends_confirmed_vb_tx(self, version_a, version_b):
```
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258112001)
```suggestion
def va_tx_spends_confirmed_vb_tx(self, version_a, version_b):
```
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258125275)
nit: this format seems to be an outlier
```suggestion
self.log.info("Test setting version to 3 with send")
```
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258125275)
nit: this format seems to be an outlier
```suggestion
self.log.info("Test setting version to 3 with send")
```
💬 Sammie05 commented on pull request "CI: silent merge check":
(https://github.com/bitcoin/bitcoin/pull/33145#issuecomment-3161405159)
Nice work on this! The label-based trigger for PeriodicMergeCICheck is a clean approach.
One thought though since this is driven by label events, do we need to consider cases where multiple labels are applied at once? Would the condition still behave as expected?
Also agree with the suggestion from @maflcko having a vector of task names could as well improve flexibility
(https://github.com/bitcoin/bitcoin/pull/33145#issuecomment-3161405159)
Nice work on this! The label-based trigger for PeriodicMergeCICheck is a clean approach.
One thought though since this is driven by label events, do we need to consider cases where multiple labels are applied at once? Would the condition still behave as expected?
Also agree with the suggestion from @maflcko having a vector of task names could as well improve flexibility
👍 pinheadmz approved a pull request: "ipc: Handle unclean shutdowns better"
(https://github.com/bitcoin/bitcoin/pull/32345#pullrequestreview-3093848042)
ACK 0a9a194078
Built and tested on macos/arm64, reviewed each commit. Adds a unit test for node initialization, refactors IPC on some upstream changes in libmultiprocess, and ensures a clean shutdown when IPC clients are connected. I'm going to locally rebase https://github.com/bitcoin/bitcoin/pull/32297 on this and [try to break it](https://github.com/bitcoin/bitcoin/pull/32297#issuecomment-3074628613) again but I suspect it'll hold up a lot better.
(https://github.com/bitcoin/bitcoin/pull/32345#pullrequestreview-3093848042)
ACK 0a9a194078
Built and tested on macos/arm64, reviewed each commit. Adds a unit test for node initialization, refactors IPC on some upstream changes in libmultiprocess, and ensures a clean shutdown when IPC clients are connected. I'm going to locally rebase https://github.com/bitcoin/bitcoin/pull/32297 on this and [try to break it](https://github.com/bitcoin/bitcoin/pull/32297#issuecomment-3074628613) again but I suspect it'll hold up a lot better.
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258021983)
637502894db32a1d532601ecc70d18f9b8a35f19
nit: comment above should stay attached to line below
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258021983)
637502894db32a1d532601ecc70d18f9b8a35f19
nit: comment above should stay attached to line below
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258088297)
637502894db32a1d532601ecc70d18f9b8a35f19
Confirmed the test failure by removing these two lines, but that kinda surprised me because I assumed the test environment gets reset between modules anyway...?
```
Assertion failed: (m_buffering), function StartLogging, file logging.cpp, line 56.
```
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258088297)
637502894db32a1d532601ecc70d18f9b8a35f19
Confirmed the test failure by removing these two lines, but that kinda surprised me because I assumed the test environment gets reset between modules anyway...?
```
Assertion failed: (m_buffering), function StartLogging, file logging.cpp, line 56.
```
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258111912)
ff1c9278e7aee8be094c63e90ca37b644f55cc7a
If there is no parent connection does that mean for sure there are no other incoming connections? The implication on line 68 is that the first incoming connection is always the parent process which skips its removal.
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258111912)
ff1c9278e7aee8be094c63e90ca37b644f55cc7a
If there is no parent connection does that mean for sure there are no other incoming connections? The implication on line 68 is that the first incoming connection is always the parent process which skips its removal.
🤔 furszy reviewed a pull request: "index: Deduplicate HashKey / HeightKey handling"
(https://github.com/bitcoin/bitcoin/pull/32997#pullrequestreview-3094087935)
As `DBHeightKey` and `DBHashKey` are pretty similar. What do you think about a generic template for both? https://github.com/furszy/bitcoin-core/commit/e5dd2b02f15f9f68fbe84cc30255573ad23dbf2c.
The only specialization I had to make was for the field serialization.
(https://github.com/bitcoin/bitcoin/pull/32997#pullrequestreview-3094087935)
As `DBHeightKey` and `DBHashKey` are pretty similar. What do you think about a generic template for both? https://github.com/furszy/bitcoin-core/commit/e5dd2b02f15f9f68fbe84cc30255573ad23dbf2c.
The only specialization I had to make was for the field serialization.
💬 murchandamus commented on issue "Slow unit tests delay functional tests and leave CPU unused":
(https://github.com/bitcoin/bitcoin/issues/32770#issuecomment-3161509474)
I started looking into that as it aligns well with one of my projects to migrate the `coinselector_tests` to an updated test suite `coinselection_tests`.
(https://github.com/bitcoin/bitcoin/issues/32770#issuecomment-3161509474)
I started looking into that as it aligns well with one of my projects to migrate the `coinselector_tests` to an updated test suite `coinselection_tests`.
💬 pinheadmz commented on pull request "Add Docker support with multi-arch build and user permissions handling":
(https://github.com/bitcoin/bitcoin/pull/33139#issuecomment-3161538060)
> With this commit, anyone can build and run their own image directly from source.
That's what the release binaries are for? The security is the same: verifying a signature from a trusted developer either on a guix build or a commit in this repository.
(https://github.com/bitcoin/bitcoin/pull/33139#issuecomment-3161538060)
> With this commit, anyone can build and run their own image directly from source.
That's what the release binaries are for? The security is the same: verifying a signature from a trusted developer either on a guix build or a commit in this repository.
💬 achow101 commented on pull request "cmake: Install internal binaries to <prefix>/libexec/":
(https://github.com/bitcoin/bitcoin/pull/31679#issuecomment-3161544820)
ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
```
$ find guix-build-f49840dd902c/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 01:40:49 PM
9080e91998fa6f384c00a2e3aab6316fdd2174a89a303b0a602880daf515defb guix-build-f49840dd902c/output/aarch64-linux-gnu/SHA256SUMS.part
c4061ae7a239ea148d2423f7414d9dd03cefbdfd25c2142476fc400b57ccfef8 guix-build-f49840dd902c/output/aarch64-linux-gnu/bitcoin-f49840dd902c-aarch64-linux-gnu-debu
...
(https://github.com/bitcoin/bitcoin/pull/31679#issuecomment-3161544820)
ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
```
$ find guix-build-f49840dd902c/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 01:40:49 PM
9080e91998fa6f384c00a2e3aab6316fdd2174a89a303b0a602880daf515defb guix-build-f49840dd902c/output/aarch64-linux-gnu/SHA256SUMS.part
c4061ae7a239ea148d2423f7414d9dd03cefbdfd25c2142476fc400b57ccfef8 guix-build-f49840dd902c/output/aarch64-linux-gnu/bitcoin-f49840dd902c-aarch64-linux-gnu-debu
...
💬 stickies-v commented on pull request "log: rate limiting followups":
(https://github.com/bitcoin/bitcoin/pull/33011#issuecomment-3161571573)
re-ACK 8dd5c0a0447bbb6fe597aabfa725b397276da166
Thanks for addressing all comments and keeping everything super organized all the time. A pleasure to review your PR, again.
(https://github.com/bitcoin/bitcoin/pull/33011#issuecomment-3161571573)
re-ACK 8dd5c0a0447bbb6fe597aabfa725b397276da166
Thanks for addressing all comments and keeping everything super organized all the time. A pleasure to review your PR, again.
💬 Sammie05 commented on pull request "build: Set AUTHOR_WARNING on warnings":
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161583815)
<pre> ```diff diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,7 @@ string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}") set(configure_warnings) +list(APPEND
configure_warnings "Testing https://github.com/bitcoin/bitcoin/pull/33144") include(CheckLinkerSupportsPIE) check_linker_supports_pie(configure_warnings) ``` </pre>
Tested locally — ACK
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161583815)
<pre> ```diff diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,7 @@ string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}") set(configure_warnings) +list(APPEND
configure_warnings "Testing https://github.com/bitcoin/bitcoin/pull/33144") include(CheckLinkerSupportsPIE) check_linker_supports_pie(configure_warnings) ``` </pre>
Tested locally — ACK
💬 darosior commented on pull request "validation: detect witness stripping without re-running Script checks":
(https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3161593678)
> maybe you're referring to not adding even more errors that can be converted into witness-stripped?
Yes this is what i meant. There are cases today where we would return WITNESS_STRIPPED for an otherwise invalid transaction (such as it could only be made valid by changing its txid, and we are missing the opportunity of adding its txid to the reject filter). This PR adds more such cases. This is minimized in the latest iteration (https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3156
...
(https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3161593678)
> maybe you're referring to not adding even more errors that can be converted into witness-stripped?
Yes this is what i meant. There are cases today where we would return WITNESS_STRIPPED for an otherwise invalid transaction (such as it could only be made valid by changing its txid, and we are missing the opportunity of adding its txid to the reject filter). This PR adds more such cases. This is minimized in the latest iteration (https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3156
...
💬 Sammie05 commented on pull request "build: Set AUTHOR_WARNING on warnings":
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161615471)
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,6 +186,7 @@
string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}")
set(configure_warnings)
+list(APPEND configure_warnings "Verifying AUTHOR_WARNING behavior (#33144)")
include(CheckLinkerSupportsPIE)
check_linker_supports_pie(configure_warnings)
Tested locally ACK
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161615471)
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,6 +186,7 @@
string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}")
set(configure_warnings)
+list(APPEND configure_warnings "Verifying AUTHOR_WARNING behavior (#33144)")
include(CheckLinkerSupportsPIE)
check_linker_supports_pie(configure_warnings)
Tested locally ACK
💬 darosior commented on pull request "validation: detect witness stripping without re-running Script checks":
(https://github.com/bitcoin/bitcoin/pull/33105#discussion_r2258302488)
If we can cheaply detect this txid refers to an always-invalid transaction and cache it, that seems like a win. It might be fine to cache even less such errors, but i'd rather this was done separately. There is already enough happening in this PR 14 days from the feature freeze.
(https://github.com/bitcoin/bitcoin/pull/33105#discussion_r2258302488)
If we can cheaply detect this txid refers to an always-invalid transaction and cache it, that seems like a win. It might be fine to cache even less such errors, but i'd rather this was done separately. There is already enough happening in this PR 14 days from the feature freeze.
💬 sipa commented on pull request "p2p: never check tx rejections by txid":
(https://github.com/bitcoin/bitcoin/pull/33066#issuecomment-3161635101)
Concept ACK.
First of all, I'm convinced by the rationale for #33050 and #33105, and if we do (at least) the latter, then this PR isn't necessary anymore to get rid of the triple-validation costs, which would make it low-urgency. I think it's still a nice cleanup, as I don't think the code does much right now (see below).
Aside, I don't think we need to worry about the impact it may have on pre-segwit or pre-wtxidrelay peers; given how widespread wtxidrelay peers are, I think we can reason
...
(https://github.com/bitcoin/bitcoin/pull/33066#issuecomment-3161635101)
Concept ACK.
First of all, I'm convinced by the rationale for #33050 and #33105, and if we do (at least) the latter, then this PR isn't necessary anymore to get rid of the triple-validation costs, which would make it low-urgency. I think it's still a nice cleanup, as I don't think the code does much right now (see below).
Aside, I don't think we need to worry about the impact it may have on pre-segwit or pre-wtxidrelay peers; given how widespread wtxidrelay peers are, I think we can reason
...
💬 achow101 commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258335380)
The CI failure is caused by `charlie` spending the `confirmed_v2` UTXO when it is creating one of the unconfirmed UTXOs.
In 2d37a5113ff0b0ab682788e4ef13c4cc223c17fe, we should still expect to see this failure, and in fact, more likely to see it (~50% of the time) because the UTXO pool of alice is much smaller at this point in time. The only reason we do not see it is because the test framework sets fallbackfee to 20 sat/vb which is in the high feerate regime which changes the behavior of coin
...
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258335380)
The CI failure is caused by `charlie` spending the `confirmed_v2` UTXO when it is creating one of the unconfirmed UTXOs.
In 2d37a5113ff0b0ab682788e4ef13c4cc223c17fe, we should still expect to see this failure, and in fact, more likely to see it (~50% of the time) because the UTXO pool of alice is much smaller at this point in time. The only reason we do not see it is because the test framework sets fallbackfee to 20 sat/vb which is in the high feerate regime which changes the behavior of coin
...
🤔 w0xlt reviewed a pull request: "wallet, rpc: add v3 transaction creation and wallet support"
(https://github.com/bitcoin/bitcoin/pull/32896#pullrequestreview-3094356552)
ACK https://github.com/bitcoin/bitcoin/pull/32896/commits/43a479ca6885b4222fb5e0f673354e54144d6835
(https://github.com/bitcoin/bitcoin/pull/32896#pullrequestreview-3094356552)
ACK https://github.com/bitcoin/bitcoin/pull/32896/commits/43a479ca6885b4222fb5e0f673354e54144d6835