💬 Sjors commented on pull request "test: enabling wallet migration functional test on windows":
(https://github.com/bitcoin/bitcoin/pull/32219#issuecomment-3048672022)
67a6b20d5030ee51bf6d5e0fd77c9bdc8bafa96b missed one occurrence of `platform` which broke code-signing on Apple Silicon. You'd only notice that if you delete previously downloaded and already signed binaries. Fixed in #32922.
(https://github.com/bitcoin/bitcoin/pull/32219#issuecomment-3048672022)
67a6b20d5030ee51bf6d5e0fd77c9bdc8bafa96b missed one occurrence of `platform` which broke code-signing on Apple Silicon. You'd only notice that if you delete previously downloaded and already signed binaries. Fixed in #32922.
👍 dergoegge approved a pull request: "log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError"
(https://github.com/bitcoin/bitcoin/pull/32604#pullrequestreview-2997492533)
Code review ACK f47e2ea9137c3a832e07d6dd845c55d35d533fa9
(https://github.com/bitcoin/bitcoin/pull/32604#pullrequestreview-2997492533)
Code review ACK f47e2ea9137c3a832e07d6dd845c55d35d533fa9
👍 ryanofsky approved a pull request: "cmake: Use `AUTHOR_WARNING` for warnings"
(https://github.com/bitcoin/bitcoin/pull/32865#pullrequestreview-2997583190)
Code review ACK bf8bf7408c30b54d953c2b983a66c693e5eb6f21.
IIUC, the last 3 commits passing `-Werror=dev` to cmake in CI, guix, and developer presents seem like clearly good changes, because they turn cmake internal warnings and `message(AUTHOR_WARNING "...")` statements into errors which stop the build so they can't be ignored.
The other commit 02955f3af3bcdc9d978784cad6a98badf5d1117b is changing our current `message(WARNING "...")` statements into `message(AUTHOR_WARNING "...")` statement
...
(https://github.com/bitcoin/bitcoin/pull/32865#pullrequestreview-2997583190)
Code review ACK bf8bf7408c30b54d953c2b983a66c693e5eb6f21.
IIUC, the last 3 commits passing `-Werror=dev` to cmake in CI, guix, and developer presents seem like clearly good changes, because they turn cmake internal warnings and `message(AUTHOR_WARNING "...")` statements into errors which stop the build so they can't be ignored.
The other commit 02955f3af3bcdc9d978784cad6a98badf5d1117b is changing our current `message(WARNING "...")` statements into `message(AUTHOR_WARNING "...")` statement
...
💬 ryanofsky commented on pull request "cmake: Use `AUTHOR_WARNING` for warnings":
(https://github.com/bitcoin/bitcoin/pull/32865#issuecomment-3048932121)
> Not sure I understand your NACK. The warnings will still be shown to builders; using `AUTHOR_WARNING` just gives us a proper mechanism to turn warnings into errors.
I think luke's concern might be that author warnings can be suppressed with `-Wno-dev` and might be suppressed by default in certain environments, since author warnings are only supposed to be relevant to project maintainers, not to users.
In 02955f3af3bcdc9d978784cad6a98badf5d1117b we are turning normal warnings about ignore
...
(https://github.com/bitcoin/bitcoin/pull/32865#issuecomment-3048932121)
> Not sure I understand your NACK. The warnings will still be shown to builders; using `AUTHOR_WARNING` just gives us a proper mechanism to turn warnings into errors.
I think luke's concern might be that author warnings can be suppressed with `-Wno-dev` and might be suppressed by default in certain environments, since author warnings are only supposed to be relevant to project maintainers, not to users.
In 02955f3af3bcdc9d978784cad6a98badf5d1117b we are turning normal warnings about ignore
...
✅ ryanofsky closed a pull request: "POC: IPC tracing interface"
(https://github.com/bitcoin/bitcoin/pull/32898)
(https://github.com/bitcoin/bitcoin/pull/32898)
💬 ryanofsky commented on pull request "POC: IPC tracing interface":
(https://github.com/bitcoin/bitcoin/pull/32898#issuecomment-3048947083)
> Awesome, thanks! I'll play around with this over the next few weeks.
Great! Will close this PR since I'm not planning to do more work on it, and we can continue to discuss in https://github.com/bitcoin-core/libmultiprocess/issues/185
(https://github.com/bitcoin/bitcoin/pull/32898#issuecomment-3048947083)
> Awesome, thanks! I'll play around with this over the next few weeks.
Great! Will close this PR since I'm not planning to do more work on it, and we can continue to discuss in https://github.com/bitcoin-core/libmultiprocess/issues/185
💬 furszy commented on pull request "index: fix wrong assert of current_tip == m_best_block_index":
(https://github.com/bitcoin/bitcoin/pull/32878#issuecomment-3048985280)
> > I don't think the test is useful.
> > Other than that, concept ACK.
>
> You can ignore it.
Maybe give another look at the test code before saying that? https://github.com/bitcoin/bitcoin/commit/21ade546808fd757bf451db74cea1da3755f6613
The test isn't testing the indexes code — just its own test-only implementation of it. It was essentially testing itself.
(https://github.com/bitcoin/bitcoin/pull/32878#issuecomment-3048985280)
> > I don't think the test is useful.
> > Other than that, concept ACK.
>
> You can ignore it.
Maybe give another look at the test code before saying that? https://github.com/bitcoin/bitcoin/commit/21ade546808fd757bf451db74cea1da3755f6613
The test isn't testing the indexes code — just its own test-only implementation of it. It was essentially testing itself.
🤔 furszy reviewed a pull request: "wallet: remove dead code in legacy wallet migration"
(https://github.com/bitcoin/bitcoin/pull/32758#pullrequestreview-2997688329)
ACK 150b5c99ca11885ef15d04139d919d734e2c211a
(https://github.com/bitcoin/bitcoin/pull/32758#pullrequestreview-2997688329)
ACK 150b5c99ca11885ef15d04139d919d734e2c211a
⚠️ fanquake opened an issue: "guix: Windows build is non-deterministic across build architectures"
(https://github.com/bitcoin/bitcoin/issues/32923)
This has been the case since https://github.com/bitcoin/bitcoin/commit/8578fabb95face25d9fa7dfaad38d0a2857c2481.
Guix build on `x86_64` & `aarch64` @ 01f908195589 (prior merge):
```bash
0324606fdfc525e2acf6ffc5b5327021df6b47de107dbeb51f54162a3dead570 guix-build-01f908195589/output/dist-archive/bitcoin-01f908195589.tar.gz
e9be0c0c6ab0d856c2176ff0da9c4fb3599f8bd0d578138262fde7307691c28b guix-build-01f908195589/output/x86_64-w64-mingw32/SHA256SUMS.part
b27afe43704fa3045f1acebd967f282781f5d1907b4
...
(https://github.com/bitcoin/bitcoin/issues/32923)
This has been the case since https://github.com/bitcoin/bitcoin/commit/8578fabb95face25d9fa7dfaad38d0a2857c2481.
Guix build on `x86_64` & `aarch64` @ 01f908195589 (prior merge):
```bash
0324606fdfc525e2acf6ffc5b5327021df6b47de107dbeb51f54162a3dead570 guix-build-01f908195589/output/dist-archive/bitcoin-01f908195589.tar.gz
e9be0c0c6ab0d856c2176ff0da9c4fb3599f8bd0d578138262fde7307691c28b guix-build-01f908195589/output/x86_64-w64-mingw32/SHA256SUMS.part
b27afe43704fa3045f1acebd967f282781f5d1907b4
...
💬 fanquake commented on pull request "depends: fix libevent `_WIN32_WINNT` usage":
(https://github.com/bitcoin/bitcoin/pull/32837#issuecomment-3049041023)
The non-determinism issue is not being introduced with this change, it's already present in master, see #32923. Given that, It'd be good to move ahead here, so we can finished up the backports for `29.1`.
(https://github.com/bitcoin/bitcoin/pull/32837#issuecomment-3049041023)
The non-determinism issue is not being introduced with this change, it's already present in master, see #32923. Given that, It'd be good to move ahead here, so we can finished up the backports for `29.1`.
💬 fanquake commented on pull request "wallet: Always set descriptor cache upgraded flag for new wallets":
(https://github.com/bitcoin/bitcoin/pull/32597#issuecomment-3049044422)
As far as I can tell, this change is the cause of non-determinism when Guix building the Windows binaries, on different architectures: #32923.
(https://github.com/bitcoin/bitcoin/pull/32597#issuecomment-3049044422)
As far as I can tell, this change is the cause of non-determinism when Guix building the Windows binaries, on different architectures: #32923.
💬 glozow commented on pull request "p2p: improve TxOrphanage denial of service bounds":
(https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3049054361)
> Can you recap what the deficiency was?
Duplicate transactions do not count towards memory usage. When we exceed memory limits, the worst case happens when we need to delete a huge amount of announcements before finding a unique one. So `OrphanageMultiPeerEviction` needs to delete all but the last 2 transactions for each peer before it makes any progress on the memory usage.
For 24k, I was getting 10s of milliseconds for `OrphanageMultiPeerEviction` and even worse for `EraseForBlock` (I c
...
(https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3049054361)
> Can you recap what the deficiency was?
Duplicate transactions do not count towards memory usage. When we exceed memory limits, the worst case happens when we need to delete a huge amount of announcements before finding a unique one. So `OrphanageMultiPeerEviction` needs to delete all but the last 2 transactions for each peer before it makes any progress on the memory usage.
For 24k, I was getting 10s of milliseconds for `OrphanageMultiPeerEviction` and even worse for `EraseForBlock` (I c
...
💬 fjahr commented on pull request "index: Fix coinstats overflow":
(https://github.com/bitcoin/bitcoin/pull/30469#issuecomment-3049095473)
Rebased
(https://github.com/bitcoin/bitcoin/pull/30469#issuecomment-3049095473)
Rebased
👍 l0rinc approved a pull request: "test: Turn rpcauth.py test into functional test"
(https://github.com/bitcoin/bitcoin/pull/32881#pullrequestreview-2997269889)
ACK fa8a55e116ba925ce1791605a3ac55bc005f88bf
This is a continuation of the migration efforts started in #32697.
It makes sense to unify this with the rest of the tool tests - though it differs from the others in structure, please see my suggestion for how we could make it more like the other functional tool tests.
(https://github.com/bitcoin/bitcoin/pull/32881#pullrequestreview-2997269889)
ACK fa8a55e116ba925ce1791605a3ac55bc005f88bf
This is a continuation of the migration efforts started in #32697.
It makes sense to unify this with the rest of the tool tests - though it differs from the others in structure, please see my suggestion for how we could make it more like the other functional tool tests.
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192293951)
note: was wondering who else is using `RPCAUTH=@abs_top_srcdir@/share/rpcauth/rpcauth.py` below - ran all functional tests and `rpc_users.py` (and `tool_rpcauth.py` of course) are still using it.
This also demonstrates why the current change makes sense - and that the same env is read successfully and that the test is indeed run automatically now as part of the functional test suite 👍!
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192293951)
note: was wondering who else is using `RPCAUTH=@abs_top_srcdir@/share/rpcauth/rpcauth.py` below - ran all functional tests and `rpc_users.py` (and `tool_rpcauth.py` of course) are still using it.
This also demonstrates why the current change makes sense - and that the same env is read successfully and that the test is indeed run automatically now as part of the functional test suite 👍!
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192276552)
nit: the line is short enough now to be joined
```suggestion
# These environment variables are set by the build process and read by test/*/test_runner.py
```
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192276552)
nit: the line is short enough now to be joined
```suggestion
# These environment variables are set by the build process and read by test/*/test_runner.py
```
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192297224)
nit: we might as well update the copyright headers
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192297224)
nit: we might as well update the copyright headers
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192355924)
super-duper-nit (to minimize diff and since this version is found 5x more often in the codebase):
```suggestion
if __name__ == '__main__':
```
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192355924)
super-duper-nit (to minimize diff and since this version is found 5x more often in the codebase):
```suggestion
if __name__ == '__main__':
```
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192384775)
we would indeed fail here if we had any errors above 👍
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192384775)
we would indeed fail here if we had any errors above 👍
💬 l0rinc commented on pull request "test: Turn rpcauth.py test into functional test":
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192441879)
I don't like the hacky path insert, googling a bit indicates we could just exec the whole module, something like:
```python
spec = spec_from_file_location('rpcauth', self.config['environment']['RPCAUTH'])
spec.loader.exec_module(TestRPCAuth.rpcauth := module_from_spec(spec))
```
(https://github.com/bitcoin/bitcoin/pull/32881#discussion_r2192441879)
I don't like the hacky path insert, googling a bit indicates we could just exec the whole module, something like:
```python
spec = spec_from_file_location('rpcauth', self.config['environment']['RPCAUTH'])
spec.loader.exec_module(TestRPCAuth.rpcauth := module_from_spec(spec))
```