master
Name already in use
Commits on May 20, 2023
-
Merge #27688: doc: remove Security section from build-unix.md
4bfcbbf doc: remove Security section from build-unix.md (fanquake) Pull request description: Our compile documentation isn't the right place for generic binary hardening notes, which are neither particularly Bitcoin-Core specific, or as relevant as they might have once been, i.e non-executable stacks are now just the norm. Just remove the notes for now, if someone has something more interesting/Bitcoin Core specific, it could be added in separate documentation in the future (maybe into the devwiki or similar). Split from #27685 (comment). ACKs for top commit: jarolrod: ACK 4bfcbbf Tree-SHA512: 01b523ba40353d6cafb5dbd6540b514d83a2dc4e462a068fb390ca7de45b78e4a329367f70527f1824006ebe43f8caeea4ad05ec60556d5a5bd0143e27bf6581
Commits on May 19, 2023
-
Merge #27021: Implement Mini version of BlockAssembler to calculate m…
…ining scores 6b605b9 [fuzz] Add MiniMiner target + diff fuzz against BlockAssembler (glozow) 3f3f2d5 [unit test] GatherClusters and MiniMiner unit tests (glozow) 59afcc8 Implement Mini version of BlockAssembler to calculate mining scores (glozow) 56484f0 [mempool] find connected mempool entries with GatherClusters(…) (glozow) Pull request description: Implement Mini version of BlockAssembler to calculate mining scores Run the mining algorithm on a subset of the mempool, only disturbing the mempool to copy out fee information for relevant entries. Intended to be used by wallet to calculate amounts needed for fee-bumping unconfirmed transactions. From comments of sipa and glozow below: > > In what way does the code added here differ from the real block assembly code? > > * Only operates on the relevant transactions rather than full mempool > * Has the ability to remove transactions that will be replaced so they don't impact their ancestors > * Does not hold mempool lock outside of the constructor, makes copies of the entries it needs instead (though I'm not sure if this has an effect in practice) > * Doesn't do the sanity checks like keeping weight within max block weight and `IsFinalTx()` > * After the block template is built, additionally calculates fees to bump remaining ancestor packages to target feerate ACKs for top commit: achow101: ACK 6b605b9 Xekyo: > ACK [6b605b9](6b605b9) modulo `miniminer_overlap` test. furszy: ACK 6b605b9 modulo `miniminer_overlap` test. theStack: Code-review ACK 6b605b9 Tree-SHA512: f86a8b4ae0506858a7b15d90f417ebceea5038b395c05c825e3796123ad3b6cb8a98ebb948521316802a4c6d60ebd7041093356b1e2c2922a06b3b96b3b8acb6
-
Merge #27687: msvc: Provide
ObjectFileNameexplicitlyb8ed951 msvc: Provide `ObjectFileName` explicitly (Hennadii Stepanov) Pull request description: This PR is a follow-up to #26715. Fixes intermittent MSVC link [errors](https://cirrus-ci.com/task/6646912535756800). ACKs for top commit: sipsorcery: ACK b8ed951. Tree-SHA512: 4319ecf61b578ce66d240998d089b9bb0a42f89dcfcb1a73f648cd3915f566c773721dcff1feba27d393a743d121334ccb890b1a519173e35a156d6135821ef4
-
Merge #27695: test: Add test to check tx in the last block can be dow…
…nloaded fa4c16b test: Add test to check tx in the last block can be downloaded (MarcoFalke) fadc849 test: Split up test_notfound_on_unannounced_tx test case (MarcoFalke) Pull request description: If a peer received an `inv` about a transaction, which was included in a block before receiving the corresponding `getdata`, it can be beneficial to send this transaction to the peer to aid compact block relay. Add a test for this to avoid breaking it in the future. ACKs for top commit: sdaftuar: ACK fa4c16b instagibbs: ACK fa4c16b Tree-SHA512: 1ec16dcc216dd29c849928e753158d45c409612e9ac528db16e5af465bb5b69cd42241ac6f67e5a4583b8e558eeba49fa0a0889a4247b3fb0053b2758eec9490
-
Merge #27458: build: Detect USDT the same way how it is used in the code
b53cab0 build: Detect USDT the same way how it is used in the code (Hennadii Stepanov) Pull request description: In the code we do not use string literals. Also a check for `DTRACE_PROBE7` macro has been added as not all systems define`DTRACE_PROBE{6,7,8,9,10,11,12}` macros (e.g., FreeBSD). ACKs for top commit: 0xB10C: ACK b53cab0 Tree-SHA512: 74f49424d57bf1929f2b09edba1449cef5a1a2448161952da35302343f3003d5bedeab1417e166b656c5f629303e2de888550b1219e886a1b991b12b9c880794
-
Merge #27662: build: Bump minimum supported GCC to g++-9
fa953f1 build: Bump minimum supported GCC to g++-9 (MarcoFalke) fa69955 ci: Bump centos:stream8 to centos:stream9 (MarcoFalke) fa6a755 ci: Document the false positive error for g++-9 (MarcoFalke) Pull request description: It is a bit frustrating to write valid C++ code only to realize that g++-8 fails to parse it later on. The only non-EOL operating system still shipping with g++-8 is CentOS Stream 8. I think it is reasonable for users of affected Linux distributions to: * Upgrade their operating system, or compiler to a supported version. * Alternatively, stay with a previous release of Bitcoin Core as long as it is supported. Fixes #27537 ACKs for top commit: hebasto: ACK fa953f1 fanquake: ACK fa953f1 Tree-SHA512: b9cf7e763d3071e1e008c5010de19601d4773afe46d58cf869d3f59285c53240c739a1cd7235a5525ede1bbdf6b6cb6fb091c8fc314864a28d5b27a400bb7632
Commits on May 18, 2023
-
Merge #27556: wallet: fix deadlock in bdb read write operation
69d4390 test: add coverage for wallet read write db deadlock (furszy) 12daf6f walletdb: scope bdb::EraseRecords under a single db txn (furszy) 043fcb0 wallet: bugfix, GetNewCursor() misses to provide batch ptr to BerkeleyCursor (furszy) Pull request description: Decoupled from #26644 so it can closed in favor of #26715. Basically, with bdb, we can't make a write operation while we are traversing the db with the same db handler. These two operations are performed in different txn contexts and cause a deadlock. Added coverage by using `EraseRecords()` which is the simplest function that executes this process. To replicate it, need bdb support and drop the first commit. The test will run forever. ACKs for top commit: achow101: ACK 69d4390 hebasto: re-ACK 69d4390 Tree-SHA512: b3773be78925f674e962f4a5c54b398a9d0cfe697148c01c3ec0d68281cc5c1444b38165960d219ef3cf1a57c8ce6427f44a876275958d49bbc0808486e19d7d
-
Merge #27698: doc: add historical release notes for 24.1 & 23.2
e0f69a7 doc: add 24.1 release notes (fanquake) f1e6f2d doc: add 23.2 release notes (fanquake) Pull request description: Also for linking to from `Releases`. ACKs for top commit: achow101: ACK e0f69a7 Tree-SHA512: d00d692ab477408842d2ae8575c3355433fb7f236a354317075a6de06f8fbe3b038ee8ccd349789ce1fca24c5fae63fad78521480c14425ce679cdee3307e210
-
-
-
-
Merge #27640: test: Return dict in MiniWallet::send_to
faf4315 test: Return dict in MiniWallet::send_to (MarcoFalke) Pull request description: Returning a tuple has many issues: * If only one value is needed, it can not be indexed by name * If another value is added to the return value, all call sites need to be updated Bite the bullet now and update all call sites to fix the above issues. ACKs for top commit: brunoerg: crACK faf4315 theStack: Code-review ACK faf4315 stickies-v: Code review ACK faf4315 Tree-SHA512: 8ce1aca237df21f04b3990d0e5fcb49cc408fe6404399d3769a64eae1b5218941157d9785fce1bd9e45140cf70e06c3aa42646ee8f7b57855beb784fc3ef0261
-
doc: remove Security section from build-unix.md
Our compile documentation isn't the right place for genric binary hardening notes, which are neither particularly Bitcoin-Core specific, or as relevant as they might have once been, i.e non-executable stacks are now just the norm. Just remove the notes for now, if someone has something more interesting/Bitcoin Core specific, it could be added in separate documentation in the future (maybe into the devwiki or similar). Split from #27685 (comment).
-
Merge #27685: doc: Rework build-unix.md
fa29651 doc: Rework build-unix.md (MarcoFalke) Pull request description: The doc has many issues: * The fist section contains outdated non-existing and confusing configure flags like `--enable-cxx` and `--disable-shared`, as well as edge-case expert options such as `BDB_PREFIX`. Fix that by removing the section and adding notes elsewhere, if applicable. * There are links to the depends system before instructions on how to simply build from system packages. Fix that by moving that later. * Also, remove sections that are duplicate with other depends READMEs. ACKs for top commit: fanquake: ACK fa29651 TheCharlatan: ACK fa29651 Tree-SHA512: 5348ddf3fa094c630d80b63033ca7b40ec0356427856f9a1075b31244f6bf8ec65cb2a738366e1174ef2fe7e0bf5cc249a62c58f458bbaf50668aceeac954820
-
Merge #27615: msvc: Rename
libbitcoinconsensusto `libbitcoin_conse……nsus` and other adjustments a94d75f msvc: Do not define `HAVE_CONSENSUS_LIB` (Hennadii Stepanov) cf6ff10 msvc: Clean up `libbitcoin_consensus` source files (Hennadii Stepanov) 30aee01 scripted-diff: Rename `libbitcoinconsensus` to `libbitcoin_consensus` (Hennadii Stepanov) Pull request description: The current Autotools-based build system operates with two build artifacts: - [`LIBBITCOIN_CONSENSUS`](https://github.com/bitcoin/bitcoin/blob/3777c75d147954b24f770dc7781b27870eadf775/src/Makefile.am#L31) which is [defined as](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md) "Stable, backwards-compatible consensus functionality used by _libbitcoin_node_ and _libbitcoin_wallet_" - [`LIBBITCOINCONSENSUS`](https://github.com/bitcoin/bitcoin/blob/3777c75d147954b24f770dc7781b27870eadf775/src/Makefile.am#L42) which is [defined as](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md) "Shared library build of static _libbitcoin_consensus_ library" The way how the `libbitcoinconsensus.vcxproj` project is used in the MSVC build system obviously shows that it is the former use case. This PR makes the related adjustments to the MSVC build system. ACKs for top commit: sipsorcery: ACK a94d75f. Tree-SHA512: 1144e13ee2b428ce14be8f76729744830c502a07814eb03e2aa6b8e009d8936fd13743e3f36ef3f31fac0e3979eb9af23e6a1364f151df49b3ae18dbd14cbf99
-
Merge #27689: doc: remove mention of glibc 2.10+
7014e08 doc: remove mention of glibc 2.10+ (fanquake) Pull request description: We already require glibc 2.27+, so mentioning a much older version here is redundant. ACKs for top commit: TheCharlatan: ACK 7014e08 Tree-SHA512: 883a566a80cabe34bfb5d902990f3eca08d0e11438e6c128d311e558f373ec232b0934deb85d12d796baacfeae590af8c73aa1b2faef07f27ffa9011270ffd96
-
build: Bump minimum supported GCC to g++-9
Also, update the code to use constexpr, which does not work in g++-8. Also, drop the no longer needed build-aux/m4/l_filesystem.m4.
MarcoFalke committedMay 18, 2023 -
ci: Bump centos:stream8 to centos:stream9
This is required for the next commit. Also, drop CI_RETRY_EXE before "dnf install", because it requires getopt, which will only be installed later on via util-linux
MarcoFalke committedMay 18, 2023 -
ci: Document the false positive error for g++-9
MarcoFalke committedMay 18, 2023 -
Merge #27690: ci: Use credits for ARM task
fa3761d ci: Reduce tsan CPU and memory for faster scheduling (MarcoFalke) aaaa07b ci: Use credits for ARM task (MarcoFalke) Pull request description: After #27562 the task should finish in less than 10 minutes, so also using credits for it will be cheap and improve dev experience. ACKs for top commit: fanquake: ACK fa3761d Tree-SHA512: 98ba76eaa63bcbab674076bb9877b3a20d1b90e6d51e2fd7b97ae245414e984d734006b15ea60228a1f4f9bc72fbe2a1a8910fd05e7c52dd2a8b223bfaa25b50
-
Merge #27682: build: Bump minimum supported Clang to clang-10
fa199ee ci: Drop NO_WERROR=1 for clang-10 build (MarcoFalke) fad2c20 build: Bump minimum Clang to clang-10 (MarcoFalke) fad7cfe doc: Remove outdated CentOS comment (MarcoFalke) Pull request description: It doesn't make sense to support a minimum clang version that is difficult to install on all supported operating systems, which generally ship a later version: * Ubuntu Focal 20.04: https://packages.ubuntu.com/focal/clang-10 and https://packages.ubuntu.com/focal/clang-12 * Debian Bullseye: https://packages.debian.org/bullseye/clang-13 * CentOS 8 Stream: All Clang versions from 11.0 to 15.0 Also, it allows to drop build code, which means it won't waste review when rolling over into cmake (`cmake/module/CheckStdFilesystem.cmake`). ACKs for top commit: hebasto: ACK fa199ee fanquake: ACK fa199ee Tree-SHA512: c1a0e8f191a6db866b8be3c9d254dc3f576fa021e2eaaeb68f3354554a8b38eaa90bbf9871ff92351b715e62a6b7b98cf94eba6dc53d7c951bddb6ad49ba7716
-
test: Add test to check tx in the last block can be downloaded
MarcoFalke committedMay 18, 2023 -
test: Split up test_notfound_on_unannounced_tx test case
MarcoFalke committedMay 18, 2023
Commits on May 17, 2023
-
Merge #25193: indexes: Read the locator's top block during init, allo…
…w interaction with reindex-chainstate 97844d9 index: Enable reindex-chainstate with active indexes (Martin Zumsande) 60bec3c index: Use first block from locator instead of looking for fork point (Martin Zumsande) Pull request description: This makes two improvements to the index init phase: **1) Prevent index corruption in case a reorg happens when the index was switched off**: This is done by reading in the top block stored in the locator instead of looking for a fork point already in `BaseIndex::Init()`. Before, we'd just go back to the fork point by calling `FindForkInGlobalIndex()`, which would have corrupted the coinstatsindex because its saved muhash needs to be reverted step by step by un-applying all blocks in between, which wasn't done before. This is now being done a bit later in `ThreadSync()`, which has existing logic to call the custom `Rewind()` method when going back along the chain to the forking point (thanks ryanofsky for pointing this out to me!). **2) Allow using the `-reindex-chainstate` option without needing to disabling indexes**: With `BaseIndex::Init()` not calling `FindForkInGlobalIndex()` anymore, we can allow `reindex-chainstate` with active indexes. `reindex-chainstate` deletes the chain and rebuilds it later in `ThreadImport`, so there is no chain available during `BaseIndex::Init()`, which would lead to problems (see #24789). But now we'll only need the chain a bit later in `BaseIndex::ThreadSync`, which will wait for the reindex-chainstate in `ThreadImport` to finish and will continue syncing after that. ACKs for top commit: ryanofsky: Code review ACK 97844d9. Just simple rebase since last review Tree-SHA512: e24973fc22e0b87a49026f4820aecb0a4e415f4d381bade9969dd31cf97afecfea0449dce7fcc797343b792199cc8287276d1f5ffa4433dcb54fb24a808db6fb
-
index: Enable reindex-chainstate with active indexes
This is achieved by letting the index sync thread wait until reindex-chainstate is finished. This also disables the pruning check when reindexing the chainstate (which is incompatible with prune mode) because there would be no chain at this point in init.
-
index: Use first block from locator instead of looking for fork point
The index sync code has logic to go back the chain to the forking point, while also updating index-specific state, which is necessary to prevent possible corruption of the coinstatsindex. Also add a test for this (a reorg happens while the index is deactivated) that would not pass before this change.
-
ci: Reduce tsan CPU and memory for faster scheduling
MarcoFalke committedMay 17, 2023 -
MarcoFalke committed
May 17, 2023 -
msvc: Provide
ObjectFileNameexplicitlyShould fix intermittent MSVC link errors.
-
doc: remove mention of glibc 2.10+
We already require glibc 2.27+, so mentioning a much older version here is redundant.
-
MarcoFalke committed
May 17, 2023 -
Merge #27668: guix: document when certain patches can be dropped
a09269a guix: document when certain guix patches can be dropped (fanquake) Pull request description: Additional notes for when patches can be dropped. ACKs for top commit: hebasto: ACK a09269a, I have reviewed the changes and they look OK. jarolrod: ACK a09269a Tree-SHA512: c1876b9a4e3cf73645d25c9077cef19a9b6b7fe2eda5dc9d82fd3ca3f9105453406c1b197e6635035b6ce19c9f255c070bebed5563f68913033d04627202155a
-
Merge #27571: ci: Run iwyu on all src files
ddddf49 ci: Run iwyu on all src files (MarcoFalke) Pull request description: This makes it easier to look at the CI output of a file without having to manually add it first to the list. ACKs for top commit: hebasto: ACK ddddf49 Tree-SHA512: 342b52838ae45ea343731c30058cdd5595d5ea5601a1f396de4466ccdd63f7ab07b3a193df3669e4dca7cb535557dcc98f866b3cf986b98176b20ecead123868
-
ci: Drop NO_WERROR=1 for clang-10 build
This partially reverts commit 71383f2. This should be fine, because if warnings are issues again in the future, it can be disabled again, along with a list of the false warnings.
MarcoFalke committedMay 17, 2023 -
Merge bitcoin-core/gui#729: test: Add missed header
36e2d51 qt, test: Add missed header (Hennadii Stepanov) Pull request description: Should fix MSVC link errors like [that](https://api.cirrus-ci.com/v1/task/4870882892447744/logs/build.log): ``` addressbooktests.obj : error LNK2019: unresolved external symbol "void __cdecl ConfirmMessage(class QString *,class std::chrono::duration<__int64,struct std::ratio<1,1000> >)" (?ConfirmMessage@@YAXPEAVQString@@v?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@@z) referenced in function "void __cdecl `anonymous namespace'::EditAddressAndSubmit(class EditAddressDialog *,class QString const &,class QString const &,class QString)" (?EditAddressAndSubmit@?A0x2e52698e@@YAXPEAVEditAddressDialog@@AEBVQString@@1v3@@z) [C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\build_msvc\test_bitcoin-qt\test_bitcoin-qt.vcxproj] wallettests.obj : error LNK2001: unresolved external symbol "void __cdecl ConfirmMessage(class QString *,class std::chrono::duration<__int64,struct std::ratio<1,1000> >)" (?ConfirmMessage@@YAXPEAVQString@@v?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@@z) [C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\build_msvc\test_bitcoin-qt\test_bitcoin-qt.vcxproj] C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\build_msvc\x64\Release\test_bitcoin-qt.exe : fatal error LNK1120: 1 unresolved externals [C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\build_msvc\test_bitcoin-qt\test_bitcoin-qt.vcxproj] ``` ACKs for top commit: fanquake: ACK 36e2d51 Tree-SHA512: 84685598fbf8857c0284ff660d953b93da3c2f47ba4ac0d3591b5009a6bcdb76898031fd70f289c4256ce389e485bd259ca145f9f862f085795e374dfa88705d