Bitcoin Core Github
44 subscribers
121K links
Download Telegram
πŸ‘‹ stratospher's pull request is ready for review: "cli: rework -addrinfo cli to use addresses which aren’t filtered for quality/recency"
(https://github.com/bitcoin/bitcoin/pull/26988)
πŸ€” furszy reviewed a pull request: "test: Introduce ensure helper"
(https://github.com/bitcoin/bitcoin/pull/30893#pullrequestreview-2321929633)
Code review ACK

Commit 19bc71caf6a43702946f1bc15696fe14afa24fda description says "delay" when it should say "check_interval".
πŸ’¬ furszy commented on pull request "test: Introduce ensure helper":
(https://github.com/bitcoin/bitcoin/pull/30893#discussion_r1771246533)
nit:
`PEP 8: E302 expected 2 blank lines, found 1`

Should add another blank line above and below this function.
πŸ’¬ furszy commented on pull request "test: Introduce ensure helper":
(https://github.com/bitcoin/bitcoin/pull/30893#discussion_r1771251127)
ultra tiny nit: same code, a bit shorter.
```python3
predicate_source = "''''\n" + inspect.getsource(predicate) + "'''"
while True:
if not predicate():
raise AssertionError("Predicate {} became false within {} seconds".format(predicate_source, duration))
if time.time() > time_end:
return
time.sleep(check_interval)
```
πŸ’¬ stratospher commented on pull request "cli: rework -addrinfo cli to use addresses which aren’t filtered for quality/recency":
(https://github.com/bitcoin/bitcoin/pull/26988#issuecomment-2368089819)
Rebased. thanks @jonatack! reaching out.
πŸ’¬ sipa commented on pull request "cluster mempool: extend DepGraph functionality":
(https://github.com/bitcoin/bitcoin/pull/30857#issuecomment-2368093192)
@glozow @instagibbs It occurs to me that with the change in this PR, the `Cluster` will really only be used in tests anymore, as `DepGraph` objects can and will be built incrementally using `AddTransaction`, `AddDependencies`, and `RemoveTransactions`.

Because of that, I think it would be simpler to get rid of `Cluster` entirely, and reformulate the tests to all operate on `DepGraph` directly. I can do this in this PR, or as a follow-up. What do you think?
πŸ€” hodlinator reviewed a pull request: "refactor: Implement missing error checking for ArgsManager flags"
(https://github.com/bitcoin/bitcoin/pull/16545#pullrequestreview-2316714013)
`git range-diff master 1e37bcf 41bdf3d`

Adds code disallowing combining `ALLOW_BOOL` with `ALLOW_INT` and `ALLOW_STRING`. Removes now invalid tests and adds 2 `BOOST_CHECK_THROW()`s.

Curious to hear maflcko's thoughts now that this change was made (a month ago). Happy to see if I can shake some stuff out first through.

## Making the applying of arguments testable

hodlinator:

> > If the C++ code were strictly organized with pairs of free functions with the first calling AddArg() an
...
πŸ’¬ hodlinator commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1767576075)
nit: Remove double spaces
```suggestion
throw std::logic_error(strprintf("Bug: bad %s flags. ALLOW_BOOL flag is incompatible with DISALLOW_ELISION "
"(boolean arguments should not require argument values)", arg_name));
}
if ((flags & ALLOW_INT) && (flags & ALLOW_STRING)) {
throw std::logic_error(strprintf("Bug: bad %s flags. ALLOW_INT flag is incompatible with ALLOW_STRING "
"(any val
...
πŸ’¬ hodlinator commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1771310361)
Feels like this is encouraging `BOOL | STRING` usage and should be broken out too if we are postponing that support.
πŸ’¬ willcl-ark commented on issue "Increasing self-hosted runner raw performance":
(https://github.com/bitcoin/bitcoin/issues/30852#issuecomment-2368164951)
> > set `CCACHE_COMPILERCHECK` to `content` mode, which passes the compiler check when the hash of the compiler is the same (the default is `mdate` which will change with each container we create)
>
> Are you sure? At least on Ubuntu Noble `mdate` is set correctly for `clang` (and does not change with each container). I presume the same is true for Debian and GCC. So, if the `modify` is different, the content would be different as well (and vice-versa). See:
>
> ```
> # stat /usr/bin/clan
...
πŸ’¬ maflcko commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1771467223)
> I think your advice to split up this PR is basically the same advice you are giving in #25665 to split up that PR, and my resistance in both PRs has been counterproductive.

It is certainly useful to have a working end-result that reviewers can look at, than not to have one. However, given an end-result, splitting up stuff for review (where it makes sense on a case-by-case basis) should have no downside, because reviewers can confirm that they agree with the overall goal and that the stuff i
...
πŸ’¬ andrewtoth commented on pull request "Drop -dbcache limit":
(https://github.com/bitcoin/bitcoin/pull/28358#issuecomment-2368303170)
I really think there's too much variance when syncing with untrusted peers.
πŸ’¬ maflcko commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#issuecomment-2368341651)
> Curious to hear maflcko's thoughts now that this change was made (a month ago). Happy to see if I can shake some stuff out first through.

This needs rebase and is still in draft, which is why I haven't taken another look for now. Though, I may take another look later.
πŸ‘ ryanofsky approved a pull request: "depends: Fix build with `MULTIPROCESS=1` in Guix environment"
(https://github.com/bitcoin/bitcoin/pull/30940#pullrequestreview-2322355196)
Code review ACK 06b4c339e89e593d951a90cd2d1bce944acf3bf7

>> This causes CMake to search for package configurations in the native subdirectory first.
>
> This is the correct behaviour as far as we are concerned right?

I think the problem here is not that that cmake is searching the native directory first, but that it is searching the native directory only for the libmultiprocess runtime library, which is cross compiled, and can't be found in the native prefix.

The fix in d8e3afc3352a27
...
πŸ’¬ hebasto commented on pull request "depends: Fix build with `MULTIPROCESS=1` in Guix environment":
(https://github.com/bitcoin/bitcoin/pull/30940#issuecomment-2368400799)
> 2. I don't understand why "In the Guix environment, `${BASEPREFIX}/${HOST}/native/bin` is added to the `PATH` environment variable," according to the description. Setting this seems indiscriminate, like a sledgehammer approach, something that would cause the guix build to behave differently from normal depends builds and lead to confusing issues like this one.

I believe it was required when the macOS toolchain was built in depends. We can investigate this issue separately, can't we?
πŸ’¬ hebasto commented on pull request "depends: Fix build with `MULTIPROCESS=1` in Guix environment":
(https://github.com/bitcoin/bitcoin/pull/30940#issuecomment-2368431723)
My Guix build:
```
aarch64
8868809b50ea77b47c45c1cdf802e85540d9428f182773b1cd7e5d73750dce87 guix-build-06b4c339e89e/output/aarch64-linux-gnu/SHA256SUMS.part
fccf8cf14ca3d3ee7812f254d10eb17e62c507f5b2606c6b099c5d00ed5d3446 guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu-debug.tar.gz
2d7cf4959e238fae666476db1cd11112c77708a58bb9d5cd1e0c7986c8c477a6 guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu.tar.gz
22d7016c
...
πŸ’¬ willcl-ark commented on pull request "test: re-bucket long-running tests":
(https://github.com/bitcoin/bitcoin/pull/30879#issuecomment-2368445072)
> Should feature_assumeutxo also be moved up a bit? According to [corecheck.dev/tests](https://corecheck.dev/tests) it is one of the top-20 slowest tests. Also, according to the CI runs in this pull (Asan + macOS) it is in the tail.

Added feature_assumeutxo to the < 2m bucket
πŸ’¬ maflcko commented on pull request "test: switch MiniWallet padding unit from weight to vsize":
(https://github.com/bitcoin/bitcoin/pull/30718#issuecomment-2368460763)
lgtm ACK 7d1c8d0aa3ebe30d7633caf9bc4765927e4d6e08 πŸ”‹

<details><summary>Show signature</summary>

Signature:

```
untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
trusted comment: lgtm ACK 7d1c8d0aa3ebe30d
...
πŸ’¬ l0rinc commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1771575039)
Was merged since (added you as co-author), you should be able to remove this now
πŸ’¬ hebasto commented on pull request "depends: Fix build with `MULTIPROCESS=1` in Guix environment":
(https://github.com/bitcoin/bitcoin/pull/30940#issuecomment-2368530170)
> 3. Indirectly related to this issue: I don't understand why depends toolchain is setting `set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)`. I use a `shell.nix` file to set up a build environment for bitcoin and this setting make it hard to use depends because it makes cmake ignore the CMAKE_INCLUDE_PATH / CMAKE_PREFIX_PATH / CMAKE_LIBRARY_PATH variables constructed in the nix environment to allow cmake to find dependencies.

I vaguely recall that while working on the CMake staging branch,
...