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
  1. maflcko commented at 6:26 pm on February 1, 2026: member
    Bump leveldb subtree and remove UB workaround in CI. This also fixes a GCC-16 warning.
  2. 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.

    Type Reviewers
    ACK l0rinc, fanquake
    Concept ACK hebasto

    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.

  3. DrahtBot added the label CI failed on Feb 1, 2026
  4. 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)

  5. fanquake commented at 8:45 pm on February 1, 2026: member
    Concept ACK
  6. hebasto commented at 12:29 pm on February 2, 2026: member
    Concept ACK.
  7. maflcko commented at 12:58 pm on February 2, 2026: member
    thx, please redirect any review to https://github.com/bitcoin-core/leveldb-subtree/pull/58, which this is based on
  8. 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
    2f2952c5f2
  9. Bump leveldb subtree
    Command that was run:
    
    git subtree pull --prefix src/leveldb https://github.com/bitcoin-core/leveldb-subtree bitcoin-fork --squash
    fabced56f6
  10. ci: Remove unused workaround after leveldb subtree bump fad7d86d8d
  11. fanquake commented at 10:19 am on February 3, 2026: member
    Pull the subtree bump now?
  12. maflcko force-pushed on Feb 3, 2026
  13. maflcko marked this as ready for review on Feb 3, 2026
  14. 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.

  15. DrahtBot requested review from hebasto on Feb 3, 2026
  16. DrahtBot requested review from fanquake on Feb 3, 2026
  17. 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
    
  18. DrahtBot removed the label CI failed on Feb 3, 2026
  19. fanquake commented at 11:21 am on February 3, 2026: member
    ACK fad7d86d8d17d89238ed9a2b2305cb3ed6a32cf4
  20. fanquake merged this on Feb 3, 2026
  21. fanquake closed this on Feb 3, 2026

  22. maflcko deleted the branch on Feb 3, 2026

github-metadata-mirror

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

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me