Bitcoin Core Github
44 subscribers
122K links
Download Telegram
🚀 ryanofsky merged a pull request: "test: support std::optional in BOOST_CHECK_* and increase FromUserHex fuzz feature coverage"
(https://github.com/bitcoin/bitcoin/pull/30618)
💬 ryanofsky commented on pull request "build: Improve `ccache` performance for different build directories":
(https://github.com/bitcoin/bitcoin/pull/30861#discussion_r1757234183)
> > So if CMAKE_BINARY_DIR is a subdirectory of CMAKE_SOURCE_DIR, and base_dir is specified as CMAKE_SOURCE_DIR, then that should be a strict improvement because it will allow cache hits across multiple source directories, and multiple build directories, as long as build directories are not outside the source directories.
>
> For the latter case, using different build directories will result in cache misses anyway, right?

It seems like that should be true but I haven't experimented or thou
...
💬 monlovesmango commented on issue "28.0 RC Testing Guide Feedback":
(https://github.com/bitcoin/bitcoin/issues/30854#issuecomment-2346844899)
great job putting this guide together rkrux! found it easy to follow, thank you!

### 4. Mempool Conflicting Transactions
couple things about this section.

at the end of the section it says:
>Execute the `gettransaction` RPC for the new transaction and check the `mempoolconflicts` field - it contains the previous transaction!

but the new transaction will only have `walletconflicts` populated and not `mempoolconflicts`. its the old/original transaction that now has both `walletconflicts
...
🚀 ryanofsky merged a pull request: "util: Use consteval checked format string in FatalErrorf, LogConnectFailure"
(https://github.com/bitcoin/bitcoin/pull/30546)
📝 fjahr opened a pull request: "scripted-diff: Modernize nLocalServices to m_local_services"
(https://github.com/bitcoin/bitcoin/pull/30885)
The type of the `nLocalServices` variable was changed to `std::atomic<ServiceFlags>` in #30807 and I suggested the variable name to get updated with a scripted diff along with it. It wasn't included in the PR but I am still suggesting to do it as a follow-up since I had already prepared the commit.
📝 instagibbs opened a pull request: "rpc: Add support to populate PSBT input utxos via rpc"
(https://github.com/bitcoin/bitcoin/pull/30886)
Resolves https://github.com/bitcoin/bitcoin/issues/30873

Question(s):
1) Was this functionality already exposed somewhere I missed?
2) Should "non-witness utxos" always be the type added when updating the PSBT? Looks like we fill in non-witness wherever we can, and witness whenever scraping from utxo set
⚠️ katesalazar opened an issue: "Closing a wallet using the fa46088440 28.x QT client segfaults"
(https://github.com/bitcoin/bitcoin/issues/30887)
### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current behaviour

Closing a descriptor wallet using the fa46088440 28.x QT client segfaults.
Closing a descriptor wallet using the fa46088440 28.x console client works fine.


### Expected behaviour

Not a crash.


### Steps to reproduce

--enable-wallet --disable-shared --with-pic --no-create --no-recursion

### Relevant log output

standard segfault line


### How did you obtain Bitcoin Core

Compiled
...
👍 itornaza approved a pull request: "Have createNewBlock() return a BlockTemplate interface"
(https://github.com/bitcoin/bitcoin/pull/30440#pullrequestreview-2301029767)
Concept ACK 23374a22f442939802c0296d6447e0db02d513da

Do you consider updating for cmake? It would be helpful for me to build and run tests locally.
🤔 ryanofsky reviewed a pull request: "multiprocess: Add IPC wrapper for Mining interface"
(https://github.com/bitcoin/bitcoin/pull/30510#pullrequestreview-2301022997)
Updated 9c98c42a0166e9e201f6e9d32a0692fad5a185f0 -> 1be749c771cd9fd80361ebb69c87482920b25cd1 ([`pr/mine-types.9`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.9) -> [`pr/mine-types.10`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.10), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/mine-types.9..pr/mine-types.10)) skipping test library build when tests are disabled, as suggested
💬 ryanofsky commented on pull request "multiprocess: Add IPC wrapper for Mining interface":
(https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1757326786)
re: https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1757005855

Thanks, added `if(BUILD_TESTS)`
💬 maflcko commented on issue "Closing a wallet using the fa46088440 28.x QT client segfaults":
(https://github.com/bitcoin/bitcoin/issues/30887#issuecomment-2346914878)
Can you please run in `gdb` or `valgrind` or any other tool, so that more information is available?

Alternatively, what are the full and exact steps to reproduce, including all config/settings/commands, ideally starting from a fresh install of the OS?
💬 maflcko commented on pull request "scripted-diff: Modernize nLocalServices to m_local_services":
(https://github.com/bitcoin/bitcoin/pull/30885#discussion_r1757335407)
globals should be `g_`, no? See also `g_enabled_filter_types` two lines below.
📝 l0rinc opened a pull request: "build: Minimize I/O operations in GenerateHeaderFromRaw.cmake"
(https://github.com/bitcoin/bitcoin/pull/30888)
Follow up of the https://github.com/bitcoin/bitcoin/pull/30883 revert.

Replaced multiple file writes with a single string template write.
The raw content is first grouped into 8 byte chunks, followed by another regex replace which wraps them in `std::byte`.

Tested the output with `diff -w` and they're the same - only whitespace differences because slightly different source formatting.

Tested the performance with:
> time cmake -DRAW_SOURCE_PATH=src/bench/data/block413567.raw -DHEADER_P
...
💬 l0rinc commented on pull request "build: Revert "Minimize I/O operations in `GenerateHeaderFrom{Json,Raw}.cmake`"":
(https://github.com/bitcoin/bitcoin/pull/30883#issuecomment-2346925411)
Fixed in https://github.com/bitcoin/bitcoin/pull/30888
💬 mzumsande commented on pull request "rpc, rest: Improve block rpc error handling, check header before attempting to read block data.":
(https://github.com/bitcoin/bitcoin/pull/30410#discussion_r1757341947)
I've implemented it with separate errors for block and undo missing.
💬 mzumsande commented on pull request "rpc, rest: Improve block rpc error handling, check header before attempting to read block data.":
(https://github.com/bitcoin/bitcoin/pull/30410#discussion_r1757342405)
done, good idea!
💬 mzumsande commented on pull request "rpc, rest: Improve block rpc error handling, check header before attempting to read block data.":
(https://github.com/bitcoin/bitcoin/pull/30410#issuecomment-2346937904)
[92236f4 ](https://github.com/bitcoin/bitcoin/commit/92236f43ff92c931f3a099e03d7851b890bff263)to [ccee8a2](https://github.com/bitcoin/bitcoin/commit/ccee8a274770a060fa917f24828f2e2f5c1875ee):

Changed the last commit such that now it throws an error if our block index indicates we should have block/undo data but we can't read it.
Also changed the functional test: Before, it would try to imitate a "pruning" situation by just deleting the undo file. This made little sense to me, because when we
...
💬 katesalazar commented on issue "Closing a wallet using the fa46088440 28.x QT client segfaults":
(https://github.com/bitcoin/bitcoin/issues/30887#issuecomment-2346939428)
```
$ valgrind ./src/qt/bitcoin-qt -datadir=/mnt/sdb1/chains/bitcoin/main/datadir/ -proxy=127.0.0.1:9050 -maxmempool=$((1024 * 5)) -dbcache=$((1024 * 7))
bash: valgrind: command not found
$ sudo aptitude install valgrind && valgrind ./src/qt/bitcoin-qt -datadir=/mnt/sdb1/chains/bitcoin/main/datadir/ -proxy=127.0.0.1:9050 -maxmempool=$((1024 * 5)) -dbcache=$((1024 * 7))
[sudo] password for administrator:
The following NEW packages will be installed:
libc6-dbg{a} valgrind valgrind-dbg{a}
...
👍 itornaza approved a pull request: "multiprocess: Add IPC wrapper for Mining interface"
(https://github.com/bitcoin/bitcoin/pull/30510#pullrequestreview-2301097820)
ACK 1be749c771cd9fd80361ebb69c87482920b25cd1

Built and run all tests including the extended functional tests and all of them pass locally. Went through the code changes and read all comments of the pr mostly to educate myself better on the ipc domain. Thanks to all the reviewers and the author for being so explicit.