Bump leveldb subtree and remove UB workaround in CI #34470
pull maflcko wants to merge 3 commits into bitcoin:master from maflcko:2602-ci-leveldb-ub changing 2 files +1 −26-
maflcko commented at 6:26 pm on February 1, 2026: memberBump leveldb subtree and remove UB workaround in CI. This also fixes a GCC-16 warning.
-
DrahtBot commented at 6:26 pm on February 1, 2026: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviews
See the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #34441 (ci: Allow running iwyu CI in worktree by maflcko)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
-
DrahtBot added the label CI failed on Feb 1, 2026
-
maflcko commented at 7:09 pm on February 1, 2026: member
If someone wants to reproduce the GCC-16 warning on a fresh install of Fedora 43:
0dnf install -y git cmake pkgconfig boost-devel libevent-devel sqlite-devel capnproto capnproto-devel zeromq-devel ccache qt6-qttools-devel qt6-qtbase-devel qrencode-devel systemtap-sdt-devel python3-zmq libstdc++ 1 2dnf -y copr enable jwakely/gcc-latest && dnf -y install gcc-latest 3 4git clone https://github.com/bitcoin/bitcoin.git --depth=1 ./b-c && cd b-c 5 6rm -rf ./bld/ && cmake -B bld -DCMAKE_C_COMPILER="/opt/gcc-latest/bin/gcc" -DCMAKE_CXX_COMPILER="/opt/gcc-latest/bin/g++;-static-libstdc++" --preset=dev-mode 7 8cmake --build ./bld -j $(nproc)Will print:
0[ 17%] Building CXX object src/CMakeFiles/leveldb.dir/leveldb/db/db_impl.cc.o 1In copy constructor ‘constexpr leveldb::DBImpl::CompactionState::Output::Output(const leveldb::DBImpl::CompactionState::Output&)’, 2 inlined from ‘constexpr _Tp* std::construct_at(_Tp*, _Args&& ...) [with _Tp = leveldb::DBImpl::CompactionState::Output; _Args = {const leveldb::DBImpl::CompactionState::Output&}]’ at /opt/gcc-latest/include/c++/16.0.1/bits/stl_construct.h:110:9, 3 inlined from ‘static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = leveldb::DBImpl::CompactionState::Output; _Args = {const leveldb::DBImpl::CompactionState::Output&}; _Tp = leveldb::DBImpl::CompactionState::Output]’ at /opt/gcc-latest/include/c++/16.0.1/bits/alloc_traits.h:676:21, 4 inlined from ‘constexpr void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = leveldb::DBImpl::CompactionState::Output; _Alloc = std::allocator<leveldb::DBImpl::CompactionState::Output>]’ at /opt/gcc-latest/include/c++/16.0.1/bits/stl_vector.h:1411:30, 5 inlined from ‘leveldb::Status leveldb::DBImpl::OpenCompactionOutputFile(CompactionState*)’ at /b-c/src/leveldb/db/db_impl.cc:808:31: 6/b-c/src/leveldb/db/db_impl.cc:57:10: warning: ‘out.leveldb::DBImpl::CompactionState::Output::file_size’ may be used uninitialized [-Wmaybe-uninitialized] 7 57 | struct Output { 8 | ^~~~~~ 9/b-c/src/leveldb/db/db_impl.cc: In member function ‘leveldb::Status leveldb::DBImpl::OpenCompactionOutputFile(CompactionState*)’: 10/b-c/src/leveldb/db/db_impl.cc:804:29: note: ‘out’ declared here 11 804 | CompactionState::Output out; 12 | ^~~ 13In copy constructor ‘constexpr leveldb::DBImpl::CompactionState::Output::Output(const leveldb::DBImpl::CompactionState::Output&)’, 14 inlined from ‘constexpr _Tp* std::construct_at(_Tp*, _Args&& ...) [with _Tp = leveldb::DBImpl::CompactionState::Output; _Args = {const leveldb::DBImpl::CompactionState::Output&}]’ at /opt/gcc-latest/include/c++/16.0.1/bits/stl_construct.h:110:9, 15 inlined from ‘static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = leveldb::DBImpl::CompactionState::Output; _Args = {const leveldb::DBImpl::CompactionState::Output&}; _Tp = leveldb::DBImpl::CompactionState::Output]’ at /opt/gcc-latest/include/c++/16.0.1/bits/alloc_traits.h:676:21, 16 inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_realloc_append(_Args&& ...) [with _Args = {const leveldb::DBImpl::CompactionState::Output&}; _Tp = leveldb::DBImpl::CompactionState::Output; _Alloc = std::allocator<leveldb::DBImpl::CompactionState::Output>]’ at /opt/gcc-latest/include/c++/16.0.1/bits/vector.tcc:594:26, 17 inlined from ‘constexpr void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = leveldb::DBImpl::CompactionState::Output; _Alloc = std::allocator<leveldb::DBImpl::CompactionState::Output>]’ at /opt/gcc-latest/include/c++/16.0.1/bits/stl_vector.h:1417:21, 18 inlined from ‘leveldb::Status leveldb::DBImpl::OpenCompactionOutputFile(CompactionState*)’ at /b-c/src/leveldb/db/db_impl.cc:808:31: 19/b-c/src/leveldb/db/db_impl.cc:57:10: warning: ‘out.leveldb::DBImpl::CompactionState::Output::file_size’ may be used uninitialized [-Wmaybe-uninitialized] 20 57 | struct Output { 21 | ^~~~~~ 22/b-c/src/leveldb/db/db_impl.cc: In member function ‘leveldb::Status leveldb::DBImpl::OpenCompactionOutputFile(CompactionState*)’: 23/b-c/src/leveldb/db/db_impl.cc:804:29: note: ‘out’ declared here 24 804 | CompactionState::Output out; 25 | ^~~ 26[ 17%] Linking CXX static library libleveldb.a(This pull fixes it)
-
fanquake commented at 8:45 pm on February 1, 2026: memberConcept ACK
-
hebasto commented at 12:29 pm on February 2, 2026: memberConcept ACK.
-
maflcko commented at 12:58 pm on February 2, 2026: memberthx, please redirect any review to https://github.com/bitcoin-core/leveldb-subtree/pull/58, which this is based on
-
2f2952c5f2
Squashed 'src/leveldb/' changes from cad64b151d..ab6c84e6f3
ab6c84e6f3 Merge bitcoin-core/leveldb-subtree#58: Initialize file_size to 0 to avoid UB ad9b1c9893 Initialize file_size to 0 to avoid UB git-subtree-dir: src/leveldb git-subtree-split: ab6c84e6f38fae0279e30305a182f9b4674e2ecd
-
fabced56f6
Bump leveldb subtree
Command that was run: git subtree pull --prefix src/leveldb https://github.com/bitcoin-core/leveldb-subtree bitcoin-fork --squash
-
ci: Remove unused workaround after leveldb subtree bump fad7d86d8d
-
fanquake commented at 10:19 am on February 3, 2026: memberPull the subtree bump now?
-
maflcko force-pushed on Feb 3, 2026
-
maflcko marked this as ready for review on Feb 3, 2026
-
l0rinc commented at 10:23 am on February 3, 2026: contributor
code review ACK fad7d86d8d17d89238ed9a2b2305cb3ed6a32cf4
Tested both changes on LevelDB branch, they’re identical to the changes here.
-
DrahtBot requested review from hebasto on Feb 3, 2026
-
DrahtBot requested review from fanquake on Feb 3, 2026
-
fanquake commented at 11:19 am on February 3, 2026: member
Guix Build (x86_64):
0f7f2d5d9596874af653d50ff576045499ff52be777aa26f566ccfdb572343f31 guix-build-fad7d86d8d17/output/aarch64-linux-gnu/SHA256SUMS.part 1dfefd222926179444fd46dcc4b5aa3c7cf1a46d776205dbbe995e627a8983769 guix-build-fad7d86d8d17/output/aarch64-linux-gnu/bitcoin-fad7d86d8d17-aarch64-linux-gnu-debug.tar.gz 2aa5107f4074092e17cf28d1d1a164e6f811c8da61946fb4e951cf2e4f27c47d4 guix-build-fad7d86d8d17/output/aarch64-linux-gnu/bitcoin-fad7d86d8d17-aarch64-linux-gnu.tar.gz 36d1838e807703a69dc7621dc4091ab6594fa6fae89e44fd90dfaadbf4f4b1876 guix-build-fad7d86d8d17/output/arm-linux-gnueabihf/SHA256SUMS.part 46026f716eb61b85b95ff457dd0efb83d41e5a9c92860ebc0eb32a87d443a1f21 guix-build-fad7d86d8d17/output/arm-linux-gnueabihf/bitcoin-fad7d86d8d17-arm-linux-gnueabihf-debug.tar.gz 55b314a3f8066d8df274b3078512926f78be92ba61db4788a4d5938f9e146fe70 guix-build-fad7d86d8d17/output/arm-linux-gnueabihf/bitcoin-fad7d86d8d17-arm-linux-gnueabihf.tar.gz 68f29fcfdf1951b0b7fd5c3b65d67500555db9cf628810ffcb5aa5efa5dfcb530 guix-build-fad7d86d8d17/output/arm64-apple-darwin/SHA256SUMS.part 79a6e699e38d35dfa33fd72f1b8f4e4aa502300612ec7b7461cdcda3fbc0ac07c guix-build-fad7d86d8d17/output/arm64-apple-darwin/bitcoin-fad7d86d8d17-arm64-apple-darwin-codesigning.tar.gz 89363e2da911e9d7f3a20dfa0191a7f5069ac311ab162fa4e111f76295cf7e6ea guix-build-fad7d86d8d17/output/arm64-apple-darwin/bitcoin-fad7d86d8d17-arm64-apple-darwin-unsigned.tar.gz 9bfe9e13163d3c9c8947f7db6ff88db8f1fae19b9f0c15a621aeea16c9a70e8eb guix-build-fad7d86d8d17/output/arm64-apple-darwin/bitcoin-fad7d86d8d17-arm64-apple-darwin-unsigned.zip 1007abbf1926b12f75b7260640afb91ed6431a7b7f708375abc95fd593a11d9014 guix-build-fad7d86d8d17/output/dist-archive/bitcoin-fad7d86d8d17.tar.gz 115fab3d163e886f7a9effa912585fc635fa6509f91382b46c6022c2ec27cf2152 guix-build-fad7d86d8d17/output/powerpc64-linux-gnu/SHA256SUMS.part 121972a49b49b6b7d593c05bb3d612578b8437704fc3d371eddaedfa84f47e2400 guix-build-fad7d86d8d17/output/powerpc64-linux-gnu/bitcoin-fad7d86d8d17-powerpc64-linux-gnu-debug.tar.gz 132a3127bbb000c792e28e1bcc47247c9b9e1f7413d50fa6104bcfa452ebdedee5 guix-build-fad7d86d8d17/output/powerpc64-linux-gnu/bitcoin-fad7d86d8d17-powerpc64-linux-gnu.tar.gz 14d7dcbf8a513c2559c801d3091dc761abc88205bac561b547b02d26395c3b4411 guix-build-fad7d86d8d17/output/riscv64-linux-gnu/SHA256SUMS.part 15de83637dcd575a1e49310a2c99dbb4b31ef4d40f47304bfca84d06a02c3855ba guix-build-fad7d86d8d17/output/riscv64-linux-gnu/bitcoin-fad7d86d8d17-riscv64-linux-gnu-debug.tar.gz 16bf95c3a0b28e952055b51b14891e873c6ab0523a117ff8f6e9263cc8f957128a guix-build-fad7d86d8d17/output/riscv64-linux-gnu/bitcoin-fad7d86d8d17-riscv64-linux-gnu.tar.gz 1751df02972d4b20be04c7f26e2aaa950f8a1dca9368e23a17e77a1f7e3fe08d89 guix-build-fad7d86d8d17/output/x86_64-apple-darwin/SHA256SUMS.part 185e148328ef91d2f18350f3bac151526fbcf0ed973f0e5d7d6096d70002e7fe53 guix-build-fad7d86d8d17/output/x86_64-apple-darwin/bitcoin-fad7d86d8d17-x86_64-apple-darwin-codesigning.tar.gz 1936b8917adbe45d68e59f674474363812738768d5b76138466a641fe13f58ff00 guix-build-fad7d86d8d17/output/x86_64-apple-darwin/bitcoin-fad7d86d8d17-x86_64-apple-darwin-unsigned.tar.gz 20b2d4fa2dcec214eb2376c181933490d88be30c8b641bea65d2af1ed02e7917ab guix-build-fad7d86d8d17/output/x86_64-apple-darwin/bitcoin-fad7d86d8d17-x86_64-apple-darwin-unsigned.zip 21f367b572e81892d3749e74535e84a3163f3ad200e2c13a6af7c27f9ad3b71c1a guix-build-fad7d86d8d17/output/x86_64-linux-gnu/SHA256SUMS.part 22ee9d033ace5cb64cb22960f2351180104f0c3ae9e14d5a1aafa61a083029a905 guix-build-fad7d86d8d17/output/x86_64-linux-gnu/bitcoin-fad7d86d8d17-x86_64-linux-gnu-debug.tar.gz 23e0eb1e5d17c317da8e6b4a581ba4f480c4deed269c98900267b5809ea404ebf8 guix-build-fad7d86d8d17/output/x86_64-linux-gnu/bitcoin-fad7d86d8d17-x86_64-linux-gnu.tar.gz 2401f29f497bfaf9e250ec4d40b98ba38fa7949aac2ff24333c4e5c248bc363a5d guix-build-fad7d86d8d17/output/x86_64-w64-mingw32/SHA256SUMS.part 25be60c7857f0cfe5dee961cbdd390f19cb1a8cfa50440a09afbe650a9d7ee7a90 guix-build-fad7d86d8d17/output/x86_64-w64-mingw32/bitcoin-fad7d86d8d17-win64-codesigning.tar.gz 26f6eeedef7dfa9049158cb0657e2d248600857f8031d31201245da8e41f6bb91b guix-build-fad7d86d8d17/output/x86_64-w64-mingw32/bitcoin-fad7d86d8d17-win64-debug.zip 27f6832d3bb22c93fe14e420f9bf8efc06e82df2ec52097f6c2469f63ce84099c7 guix-build-fad7d86d8d17/output/x86_64-w64-mingw32/bitcoin-fad7d86d8d17-win64-setup-unsigned.exe 28c28bd3615f6a8ce572dbbd4d5616f7b79d3adf9ebfe21348959f029a57b52c34 guix-build-fad7d86d8d17/output/x86_64-w64-mingw32/bitcoin-fad7d86d8d17-win64-unsigned.zip -
DrahtBot removed the label CI failed on Feb 3, 2026
-
fanquake commented at 11:21 am on February 3, 2026: memberACK fad7d86d8d17d89238ed9a2b2305cb3ed6a32cf4
-
fanquake merged this on Feb 3, 2026
-
fanquake closed this on Feb 3, 2026
-
maflcko deleted the branch on Feb 3, 2026
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-03-05 06:13 UTC
More mirrored repositories can be found on mirror.b10c.me