bugfix: give TxDownloadManager its own RNG #36077

pull instagibbs wants to merge 1 commits into bitcoin:master from instagibbs:2026-08-fixup_reconsider_mined changing 6 files +18 −17
  1. instagibbs commented at 12:36 PM on August 25, 2026: member

    TxDownloadManagerImpl retains a reference to PeerManagerImpl::m_rng, which is non-thread-safe and guarded by g_msgproc_mutex.

    BlockConnected runs on the validation background thread while holding only m_tx_download_mutex. Reconsidering an orphan with multiple announcers could therefore use m_rng concurrently with message processing.

    Regression introduced in #35986

    Added a regression test on second commit, can remove it from the PR if deemed superfluous.

    This is a Project Loupe find.

  2. DrahtBot commented at 12:36 PM on August 25, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/36077.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    ACK maflcko, hodlinator, sedited

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  3. instagibbs commented at 12:40 PM on August 25, 2026: member

    @fanquake this needs a 32.x tag as it's not in a release yet

  4. maflcko added this to the milestone 32.0 on Aug 25, 2026
  5. maflcko commented at 1:25 PM on August 25, 2026: member

    Added a regression test on second commit, can remove it from the PR if deemed superfluous.

    Seems fine to drop. I guess an end-to-end sanitizer test would be nicer, but I guess that won't work because tsan can't detect this UB for some reason? Reminds me of #29625 (review), which was only visible via pattern-init-ubsan: #29625 (comment)

  6. instagibbs force-pushed on Aug 25, 2026
  7. DrahtBot added the label CI failed on Aug 25, 2026
  8. bugfix: give TxDownloadManager its own RNG
    TxDownloadManagerImpl retains a reference to PeerManagerImpl::m_rng,
    which is non-thread-safe and guarded by g_msgproc_mutex.
    
    BlockConnected runs on the validation background thread while holding
    only m_tx_download_mutex. Reconsidering an orphan with multiple
    announcers could therefore use m_rng concurrently with message
    processing.
    
    Regression introduced in 9cc7dc50bdc9867d079ab7a111d39487a4566767
    80eaa6cabf
  9. in src/node/txdownloadman_impl.h:133 in 254c4b9813
     129 | @@ -128,7 +130,12 @@ class TxDownloadManagerImpl {
     130 |          return *m_lazy_recent_confirmed_transactions;
     131 |      }
     132 |  
     133 | -    TxDownloadManagerImpl(const TxDownloadOptions& options) : m_opts{options}, m_orphanage{MakeTxOrphanage()}, m_txrequest{options.m_deterministic_txrequest} {}
     134 | +    TxDownloadManagerImpl(const TxDownloadOptions& options) :
    


    maflcko commented at 2:07 PM on August 25, 2026:

    nit: according to clang-format, this : goes on the next line? Also, you forgot to actually remove the (now unused/dead) rng ref to avoid the bug being re-introduced in the futre?

    diff --git a/src/net_processing.cpp b/src/net_processing.cpp
    index 6b6594f7da..34958d5e90 100644
    --- a/src/net_processing.cpp
    +++ b/src/net_processing.cpp
    @@ -2139,3 +2139,3 @@ PeerManagerImpl::PeerManagerImpl(CConnman& connman, AddrMan& addrman,
           m_mempool(pool),
    -      m_txdownloadman(node::TxDownloadOptions{pool, m_rng, opts.deterministic_rng}),
    +      m_txdownloadman{node::TxDownloadOptions{pool, opts.deterministic_rng}},
           m_warnings{warnings},
    diff --git a/src/node/txdownloadman.h b/src/node/txdownloadman.h
    index e362110212..ab6d9accbe 100644
    --- a/src/node/txdownloadman.h
    +++ b/src/node/txdownloadman.h
    @@ -41,4 +41,2 @@ struct TxDownloadOptions {
         const CTxMemPool& m_mempool;
    -    /** RNG provided by caller. */
    -    FastRandomContext& m_rng;
         /** Instantiate TxRequestTracker as deterministic (used for tests). */
    diff --git a/src/node/txdownloadman_impl.h b/src/node/txdownloadman_impl.h
    index c65b2beed1..f49de20960 100644
    --- a/src/node/txdownloadman_impl.h
    +++ b/src/node/txdownloadman_impl.h
    @@ -132,7 +132,7 @@ public:
     
    -    TxDownloadManagerImpl(const TxDownloadOptions& options) :
    -        m_mempool{options.m_mempool},
    -        m_rng{options.m_deterministic_txrequest},
    -        m_orphanage{MakeTxOrphanage()},
    -        m_txrequest{options.m_deterministic_txrequest}
    +    TxDownloadManagerImpl(const TxDownloadOptions& options)
    +        : m_mempool{options.m_mempool},
    +          m_rng{options.m_deterministic_txrequest},
    +          m_orphanage{MakeTxOrphanage()},
    +          m_txrequest{options.m_deterministic_txrequest}
         {}
    diff --git a/src/test/fuzz/txdownloadman.cpp b/src/test/fuzz/txdownloadman.cpp
    index c7a41da948..8de5664b69 100644
    --- a/src/test/fuzz/txdownloadman.cpp
    +++ b/src/test/fuzz/txdownloadman.cpp
    @@ -176,4 +176,3 @@ FUZZ_TARGET(txdownloadman, .init = initialize)
         CTxMemPool pool{MemPoolOptionsForTest(g_setup->m_node), error};
    -    FastRandomContext det_rand{true};
    -    node::TxDownloadManager txdownloadman{node::TxDownloadOptions{pool, det_rand, true}};
    +    node::TxDownloadManager txdownloadman{node::TxDownloadOptions{.m_mempool = pool, .m_deterministic_txrequest = true}};
     
    @@ -300,4 +299,3 @@ FUZZ_TARGET(txdownloadman_impl, .init = initialize)
         CTxMemPool pool{MemPoolOptionsForTest(g_setup->m_node), error};
    -    FastRandomContext det_rand{true};
    -    node::TxDownloadManagerImpl txdownload_impl{node::TxDownloadOptions{pool, det_rand, true}};
    +    node::TxDownloadManagerImpl txdownload_impl{node::TxDownloadOptions{.m_mempool = pool, .m_deterministic_txrequest = true}};
     
    diff --git a/src/test/txdownload_tests.cpp b/src/test/txdownload_tests.cpp
    index 296daf5fcf..00d824f50c 100644
    --- a/src/test/txdownload_tests.cpp
    +++ b/src/test/txdownload_tests.cpp
    @@ -116,4 +116,3 @@ BOOST_FIXTURE_TEST_CASE(tx_rejection_types, TestChain100Setup)
         CTxMemPool& pool = *Assert(m_node.mempool);
    -    FastRandomContext det_rand{true};
    -    node::TxDownloadOptions DEFAULT_OPTS{pool, det_rand, true};
    +    node::TxDownloadOptions DEFAULT_OPTS{.m_mempool = pool, .m_deterministic_txrequest = true};
     
    @@ -174,4 +173,3 @@ BOOST_FIXTURE_TEST_CASE(handle_missing_inputs, TestChain100Setup)
         CTxMemPool& pool = *Assert(m_node.mempool);
    -    FastRandomContext det_rand{true};
    -    node::TxDownloadOptions DEFAULT_OPTS{pool, det_rand, true};
    +    node::TxDownloadOptions DEFAULT_OPTS{.m_mempool = pool, .m_deterministic_txrequest = true};
         NodeId nodeid{1};
    

    instagibbs commented at 2:37 PM on August 25, 2026:

    taken thanks

  10. instagibbs force-pushed on Aug 25, 2026
  11. maflcko commented at 3:07 PM on August 25, 2026: member

    review ACK 80eaa6cabf28b7d68c61fc5aced189b36970f17e 🐓

    <details><summary>Show signature</summary>

    Signature:

    untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
    RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    trusted comment: review ACK 80eaa6cabf28b7d68c61fc5aced189b36970f17e 🐓
    d/Ew0hJE+aIEghqIX43OwGZI1jw4abRbVGkfl5wEEnULVuGZJ6ZVNF8ddUJojKlU0cQNeaZro7XmYONIfI5/Ag==
    

    </details>

  12. fanquake requested review from marcofleon on Aug 25, 2026
  13. DrahtBot removed the label CI failed on Aug 25, 2026
  14. hodlinator approved
  15. hodlinator commented at 11:43 AM on August 26, 2026: contributor

    ACK 80eaa6cabf28b7d68c61fc5aced189b36970f17e

    It is unfortunate that thread safety annotations despite being applied to PeerManagerImpl::m_rng were not powerful enough to catch the case where PeerManagerImpl gave out a reference to it inside its constructor.

  16. sedited approved
  17. sedited commented at 12:19 PM on August 26, 2026: contributor

    ACK 80eaa6cabf28b7d68c61fc5aced189b36970f17e

  18. sedited merged this on Aug 26, 2026
  19. sedited closed this on Aug 26, 2026

  20. jonatack commented at 5:29 PM on August 26, 2026: member

    Post-merge ACK. FastRandomContext should be cheap to own. Giving the download manager its own RNG instance eliminates the cross-thread reference and race with the message-processing thread.

  21. maflcko commented at 7:00 PM on August 28, 2026: member

    Seems fine to drop. I guess an end-to-end sanitizer test would be nicer, but I guess that won't work because tsan can't detect this UB for some reason? Reminds me of #29625 (comment), which was only visible via pattern-init-ubsan: #29625 (comment)

    Was able to reproduce, by adding manual random sleeps in the right places:

    <details><summary>a diff and a test</summary>

    diff --git a/src/net_processing.cpp b/src/net_processing.cpp
    index 6b6594f..7e903a5 100644
    --- a/src/net_processing.cpp
    +++ b/src/net_processing.cpp
    @@ -208,2 +208,4 @@ static constexpr auto PRIVATE_BROADCAST_MAX_CONNECTION_LIFETIME{3min};
     namespace {
    +FastRandomContext g_addr_shuffle_delay_rng{};
    +
     /** Blocks that are in flight, and that are in the queue to be downloaded. */
    @@ -5987,3 +5989,6 @@ void PeerManagerImpl::ProcessAddrs(std::string_view msg_type, CNode& pfrom, Peer
         uint64_t num_rate_limit = 0;
    -    std::shuffle(vAddr.begin(), vAddr.end(), m_rng);
    +    for (size_t i = vAddr.size(); i > 1; --i) {
    +        UninterruptibleSleep(std::chrono::milliseconds{g_addr_shuffle_delay_rng.randrange(5)});
    +        std::iter_swap(vAddr.begin() + (i - 1), vAddr.begin() + m_rng.randrange(i));
    +    }
         for (CAddress& addr : vAddr)
    diff --git a/src/node/txorphanage.cpp b/src/node/txorphanage.cpp
    index 9843f81..89dbe81 100644
    --- a/src/node/txorphanage.cpp
    +++ b/src/node/txorphanage.cpp
    @@ -9,2 +9,3 @@
     #include <primitives/transaction.h>
    +#include <random.h>
     #include <util/feefrac.h>
    @@ -24,2 +25,5 @@
     namespace node {
    +
    +static FastRandomContext g_orphan_delay_rng{};
    +
     /** Minimum NodeId for lower_bound lookups (in practice, NodeIds start at 0). */
    @@ -554,2 +558,3 @@ std::vector<std::pair<Wtxid, NodeId>> TxOrphanageImpl::AddChildrenToWorkSet(cons
                     if (!Assume(num_announcers > 0)) continue;
    +                UninterruptibleSleep(std::chrono::milliseconds{g_orphan_delay_rng.randrange(55)});
                     std::advance(it, rng.randrange(num_announcers));
    diff --git a/test/functional/p2p_orphan_handling.py b/test/functional/p2p_orphan_handling.py
    index a25c93c..2d07679 100755
    --- a/test/functional/p2p_orphan_handling.py
    +++ b/test/functional/p2p_orphan_handling.py
    @@ -5,2 +5,3 @@
     
    +import threading
     import time
    @@ -13,2 +14,3 @@ from test_framework.mempool_util import (
     from test_framework.messages import (
    +    CAddress,
         CInv,
    @@ -19,2 +21,3 @@ from test_framework.messages import (
         malleate_tx_to_invalid_witness,
    +    msg_addr,
         msg_getdata,
    @@ -32,2 +35,3 @@ from test_framework.p2p import (
         P2PTxInvStore,
    +    P2P_SERVICES,
         TXID_RELAY_DELAY,
    @@ -41,3 +45,2 @@ from test_framework.wallet import (
         MiniWallet,
    -    MiniWalletMode,
     )
    @@ -642,2 +645,62 @@ class OrphanHandlingTest(BitcoinTestFramework):
     
    + [@cleanup](/github-metadata-backup-bitcoin-bitcoin/contributor/cleanup/)
    +    def test_block_connected_with_orphan_announcers(self):
    +        """Exercise BlockConnected concurrently with message processing from several peers."""
    +        node = self.nodes[0]
    +
    +        # Use multiple orphans so BlockConnected makes several calls to the shared RNG while
    +        # message processing is active. This makes the race much easier to reproduce under TSAN.
    +        parent_child_pairs = []
    +        for _ in range(32):
    +            parent = self.wallet.create_self_transfer()
    +            child = self.wallet.create_self_transfer(utxo_to_spend=parent["new_utxo"])
    +            parent_child_pairs.append((parent, child))
    +
    +        peers = [node.add_p2p_connection(PeerTxRelayer()) for _ in range(4)]
    +        for peer in peers:
    +            peer.send_and_ping(msg_inv([
    +                CInv(t=MSG_WTX, h=child["tx"].wtxid_int)
    +                for _, child in parent_child_pairs
    +            ]))
    +
    +        node.bumpmocktime(TXREQUEST_TIME_SKIP)
    +        # The invs above register all peers as announcers. Send the child unsolicited so this setup
    +        # does not depend on observing the node's getdata message before another P2P message arrives.
    +        for _, child in parent_child_pairs:
    +            peers[0].send_without_ping(msg_tx(child["tx"]))
    +        self.wait_until(lambda: len(node.getorphantxs(verbosity=2)) == len(parent_child_pairs))
    +        assert all(len(orphan["from"]) == len(peers) for orphan in node.getorphantxs(verbosity=2))
    +
    +        stop_message_processing = threading.Event()
    +
    +        def send_addresses():
    +            while not stop_message_processing.is_set():
    +                for peer in peers:
    +                    if stop_message_processing.is_set():
    +                        break
    +                    for _ in range(10):
    +                        if stop_message_processing.is_set():
    +                            break
    +                        message = msg_addr()
    +                        message.addrs = []
    +                        for port in range(100):
    +                            address = CAddress()
    +                            address.time = int(time.time())
    +                            address.nServices = P2P_SERVICES
    +                            address.ip = f"192.0.2.{port + 1}"
    +                            address.port = 10000 + port
    +                            message.addrs.append(address)
    +                        peer.send_without_ping(message)
    +
    +        message_processing = threading.Thread(target=send_addresses)
    +        message_processing.start()
    +        try:
    +            self.generateblock(node, output="raw(55)", transactions=[
    +                parent["hex"] for parent, _ in parent_child_pairs
    +            ])
    +            self.wait_until(lambda: len(node.getrawmempool()) == len(parent_child_pairs))
    +        finally:
    +            stop_message_processing.set()
    +            message_processing.join()
    + [@cleanup](/github-metadata-backup-bitcoin-bitcoin/contributor/cleanup/)
    @@ -843,21 +906,7 @@ class OrphanHandlingTest(BitcoinTestFramework):
             self.nodes[0].setmocktime(int(time.time()))
    -        self.wallet_nonsegwit = MiniWallet(self.nodes[0], mode=MiniWalletMode.RAW_P2PK)
    -        self.generate(self.wallet_nonsegwit, 10)
             self.wallet = MiniWallet(self.nodes[0])
    -        self.generate(self.wallet, 160)
    -
    -        self.test_arrival_timing_orphan()
    -        self.test_orphan_rejected_parents_exceptions()
    -        self.test_orphan_multiple_parents()
    -        self.test_orphans_overlapping_parents()
    -        self.test_orphan_of_orphan()
    -        self.test_orphan_parent_confirmed()
    -        self.test_orphan_inherit_rejection()
    -        self.test_same_txid_orphan()
    -        self.test_same_txid_orphan_of_orphan()
    -        self.test_orphan_txid_inv()
    -        self.test_orphan_handling_prefer_outbound()
    -        self.test_announcers_before_and_after()
    -        self.test_parents_change()
    -        self.test_maximal_package_protected()
    +        # Keep enough coinbase outputs mature to fund all parent transactions.
    +        self.generate(self.wallet, 140)
    +
    +        self.test_block_connected_with_orphan_announcers()
     
    

    </details>

    <details><summary>The tsan output</summary>

    WARNING: ThreadSanitizer: data race (pid=2790913)
      Read of size 4 at 0x727000053018 by thread T1 (mutexes: write M0):
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:210:21 (bitcoind+0x115af12) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) long RandomMixin<FastRandomContext>::randrange<long>(long) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:261:35 (bitcoind+0x1666d4a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) node::TxOrphanageImpl::AddChildrenToWorkSet(CTransaction const&, FastRandomContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txorphanage.cpp:560:38 (bitcoind+0x1666d4a)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) node::TxDownloadManagerImpl::BlockConnected(std::shared_ptr<CBlock const> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txdownloadman_impl.cpp:104:22 (bitcoind+0x164498e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) node::TxDownloadManager::BlockConnected(std::shared_ptr<CBlock const> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txdownloadman_impl.cpp:28:13 (bitcoind+0x1644648) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) (anonymous namespace)::PeerManagerImpl::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const> const&, CBlockIndex const*) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:2219:25 (bitcoind+0x140bbfa) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)::operator()(CValidationInterface&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:228:79 (bitcoind+0x1d34d94) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) void ValidationSignalsImpl::Iterate<ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)>(ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)&&) /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:90:17 (bitcoind+0x1d34d94)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:228:22 (bitcoind+0x1d34d94)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:230:5 (bitcoind+0x1d34d94)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) void std::__invoke_impl<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>(std::__invoke_other, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1d34d94)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) std::enable_if<is_invocable_r_v<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>, void>::type std::__invoke_r<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>(ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x1d34d94)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) std::_Function_handler<void (), ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1d34d94)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1f69d3c) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) SerialTaskRunner::ProcessQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:173:5 (bitcoind+0x1f69d3c)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:142:41 (bitcoind+0x1f6b61a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) void std::__invoke_impl<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(std::__invoke_other, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1f6b61a)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) std::enable_if<is_invocable_r_v<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>, void>::type std::__invoke_r<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x1f6b61a)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) std::_Function_handler<void (), SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1f6b61a)
        [#19](/github-metadata-backup-bitcoin-bitcoin/19/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1f680d1) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#20](/github-metadata-backup-bitcoin-bitcoin/20/) CScheduler::serviceQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:60:17 (bitcoind+0x1f680d1)
        [#21](/github-metadata-backup-bitcoin-bitcoin/21/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:1533:94 (bitcoind+0x13073da) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#22](/github-metadata-backup-bitcoin-bitcoin/22/) void std::__invoke_impl<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(std::__invoke_other, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x13073da)
        [#23](/github-metadata-backup-bitcoin-bitcoin/23/) std::enable_if<is_invocable_r_v<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>, void>::type std::__invoke_r<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x13073da)
        [#24](/github-metadata-backup-bitcoin-bitcoin/24/) std::_Function_handler<void (), AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x13073da)
        [#25](/github-metadata-backup-bitcoin-bitcoin/25/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x22add2e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#26](/github-metadata-backup-bitcoin-bitcoin/26/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/thread.cpp:20:9 (bitcoind+0x22add2e)
        [#27](/github-metadata-backup-bitcoin-bitcoin/27/) void std::__invoke_impl<void, void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x13072d8) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#28](/github-metadata-backup-bitcoin-bitcoin/28/) std::__invoke_result<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x13072d8)
        [#29](/github-metadata-backup-bitcoin-bitcoin/29/) void std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:303:13 (bitcoind+0x13072d8)
        [#30](/github-metadata-backup-bitcoin-bitcoin/30/) std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:310:11 (bitcoind+0x13072d8)
        [#31](/github-metadata-backup-bitcoin-bitcoin/31/) std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:255:13 (bitcoind+0x13072d8)
        [#32](/github-metadata-backup-bitcoin-bitcoin/32/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Previous write of size 4 at 0x727000053018 by thread T10 (mutexes: write M1):
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h (bitcoind+0x115b076) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) unsigned long RandomMixin<FastRandomContext>::randrange<unsigned long>(unsigned long) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:261:35 (bitcoind+0x144edc9) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) (anonymous namespace)::PeerManagerImpl::ProcessAddrs(std::basic_string_view<char, std::char_traits<char>>, CNode&, (anonymous namespace)::Peer&, std::__debug::vector<CAddress, std::allocator<CAddress>>&&, std::atomic<bool> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:5992:71 (bitcoind+0x144edc9)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) (anonymous namespace)::PeerManagerImpl::ProcessMessage((anonymous namespace)::Peer&, CNode&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, DataStream&, std::chrono::time_point<NodeClock, std::chrono::duration<long, std::ratio<1l, 1000000000l>>>, std::atomic<bool> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:4330:9 (bitcoind+0x1437d94) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) (anonymous namespace)::PeerManagerImpl::ProcessMessages(CNode&, std::atomic<bool>&) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:5465:9 (bitcoind+0x14188dc) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) non-virtual thunk to (anonymous namespace)::PeerManagerImpl::ProcessMessages(CNode&, std::atomic<bool>&) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp (bitcoind+0x141efae) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3237:47 (bitcoind+0x13865b7) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) CConnman::Start(CScheduler&, CConnman::Options const&)::$_6::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3646:80 (bitcoind+0x139a4aa) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) void std::__invoke_impl<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>(std::__invoke_other, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x139a4aa)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) std::enable_if<is_invocable_r_v<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>, void>::type std::__invoke_r<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>(CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x139a4aa)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) std::_Function_handler<void (), CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x139a4aa)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x22add2e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/thread.cpp:20:9 (bitcoind+0x22add2e)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) void std::__invoke_impl<void, void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x139a3a8) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) std::__invoke_result<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x139a3a8)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) void std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:303:13 (bitcoind+0x139a3a8)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:310:11 (bitcoind+0x139a3a8)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:255:13 (bitcoind+0x139a3a8)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      As if synchronized via sleep:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) nanosleep <null> (bitcoind+0x10750de) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) void std::this_thread::sleep_for<long, std::ratio<1l, 1000000l>>(std::chrono::duration<long, std::ratio<1l, 1000000l>> const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/this_thread_sleep.h:72:9 (bitcoind+0x22aeb7a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) UninterruptibleSleep(std::chrono::duration<long, std::ratio<1l, 1000000l>> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/time.cpp:30:65 (bitcoind+0x22aeb7a)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) node::TxOrphanageImpl::AddChildrenToWorkSet(CTransaction const&, FastRandomContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txorphanage.cpp:559:17 (bitcoind+0x1666d21) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) node::TxDownloadManagerImpl::BlockConnected(std::shared_ptr<CBlock const> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txdownloadman_impl.cpp:104:22 (bitcoind+0x164498e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) node::TxDownloadManager::BlockConnected(std::shared_ptr<CBlock const> const&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txdownloadman_impl.cpp:28:13 (bitcoind+0x1644648) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) (anonymous namespace)::PeerManagerImpl::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const> const&, CBlockIndex const*) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:2219:25 (bitcoind+0x140bbfa) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)::operator()(CValidationInterface&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:228:79 (bitcoind+0x1d34d94) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) void ValidationSignalsImpl::Iterate<ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)>(ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)&&) /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:90:17 (bitcoind+0x1d34d94)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:228:22 (bitcoind+0x1d34d94)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:230:5 (bitcoind+0x1d34d94)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) void std::__invoke_impl<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>(std::__invoke_other, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1d34d94)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) std::enable_if<is_invocable_r_v<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>, void>::type std::__invoke_r<void, ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&>(ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x1d34d94)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) std::_Function_handler<void (), ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1d34d94)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1f69d3c) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) SerialTaskRunner::ProcessQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:173:5 (bitcoind+0x1f69d3c)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:142:41 (bitcoind+0x1f6b61a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) void std::__invoke_impl<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(std::__invoke_other, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1f6b61a)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) std::enable_if<is_invocable_r_v<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>, void>::type std::__invoke_r<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x1f6b61a)
        [#19](/github-metadata-backup-bitcoin-bitcoin/19/) std::_Function_handler<void (), SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1f6b61a)
        [#20](/github-metadata-backup-bitcoin-bitcoin/20/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1f680d1) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#21](/github-metadata-backup-bitcoin-bitcoin/21/) CScheduler::serviceQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:60:17 (bitcoind+0x1f680d1)
        [#22](/github-metadata-backup-bitcoin-bitcoin/22/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:1533:94 (bitcoind+0x13073da) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#23](/github-metadata-backup-bitcoin-bitcoin/23/) void std::__invoke_impl<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(std::__invoke_other, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x13073da)
        [#24](/github-metadata-backup-bitcoin-bitcoin/24/) std::enable_if<is_invocable_r_v<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>, void>::type std::__invoke_r<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x13073da)
        [#25](/github-metadata-backup-bitcoin-bitcoin/25/) std::_Function_handler<void (), AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x13073da)
        [#26](/github-metadata-backup-bitcoin-bitcoin/26/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x22add2e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#27](/github-metadata-backup-bitcoin-bitcoin/27/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/thread.cpp:20:9 (bitcoind+0x22add2e)
        [#28](/github-metadata-backup-bitcoin-bitcoin/28/) void std::__invoke_impl<void, void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x13072d8) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#29](/github-metadata-backup-bitcoin-bitcoin/29/) std::__invoke_result<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x13072d8)
        [#30](/github-metadata-backup-bitcoin-bitcoin/30/) void std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:303:13 (bitcoind+0x13072d8)
        [#31](/github-metadata-backup-bitcoin-bitcoin/31/) std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:310:11 (bitcoind+0x13072d8)
        [#32](/github-metadata-backup-bitcoin-bitcoin/32/) std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:255:13 (bitcoind+0x13072d8)
        [#33](/github-metadata-backup-bitcoin-bitcoin/33/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Location is heap block of size 1928 at 0x727000053000 allocated by main thread:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x10fe006) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::__detail::_MakeUniq<(anonymous namespace)::PeerManagerImpl>::__single_object std::make_unique<(anonymous namespace)::PeerManagerImpl, CConnman&, AddrMan&, BanMan*&, ChainstateManager&, CTxMemPool&, node::Warnings&, PeerManager::Options&>(CConnman&, AddrMan&, BanMan*&, ChainstateManager&, CTxMemPool&, node::Warnings&, PeerManager::Options&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/unique_ptr.h:1086:30 (bitcoind+0x1409480) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) PeerManager::make(CConnman&, AddrMan&, BanMan*, ChainstateManager&, CTxMemPool&, node::Warnings&, PeerManager::Options) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:2128:12 (bitcoind+0x1409480)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:1974:20 (bitcoind+0x12f765d) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) main /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:286:10 (bitcoind+0x11010bd)
    
      Mutex M0 (0x727000053160) created at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_mutex_trylock <null> (bitcoind+0x107a64b) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) __gthread_mutex_trylock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/x86_64-linux-gnu/c++/16/bits/gthr-default.h:804:21 (bitcoind+0x1167f2d) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) std::mutex::try_lock() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_mutex.h:128:15 (bitcoind+0x1167f2d)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) std::unique_lock<std::mutex>::try_lock() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/unique_lock.h:159:27 (bitcoind+0x1167f2d)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) UniqueLock<AnnotatedMixin<std::mutex>>::Enter(char const*, char const*, int) /tmp/tmp.4xhA8ngDDc/git_dir/src/sync.h:162:20 (bitcoind+0x140b8b0) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) UniqueLock<AnnotatedMixin<std::mutex>>::UniqueLock(AnnotatedMixin<std::mutex>&, char const*, char const*, int, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/sync.h:186:13 (bitcoind+0x140b8b0)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) (anonymous namespace)::PeerManagerImpl::ActiveTipChange(CBlockIndex const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:2181:9 (bitcoind+0x140b8b0)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) ValidationSignals::ActiveTipChange(CBlockIndex const&, bool)::$_0::operator()(CValidationInterface&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:197:75 (bitcoind+0x1d2bc4c) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) void ValidationSignalsImpl::Iterate<ValidationSignals::ActiveTipChange(CBlockIndex const&, bool)::$_0>(ValidationSignals::ActiveTipChange(CBlockIndex const&, bool)::$_0&&) /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:90:17 (bitcoind+0x1d2bc4c)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) ValidationSignals::ActiveTipChange(CBlockIndex const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:197:18 (bitcoind+0x1d2bc4c)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) Chainstate::ActivateBestChain(BlockValidationState&, std::shared_ptr<CBlock const>) /tmp/tmp.4xhA8ngDDc/git_dir/src/validation.cpp:3461:47 (bitcoind+0x1c7de1e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) ChainstateManager::ProcessNewBlock(std::shared_ptr<CBlock const> const&, bool, bool, bool*) /tmp/tmp.4xhA8ngDDc/git_dir/src/validation.cpp:4459:29 (bitcoind+0x1c928e3) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) GenerateBlock(ChainstateManager&, CBlock&&, unsigned long&, std::shared_ptr<CBlock const>&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/mining.cpp:188:19 (bitcoind+0x1903f56) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) generateBlocks(ChainstateManager&, interfaces::Mining&, CScript const&, int, unsigned long) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/mining.cpp:203:14 (bitcoind+0x19038fa) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) generatetoaddress()::$_0::operator()(RPCMethod const&, JSONRPCRequest const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/mining.cpp:331:12 (bitcoind+0x190330d) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) UniValue std::__invoke_impl<UniValue, generatetoaddress()::$_0&, RPCMethod const&, JSONRPCRequest const&>(std::__invoke_other, generatetoaddress()::$_0&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x190330d)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) std::enable_if<is_invocable_r_v<UniValue, generatetoaddress()::$_0&, RPCMethod const&, JSONRPCRequest const&>, UniValue>::type std::__invoke_r<UniValue, generatetoaddress()::$_0&, RPCMethod const&, JSONRPCRequest const&>(generatetoaddress()::$_0&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:116:9 (bitcoind+0x190330d)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) std::_Function_handler<UniValue (RPCMethod const&, JSONRPCRequest const&), generatetoaddress()::$_0>::_M_invoke(std::_Any_data const&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x190330d)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) std::function<UniValue (RPCMethod const&, JSONRPCRequest const&)>::operator()(RPCMethod const&, JSONRPCRequest const&) const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1f43d49) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#19](/github-metadata-backup-bitcoin-bitcoin/19/) RPCMethod::HandleRequest(JSONRPCRequest const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/util.cpp:665:20 (bitcoind+0x1f43d49)
        [#20](/github-metadata-backup-bitcoin-bitcoin/20/) CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.h:62:91 (bitcoind+0x1828a07) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#21](/github-metadata-backup-bitcoin-bitcoin/21/) bool std::__invoke_impl<bool, CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(std::__invoke_other, CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1828800) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#22](/github-metadata-backup-bitcoin-bitcoin/22/) std::enable_if<is_invocable_r_v<bool, CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>, bool>::type std::__invoke_r<bool, CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:116:9 (bitcoind+0x1828800)
        [#23](/github-metadata-backup-bitcoin-bitcoin/23/) std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, RPCMethod (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1828800)
        [#24](/github-metadata-backup-bitcoin-bitcoin/24/) std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1a7e6d4) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#25](/github-metadata-backup-bitcoin-bitcoin/25/) ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:880:20 (bitcoind+0x1a7e6d4)
        [#26](/github-metadata-backup-bitcoin-bitcoin/26/) ExecuteCommands(std::__debug::vector<CRPCCommand const*, std::allocator<CRPCCommand const*>> const&, JSONRPCRequest const&, UniValue&) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:847:13 (bitcoind+0x1a7e6d4)
        [#27](/github-metadata-backup-bitcoin-bitcoin/27/) CRPCTable::execute(JSONRPCRequest const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:867:13 (bitcoind+0x1a7e1c3) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#28](/github-metadata-backup-bitcoin-bitcoin/28/) JSONRPCExec(JSONRPCRequest const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:723:31 (bitcoind+0x1a7d690) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#29](/github-metadata-backup-bitcoin-bitcoin/29/) ExecuteHTTPRPC(UniValue const&, JSONRPCRequest&, HTTPStatusCode&) /tmp/tmp.4xhA8ngDDc/git_dir/src/httprpc.cpp:127:28 (bitcoind+0x11f41e2) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#30](/github-metadata-backup-bitcoin-bitcoin/30/) HTTPReq_JSONRPC(std::any const&, HTTPRequest*) /tmp/tmp.4xhA8ngDDc/git_dir/src/httprpc.cpp:233:17 (bitcoind+0x11faa83) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#31](/github-metadata-backup-bitcoin-bitcoin/31/) StartHTTPRPC(std::any const&)::$_0::operator()(HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/httprpc.cpp:345:80 (bitcoind+0x11faa83)
        [#32](/github-metadata-backup-bitcoin-bitcoin/32/) void std::__invoke_impl<void, StartHTTPRPC(std::any const&)::$_0&, HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&>(std::__invoke_other, StartHTTPRPC(std::any const&)::$_0&, HTTPRequest*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x11faa83)
        [#33](/github-metadata-backup-bitcoin-bitcoin/33/) std::enable_if<is_invocable_r_v<void, StartHTTPRPC(std::any const&)::$_0&, HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&>, void>::type std::__invoke_r<void, StartHTTPRPC(std::any const&)::$_0&, HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&>(StartHTTPRPC(std::any const&)::$_0&, HTTPRequest*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x11faa83)
        [#34](/github-metadata-backup-bitcoin-bitcoin/34/) std::_Function_handler<void (HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&), StartHTTPRPC(std::any const&)::$_0>::_M_invoke(std::_Any_data const&, HTTPRequest*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x11faa83)
        [#35](/github-metadata-backup-bitcoin-bitcoin/35/) std::function<void (HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)>::operator()(HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x1229033) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#36](/github-metadata-backup-bitcoin-bitcoin/36/) MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/httpserver.cpp:175:17 (bitcoind+0x1229033)
        [#37](/github-metadata-backup-bitcoin-bitcoin/37/) void std::__invoke_impl<void, MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0&>(std::__invoke_other, MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1229033)
        [#38](/github-metadata-backup-bitcoin-bitcoin/38/) std::enable_if<is_invocable_r_v<void, MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0&>, void>::type std::__invoke_r<void, MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0&>(MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x1229033)
        [#39](/github-metadata-backup-bitcoin-bitcoin/39/) std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'()::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:1517:13 (bitcoind+0x1228ba8) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#40](/github-metadata-backup-bitcoin-bitcoin/40/) std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:1442:6 (bitcoind+0x1228ba8)
        [#41](/github-metadata-backup-bitcoin-bitcoin/41/) std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter> std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&>(std::__invoke_other, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x1228ba8)
        [#42](/github-metadata-backup-bitcoin-bitcoin/42/) std::enable_if<is_invocable_r_v<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&>, std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>>::type std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&>(std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:116:9 (bitcoind+0x1228ba8)
        [#43](/github-metadata-backup-bitcoin-bitcoin/43/) std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x1228ba8)
        [#44](/github-metadata-backup-bitcoin-bitcoin/44/) std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x124d9d5) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#45](/github-metadata-backup-bitcoin-bitcoin/45/) std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:599:20 (bitcoind+0x124d9d5)
        [#46](/github-metadata-backup-bitcoin-bitcoin/46/) void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:76:14 (bitcoind+0x124dc04) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#47](/github-metadata-backup-bitcoin-bitcoin/47/) std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x124dc04)
        [#48](/github-metadata-backup-bitcoin-bitcoin/48/) void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::'lambda'()::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/mutex:916:4 (bitcoind+0x124dc04)
        [#49](/github-metadata-backup-bitcoin-bitcoin/49/) std::once_flag::_Prepare_execution::_Prepare_execution<void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::'lambda'()>(void (std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*))::'lambda'()::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/mutex:849:21 (bitcoind+0x124dc04)
        [#50](/github-metadata-backup-bitcoin-bitcoin/50/) std::once_flag::_Prepare_execution::_Prepare_execution<void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::'lambda'()>(void (std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*))::'lambda'()::__invoke() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/mutex:849:16 (bitcoind+0x124dc04)
        [#51](/github-metadata-backup-bitcoin-bitcoin/51/) pthread_once <null> (bitcoind+0x107c75f) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#52](/github-metadata-backup-bitcoin-bitcoin/52/) __gthread_once(int*, void (*)()) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/x86_64-linux-gnu/c++/16/bits/gthr-default.h:746:21 (bitcoind+0x124d803) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#53](/github-metadata-backup-bitcoin-bitcoin/53/) void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/mutex:923:21 (bitcoind+0x124d803)
        [#54](/github-metadata-backup-bitcoin-bitcoin/54/) std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:438:2 (bitcoind+0x124d803)
        [#55](/github-metadata-backup-bitcoin-bitcoin/55/) std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:1520:8 (bitcoind+0x1228836) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#56](/github-metadata-backup-bitcoin-bitcoin/56/) std::packaged_task<void ()>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/future:1643:12 (bitcoind+0x12546eb) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#57](/github-metadata-backup-bitcoin-bitcoin/57/) ThreadPool::WorkerThread() /tmp/tmp.4xhA8ngDDc/git_dir/src/util/threadpool.h:84:17 (bitcoind+0x12546eb)
        [#58](/github-metadata-backup-bitcoin-bitcoin/58/) ThreadPool::Start(int)::'lambda'()::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/util/threadpool.h:115:98 (bitcoind+0x125413a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#59](/github-metadata-backup-bitcoin-bitcoin/59/) void std::__invoke_impl<void, ThreadPool::Start(int)::'lambda'()&>(std::__invoke_other, ThreadPool::Start(int)::'lambda'()&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x125413a)
        [#60](/github-metadata-backup-bitcoin-bitcoin/60/) std::enable_if<is_invocable_r_v<void, ThreadPool::Start(int)::'lambda'()&>, void>::type std::__invoke_r<void, ThreadPool::Start(int)::'lambda'()&>(ThreadPool::Start(int)::'lambda'()&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x125413a)
        [#61](/github-metadata-backup-bitcoin-bitcoin/61/) std::_Function_handler<void (), ThreadPool::Start(int)::'lambda'()>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x125413a)
        [#62](/github-metadata-backup-bitcoin-bitcoin/62/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x22add2e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#63](/github-metadata-backup-bitcoin-bitcoin/63/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/thread.cpp:20:9 (bitcoind+0x22add2e)
        [#64](/github-metadata-backup-bitcoin-bitcoin/64/) void std::__invoke_impl<void, void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&, ThreadPool::Start(int)::'lambda'()&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x125403b) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#65](/github-metadata-backup-bitcoin-bitcoin/65/) std::__invoke_result<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&, ThreadPool::Start(int)::'lambda'()&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x1253f06) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#66](/github-metadata-backup-bitcoin-bitcoin/66/) void std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:303:13 (bitcoind+0x1253f06)
        [#67](/github-metadata-backup-bitcoin-bitcoin/67/) std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:310:11 (bitcoind+0x1253f06)
        [#68](/github-metadata-backup-bitcoin-bitcoin/68/) std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ThreadPool::Start(int)::'lambda'()>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:255:13 (bitcoind+0x1253f06)
        [#69](/github-metadata-backup-bitcoin-bitcoin/69/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Mutex M1 (0x55dca2aa51d0) created at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_mutex_trylock <null> (bitcoind+0x107a64b) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) __gthread_mutex_trylock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/x86_64-linux-gnu/c++/16/bits/gthr-default.h:804:21 (bitcoind+0x1167f2d) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) std::mutex::try_lock() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_mutex.h:128:15 (bitcoind+0x1167f2d)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) std::unique_lock<std::mutex>::try_lock() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/unique_lock.h:159:27 (bitcoind+0x1167f2d)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) UniqueLock<AnnotatedMixin<std::mutex>>::Enter(char const*, char const*, int) /tmp/tmp.4xhA8ngDDc/git_dir/src/sync.h:162:20 (bitcoind+0x13862c7) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) UniqueLock<AnnotatedMixin<std::mutex>>::UniqueLock(AnnotatedMixin<std::mutex>&, char const*, char const*, int, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/sync.h:186:13 (bitcoind+0x13862c7)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3220:5 (bitcoind+0x13862c7)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) CConnman::Start(CScheduler&, CConnman::Options const&)::$_6::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3646:80 (bitcoind+0x139a4aa) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) void std::__invoke_impl<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>(std::__invoke_other, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x139a4aa)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) std::enable_if<is_invocable_r_v<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>, void>::type std::__invoke_r<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&>(CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:113:2 (bitcoind+0x139a4aa)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) std::_Function_handler<void (), CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:295:9 (bitcoind+0x139a4aa)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_function.h:581:9 (bitcoind+0x22add2e) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /tmp/tmp.4xhA8ngDDc/git_dir/src/util/thread.cpp:20:9 (bitcoind+0x22add2e)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) void std::__invoke_impl<void, void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:63:14 (bitcoind+0x139a3a8) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) std::__invoke_result<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/invoke.h:98:14 (bitcoind+0x139a3a8)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) void std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:303:13 (bitcoind+0x139a3a8)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:310:11 (bitcoind+0x139a3a8)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/bits/std_thread.h:255:13 (bitcoind+0x139a3a8)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Thread T1 'b-scheduler' (tid=2790915, running) created by main thread at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x10786fe) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State>>, void (*)()) <null> (libstdc++.so.6+0xf5ff0) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) main /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:286:10 (bitcoind+0x11010bd)
    
      Thread T10 'b-msghand' (tid=2790924, running) created by main thread at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x10786fe) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State>>, void (*)()) <null> (libstdc++.so.6+0xf5ff0) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:2396:24 (bitcoind+0x12fc228) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) main /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:286:10 (bitcoind+0x11010bd)
    
    SUMMARY: ThreadSanitizer: data race /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:210:21 in RandomMixin<FastRandomContext>::randbits(int)
    ================== 
    
    

    </details>

  22. maflcko commented at 7:26 AM on August 29, 2026: member

    I wonder if there should be an effort to catch such unsafe memory races in the future?

    Specifically, I wonder if projects like https://github.com/dergoegge/bitcoin-antithesis or https://github.com/bitcoin-dev-project/warnet run with tsan and could have triggered this?


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-09-09 07:56 UTC