Bitcoin Core Github
43 subscribers
122K links
Download Telegram
⚠️ mabu44 opened an issue: "Write access to Testing Guide for 29.0 RC"
(https://github.com/bitcoin/bitcoin/issues/32102)
I am currently working on improving the Testing Guide: Bitcoin Core 29.0 Release Candidate.
I would like to request permission to edit the Wiki so I can contribute.
Specifically, I would like to add a section about the new ephemeral dust feature.
Thank you!
💬 Chand-ra commented on issue "test: No unit test covers BIP342 tapscript signatures":
(https://github.com/bitcoin/bitcoin/issues/32012#issuecomment-2740381794)
> [@Chand-ra](https://github.com/Chand-ra) The taproot script unit tests are largely, and don't live in this repository. You need to clone the QA assets repository (https://github.com/bitcoin-core/qa-assets) and then specify the location of its `unit_test_data` directory in the `DIR_UNIT_TEST_DATA` environment variable when running the unit test binary.

You're right, cloning the qa-asserts repo and executing the following command:

`$ DIR_UNIT_TEST_DATA=./qa-assets/unit_test_data ./build/bin/te
...
🚀 ryanofsky merged a pull request: "test, refactor: Add TestNode.binaries to hold binary paths"
(https://github.com/bitcoin/bitcoin/pull/31866)
👍 dergoegge approved a pull request: "fuzz: Use immediate task runner to increase fuzz stability"
(https://github.com/bitcoin/bitcoin/pull/31841#pullrequestreview-2702662698)
Code review ACK fa4fb6a8f15c295a2a3d3ffd737e115b8be46c1f

The only downside to this is that we diverge from the production setup and e.g. bugs that only occur when fuzzing and using the `SerialTaskRunner` would be masked by this change. We could consider having a compile or runtime option to enable the serial runner and run both versions in CI.
📝 willcl-ark opened a pull request: "ci: run test-each-commit on merge to master"
(https://github.com/bitcoin/bitcoin/pull/32103)
Previously this CI job was checking out the head ref, which meant it is **not** being run on the result of merging into master.

Use the default checkout action `ref` (merge into default branch) to avoid this. Increment the checkout depth to HEAD~~ to compensate for the new merge commit.

This would have likely helped avoid both failures reported in #31946, and seems to me to be a more robust way of running this test job in any case.

(Probably) closes: #31946

cc @maflcko: Is there a hi
...
👍 hodlinator approved a pull request: "contrib: Make deterministic-coverage error messages more readable"
(https://github.com/bitcoin/bitcoin/pull/32074#pullrequestreview-2700285606)
ACK fab6fe3c1676202bd9469c3e9f9454911c92602b

Removes the use of `assert!()`s, `expect()`, `unwrap_or_else()`, error backtraces and `exit(1)` in favor of more Rust-idiomatic *user/environment error handling* through `Result<>`.

Heavy use of `map_err()` and `?` to enable early returns on error results in quite a small diff and pleasant code.

#### Testing

Tested running fuzz-util on non-existent build-dir with expected error. Tried running fuzz executable without coverage support (see i
...
💬 hodlinator commented on pull request "contrib: Make deterministic-coverage error messages more readable":
(https://github.com/bitcoin/bitcoin/pull/32074#discussion_r2004389857)
nit:
Tried running without coverage support compiled in:
```
₿ cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- $PWD/build_fuzz ../qa-assets/fuzz_corpora/ process_message
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s
Running `contrib/devtools/deterministic-fuzz-coverage/target/debug/deterministic-fuzz-coverage /home/hodlinator/bitcoin/build_fuzz ../qa-assets/fuzz_corpora/ process_message`
Check if using libFuzzer ...
Che
...
💬 hodlinator commented on pull request "contrib: Make deterministic-coverage error messages more readable":
(https://github.com/bitcoin/bitcoin/pull/32074#discussion_r2004339782)
Thread https://github.com/bitcoin/bitcoin/pull/32074#discussion_r2004194037:
I like shadowing for `if let Some(foo) = foo`, in other cases it ups the code complexity in my book.

But this is not an egregious case. Fine with leaving as-is unless others agree with me.
💬 hodlinator commented on pull request "contrib: Make deterministic-coverage error messages more readable":
(https://github.com/bitcoin/bitcoin/pull/32074#discussion_r2004343979)
Thread https://github.com/bitcoin/bitcoin/pull/32074#discussion_r2004196829:
If you want to implement some version of it I'm happy to review, or we can defer it, not sure when I'll be able to get it into good shape.
💬 sipa commented on pull request "cluster mempool: introduce TxGraph":
(https://github.com/bitcoin/bitcoin/pull/31363#issuecomment-2740492781)
Rebased after the merge of #31519.
💬 instagibbs commented on pull request "cluster mempool: introduce TxGraph":
(https://github.com/bitcoin/bitcoin/pull/31363#discussion_r2005673107)
> so the only reasonable strategy I can see is to do:

The other reason to not follow this strategy, aside from reorgs, is "kindred eviction", where the caller is in charge of gathering sufficient information try to get back to an un-oversized state in the staging area, using non-oversized main stage information as a guiding tool.
🤔 maflcko reviewed a pull request: "ci: run test-each-commit on merge to master"
(https://github.com/bitcoin/bitcoin/pull/32103#pullrequestreview-2702829350)
Not sure I understand the goal nor the changes here.

It looks like you are trying to change the task to test changes merged into master to avoid running into issues fixed previously.

However, you check out the previous commit, so overall this change is a no-op , unless I am missing something?

Maybe you wanted to instead *rebase* the changes onto master? However, this is not possible in general, as some commits are not possible to rebase. For example, a subtree merge commit is not possib
...
💬 maflcko commented on pull request "ci: run test-each-commit on merge to master":
(https://github.com/bitcoin/bitcoin/pull/32103#discussion_r2005694622)
wouldn't this also need to increase fetch depth?
💬 vasild commented on pull request "i2p: make a time gap between creating transient sessions and using them":
(https://github.com/bitcoin/bitcoin/pull/32065#issuecomment-2740570834)
`48a636cdde...859c259092`: fix CI
💬 maflcko commented on issue "test: intermittent issue in p2p_1p1c_network.py":
(https://github.com/bitcoin/bitcoin/issues/31946#issuecomment-2740571721)
Sorry for missing the ping. The goal of the `test-each-commit` is to check for bisect errors on the original commits. Thus, it will be susceptible to intermittent issues that were fixed in current master.

Maybe the docs could be improved to mention this?

Other than than, I'd recommend to just rebase on master when a known/fixed issue is hit in the `test-each-commit` task, or to re-run the task.
💬 hebasto commented on pull request "build: Switch to Qt 6":
(https://github.com/bitcoin/bitcoin/pull/30997#discussion_r2005731535)
> semi-related: I wonder if Windows can be bumped to Windows 10 either way.

Addressed in https://github.com/bitcoin/bitcoin/pull/31172.
💬 maflcko commented on pull request "fuzz: Use immediate task runner to increase fuzz stability":
(https://github.com/bitcoin/bitcoin/pull/31841#issuecomment-2740599566)
> The only downside to this is that we diverge from the production setup and e.g. bugs that only occur when fuzzing and using the `SerialTaskRunner` would be masked by this change.

Right, but I wonder what type of bug this could possibly uncover, given that the fuzz targets are mostly single threaded and require some kind of sync (like `SyncWithValidationInterfaceQueue`) when they use the task runner.

Obviously, bugs in `CScheduler` itself could be missed. Though, if we are worried about t
...
💬 Sjors commented on pull request "Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods":
(https://github.com/bitcoin/bitcoin/pull/31785#issuecomment-2740599986)
@ismaelsadeeq I think this just preserves existing RPC behavior. What to return during shutdown is a bit arbitrary anyway, because a connected client will have to handle shutdown more generally, potentially by also shutting down.

I also haven't checked if any of the other tests rely on the existing behavior.

So maybe better for a followup?
🤔 ryanofsky reviewed a pull request: "refactor: Improve assumeutxo state representation"
(https://github.com/bitcoin/bitcoin/pull/30214#pullrequestreview-2702602071)
Thanks for the reviews

Rebased 467528960689c2913c101ef75bc833e8f04bd0f3 -> 00c3e4db49ebd2c3bf2f3c7f2a8c9ba5dfb3c8f5 ([`pr/cstate.10`](https://github.com/ryanofsky/bitcoin/commits/pr/cstate.10) -> [`pr/cstate.11`](https://github.com/ryanofsky/bitcoin/commits/pr/cstate.11), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/cstate.10-rebase..pr/cstate.11)) due to conflict with #31519, also adding test comments.
Update 00c3e4db49ebd2c3bf2f3c7f2a8c9ba5dfb3c8f5 -> 137d5980abd49a1d2bf783cb5
...
💬 ryanofsky commented on pull request "refactor: Improve assumeutxo state representation":
(https://github.com/bitcoin/bitcoin/pull/30214#discussion_r2005575053)
re: https://github.com/bitcoin/bitcoin/pull/30214#discussion_r2004115942

> I find the entire `chainstatemanager_snapshot_init` subtest very confusing

Yes. And thanks for digging into the test. I added comments to try to make it less confusing. For reference the test was added [in e4d7995](https://github.com/bitcoin/bitcoin/pull/25667/commits/e4d799528696c5ede38c257afaffd367917e0de8#diff-dbada1fe3a3d0af884304dd28be8c9df74b592401dec2c6400f6b491aefe6c9bR472) and seems basically unchanged sin
...