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](/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](/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](/bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:210:21 (bitcoind+0x115af12) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/bitcoin-bitcoin/1/) long RandomMixin<FastRandomContext>::randrange<long>(long) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h:261:35 (bitcoind+0x1666d4a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#2](/bitcoin-bitcoin/2/) node::TxOrphanageImpl::AddChildrenToWorkSet(CTransaction const&, FastRandomContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/node/txorphanage.cpp:560:38 (bitcoind+0x1666d4a)
        [#3](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/14/) SerialTaskRunner::ProcessQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:173:5 (bitcoind+0x1f69d3c)
        [#15](/bitcoin-bitcoin/15/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:142:41 (bitcoind+0x1f6b61a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#16](/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](/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](/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](/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](/bitcoin-bitcoin/20/) CScheduler::serviceQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:60:17 (bitcoind+0x1f680d1)
        [#21](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /tmp/tmp.4xhA8ngDDc/git_dir/src/random.h (bitcoind+0x115b076) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/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](/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](/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](/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](/bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3237:47 (bitcoind+0x13865b7) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#7](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      As if synchronized via sleep:
        [#0](/bitcoin-bitcoin/0/) nanosleep <null> (bitcoind+0x10750de) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/15/) SerialTaskRunner::ProcessQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:173:5 (bitcoind+0x1f69d3c)
        [#16](/bitcoin-bitcoin/16/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:142:41 (bitcoind+0x1f6b61a) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#17](/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](/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](/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](/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](/bitcoin-bitcoin/21/) CScheduler::serviceQueue() /tmp/tmp.4xhA8ngDDc/git_dir/src/scheduler.cpp:60:17 (bitcoind+0x1f680d1)
        [#22](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x10fe006) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/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](/bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:1974:20 (bitcoind+0x12f765d) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/bitcoin-bitcoin/4/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#5](/bitcoin-bitcoin/5/) main /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:286:10 (bitcoind+0x11010bd)
    
      Mutex M0 (0x727000053160) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_trylock <null> (bitcoind+0x107a64b) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/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](/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](/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](/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](/bitcoin-bitcoin/6/) (anonymous namespace)::PeerManagerImpl::ActiveTipChange(CBlockIndex const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/net_processing.cpp:2181:9 (bitcoind+0x140b8b0)
        [#7](/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](/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](/bitcoin-bitcoin/9/) ValidationSignals::ActiveTipChange(CBlockIndex const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/validationinterface.cpp:197:18 (bitcoind+0x1d2bc4c)
        [#10](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/19/) RPCMethod::HandleRequest(JSONRPCRequest const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/util.cpp:665:20 (bitcoind+0x1f43d49)
        [#20](/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](/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](/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](/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](/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](/bitcoin-bitcoin/25/) ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:880:20 (bitcoind+0x1a7e6d4)
        [#26](/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](/bitcoin-bitcoin/27/) CRPCTable::execute(JSONRPCRequest const&) const /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:867:13 (bitcoind+0x1a7e1c3) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#28](/bitcoin-bitcoin/28/) JSONRPCExec(JSONRPCRequest const&, bool) /tmp/tmp.4xhA8ngDDc/git_dir/src/rpc/server.cpp:723:31 (bitcoind+0x1a7d690) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#29](/bitcoin-bitcoin/29/) ExecuteHTTPRPC(UniValue const&, JSONRPCRequest&, HTTPStatusCode&) /tmp/tmp.4xhA8ngDDc/git_dir/src/httprpc.cpp:127:28 (bitcoind+0x11f41e2) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#30](/bitcoin-bitcoin/30/) HTTPReq_JSONRPC(std::any const&, HTTPRequest*) /tmp/tmp.4xhA8ngDDc/git_dir/src/httprpc.cpp:233:17 (bitcoind+0x11faa83) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#31](/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](/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](/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](/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](/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](/bitcoin-bitcoin/36/) MaybeDispatchRequestToWorker(std::shared_ptr<HTTPRequest>)::$_0::operator()() const /tmp/tmp.4xhA8ngDDc/git_dir/src/httpserver.cpp:175:17 (bitcoind+0x1229033)
        [#37](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/51/) pthread_once <null> (bitcoind+0x107c75f) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#52](/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](/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](/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](/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](/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](/bitcoin-bitcoin/57/) ThreadPool::WorkerThread() /tmp/tmp.4xhA8ngDDc/git_dir/src/util/threadpool.h:84:17 (bitcoind+0x12546eb)
        [#58](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/69/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Mutex M1 (0x55dca2aa51d0) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_trylock <null> (bitcoind+0x107a64b) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/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](/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](/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](/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](/bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /tmp/tmp.4xhA8ngDDc/git_dir/src/net.cpp:3220:5 (bitcoind+0x13862c7)
        [#7](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xf5ef8) (BuildId: 3a7a8c6bd922e6314edb7a710fdc0293265c2c42)
    
      Thread T1 'b-scheduler' (tid=2790915, running) created by main thread at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x10786fe) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/bitcoin-bitcoin/2/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#3](/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](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x10786fe) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#1](/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](/bitcoin-bitcoin/2/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /tmp/tmp.4xhA8ngDDc/git_dir/src/init.cpp:2396:24 (bitcoind+0x12fc228) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#3](/bitcoin-bitcoin/3/) AppInit(node::NodeContext&) /tmp/tmp.4xhA8ngDDc/git_dir/src/bitcoind.cpp:244:43 (bitcoind+0x11010bd) (BuildId: 7a71cdd35fc4c2aa3b399d01f83067c582c84ff7)
        [#4](/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?

  23. Kino1994 referenced this in commit 450cf647b2 on Aug 31, 2026
  24. alexanderwiederin referenced this in commit 7d78074ef7 on Sep 2, 2026
  25. Crypt-iQ commented at 11:54 AM on September 9, 2026: contributor

    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?

    We can also run fuzzamoto with tsan, but I haven't been able to trigger this specific bug yet after 12 hours.

  26. Crypt-iQ commented at 12:09 PM on September 10, 2026: contributor

    Ok, fuzzamoto was able to hit this. I think we can just have a step after running continuously that runs the corpus against tsan.

    <details> <summary> trace </summary>

    ==================
    WARNING: ThreadSanitizer: data race (pid=8963)
      Read of size 4 at 0x726c00003818 by thread T1 (mutexes: write M0):
        [#0](/bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /bitcoin/src/random.h:210:21 (bitcoind+0x868b0f) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/bitcoin-bitcoin/1/) long RandomMixin<FastRandomContext>::randrange<long>(long) /bitcoin/src/random.h:261:35 (bitcoind+0xa996ea) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#2](/bitcoin-bitcoin/2/) node::TxOrphanageImpl::AddChildrenToWorkSet(CTransaction const&, FastRandomContext&) /bitcoin/src/node/txorphanage.cpp:555:38 (bitcoind+0xa996ea)
        [#3](/bitcoin-bitcoin/3/) node::TxDownloadManagerImpl::BlockConnected(std::shared_ptr<CBlock const> const&) /bitcoin/src/node/txdownloadman_impl.cpp:104:22 (bitcoind+0xa89fa2) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#4](/bitcoin-bitcoin/4/) node::TxDownloadManager::BlockConnected(std::shared_ptr<CBlock const> const&) /bitcoin/src/node/txdownloadman_impl.cpp:28:13 (bitcoind+0xa89e0a) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#5](/bitcoin-bitcoin/5/) (anonymous namespace)::PeerManagerImpl::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const> const&, CBlockIndex const*) /bitcoin/src/net_processing.cpp:2217:25 (bitcoind+0x9398dd) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#6](/bitcoin-bitcoin/6/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)::operator()(CValidationInterface&) const /bitcoin/src/validationinterface.cpp:228:79 (bitcoind+0xf16054) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#7](/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&)&&) /bitcoin/src/validationinterface.cpp:90:17 (bitcoind+0xf16054)
        [#8](/bitcoin-bitcoin/8/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_0::operator()() const /bitcoin/src/validationinterface.cpp:228:22 (bitcoind+0xf16054)
        [#9](/bitcoin-bitcoin/9/) ValidationSignals::BlockConnected(kernel::ChainstateRole const&, std::shared_ptr<CBlock const>, CBlockIndex const*)::$_1::operator()() const /bitcoin/src/validationinterface.cpp:230:5 (bitcoind+0xf16054)
        [#10](/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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0xf16054)
        [#11](/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/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0xf16054)
        [#12](/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/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0xf16054)
        [#13](/bitcoin-bitcoin/13/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x14462d3) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#14](/bitcoin-bitcoin/14/) SerialTaskRunner::ProcessQueue() /bitcoin/src/scheduler.cpp:173:5 (bitcoind+0x14462d3)
        [#15](/bitcoin-bitcoin/15/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /bitcoin/src/scheduler.cpp:142:41 (bitcoind+0x1447739) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#16](/bitcoin-bitcoin/16/) void std::__invoke_impl<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(std::__invoke_other, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x1447739)
        [#17](/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/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x1447739)
        [#18](/bitcoin-bitcoin/18/) std::_Function_handler<void (), SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x1447739)
        [#19](/bitcoin-bitcoin/19/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x1444d45) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#20](/bitcoin-bitcoin/20/) CScheduler::serviceQueue() /bitcoin/src/scheduler.cpp:60:17 (bitcoind+0x1444d45)
        [#21](/bitcoin-bitcoin/21/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6::operator()() const /bitcoin/src/init.cpp:1505:94 (bitcoind+0x7b1fe6) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#22](/bitcoin-bitcoin/22/) void std::__invoke_impl<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&>(std::__invoke_other, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x7b1fe6)
        [#23](/bitcoin-bitcoin/23/) std::enable_if<is_invocable_r_v<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&>, void>::type std::__invoke_r<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x7b1fe6)
        [#24](/bitcoin-bitcoin/24/) std::_Function_handler<void (), AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x7b1fe6)
        [#25](/bitcoin-bitcoin/25/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x159db68) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#26](/bitcoin-bitcoin/26/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /bitcoin/src/util/thread.cpp:20:9 (bitcoind+0x159db68)
        [#27](/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*)::$_6>(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x7b1f02) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#28](/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*)::$_6>::type std::__invoke<void (*)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6>(void (*&&)(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6&&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:96:14 (bitcoind+0x7b1f02)
        [#29](/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*)::$_6>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:252:13 (bitcoind+0x7b1f02)
        [#30](/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*)::$_6>>::operator()() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:259:11 (bitcoind+0x7b1f02)
        [#31](/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*)::$_6>>>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:210:13 (bitcoind+0x7b1f02)
        [#32](/bitcoin-bitcoin/32/) <null> <null> (libstdc++.so.6+0xd44a2) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
    
      Previous write of size 4 at 0x726c00003818 by thread T23 (mutexes: write M1):
        [#0](/bitcoin-bitcoin/0/) RandomMixin<FastRandomContext>::randbits(int) /bitcoin/src/random.h (bitcoind+0x868c28) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/bitcoin-bitcoin/1/) long RandomMixin<FastRandomContext>::randrange<long>(long) /bitcoin/src/random.h:261:35 (bitcoind+0x9ca947) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#2](/bitcoin-bitcoin/2/) std::chrono::duration<long, std::ratio<1l, 1000000l>> RandomMixin<FastRandomContext>::randrange<std::chrono::duration<long, std::ratio<1l, 1000000l>>>(std::common_type<std::chrono::duration<long, std::ratio<1l, 1000000l>>>::type) /bitcoin/src/random.h:352:27 (bitcoind+0x9ca947)
        [#3](/bitcoin-bitcoin/3/) (anonymous namespace)::PeerManagerImpl::MaybeSendFeefilter(CNode&, (anonymous namespace)::Peer&, std::chrono::duration<long, std::ratio<1l, 1000000l>>) /bitcoin/src/net_processing.cpp:5860:59 (bitcoind+0x9871b4) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#4](/bitcoin-bitcoin/4/) (anonymous namespace)::PeerManagerImpl::SendMessages(CNode&) /bitcoin/src/net_processing.cpp:6548:5 (bitcoind+0x949283) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#5](/bitcoin-bitcoin/5/) non-virtual thunk to (anonymous namespace)::PeerManagerImpl::SendMessages(CNode&) /bitcoin/src/net_processing.cpp (bitcoind+0x94a603) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#6](/bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /bitcoin/src/net.cpp:3242:28 (bitcoind+0x8efe83) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#7](/bitcoin-bitcoin/7/) CConnman::Start(CScheduler&, CConnman::Options const&)::$_6::operator()() const /bitcoin/src/net.cpp:3646:80 (bitcoind+0x902859) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#8](/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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x902859)
        [#9](/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/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x902859)
        [#10](/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/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x902859)
        [#11](/bitcoin-bitcoin/11/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x159db68) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#12](/bitcoin-bitcoin/12/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /bitcoin/src/util/thread.cpp:20:9 (bitcoind+0x159db68)
        [#13](/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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x902772) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#14](/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/12/../../../../include/c++/12/bits/invoke.h:96:14 (bitcoind+0x902772)
        [#15](/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/12/../../../../include/c++/12/bits/std_thread.h:252:13 (bitcoind+0x902772)
        [#16](/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/12/../../../../include/c++/12/bits/std_thread.h:259:11 (bitcoind+0x902772)
        [#17](/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/12/../../../../include/c++/12/bits/std_thread.h:210:13 (bitcoind+0x902772)
        [#18](/bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xd44a2) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
    
      Location is heap block of size 1568 at 0x726c00003800 allocated by main thread:
        [#0](/bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x774342) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/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/12/../../../../include/c++/12/bits/unique_ptr.h:1065:30 (bitcoind+0x937e29) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#2](/bitcoin-bitcoin/2/) PeerManager::make(CConnman&, AddrMan&, BanMan*, ChainstateManager&, CTxMemPool&, node::Warnings&, PeerManager::Options) /bitcoin/src/net_processing.cpp:2126:12 (bitcoind+0x937e29)
        [#3](/bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /bitcoin/src/init.cpp:1944:20 (bitcoind+0x7a307b) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#4](/bitcoin-bitcoin/4/) AppInit(node::NodeContext&) /bitcoin/src/bitcoind.cpp:244:43 (bitcoind+0x776b63) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#5](/bitcoin-bitcoin/5/) main /bitcoin/src/bitcoind.cpp:286:10 (bitcoind+0x776b63)
    
      Mutex M0 (0x726c00003948) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_lock <null> (bitcoind+0x6f28ce) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/bitcoin-bitcoin/1/) __gthread_mutex_lock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/gthr-default.h:749:12 (bitcoind+0x94068d) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#2](/bitcoin-bitcoin/2/) std::mutex::lock() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_mutex.h:100:17 (bitcoind+0x94068d)
        [#3](/bitcoin-bitcoin/3/) std::unique_lock<std::mutex>::lock() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_lock.h:139:17 (bitcoind+0x94068d)
        [#4](/bitcoin-bitcoin/4/) UniqueLock<AnnotatedMixin<std::mutex>>::Enter(char const*, char const*, int) /bitcoin/src/sync.h:166:15 (bitcoind+0x94068d)
        [#5](/bitcoin-bitcoin/5/) UniqueLock<AnnotatedMixin<std::mutex>>::UniqueLock(AnnotatedMixin<std::mutex>&, char const*, char const*, int, bool) /bitcoin/src/sync.h:186:13 (bitcoind+0x94068d)
        [#6](/bitcoin-bitcoin/6/) (anonymous namespace)::PeerManagerImpl::InitializeNode(CNode const&, ServiceFlags)::$_0::operator()() const /bitcoin/src/net_processing.cpp:1713:5 (bitcoind+0x94068d)
        [#7](/bitcoin-bitcoin/7/) (anonymous namespace)::PeerManagerImpl::InitializeNode(CNode const&, ServiceFlags) /bitcoin/src/net_processing.cpp:1713:5 (bitcoind+0x94068d)
        [#8](/bitcoin-bitcoin/8/) non-virtual thunk to (anonymous namespace)::PeerManagerImpl::InitializeNode(CNode const&, ServiceFlags) /bitcoin/src/net_processing.cpp (bitcoind+0x94a2cf) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#9](/bitcoin-bitcoin/9/) CConnman::OpenNetworkConnection(CAddress const&, bool, CountingSemaphoreGrant<2147483647l>&&, char const*, ConnectionType, bool, std::optional<Proxy> const&) /bitcoin/src/net.cpp:3126:16 (bitcoind+0x8db243) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#10](/bitcoin-bitcoin/10/) CConnman::AddConnection(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, ConnectionType, bool) /bitcoin/src/net.cpp:1928:5 (bitcoind+0x8daac0) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#11](/bitcoin-bitcoin/11/) addconnection()::$_0::operator()(RPCMethod const&, JSONRPCRequest const&) const /bitcoin/src/rpc/net.cpp:444:34 (bitcoind+0xcc0a01) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#12](/bitcoin-bitcoin/12/) UniValue std::__invoke_impl<UniValue, addconnection()::$_0&, RPCMethod const&, JSONRPCRequest const&>(std::__invoke_other, addconnection()::$_0&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0xcc0a01)
        [#13](/bitcoin-bitcoin/13/) std::enable_if<is_invocable_r_v<UniValue, addconnection()::$_0&, RPCMethod const&, JSONRPCRequest const&>, UniValue>::type std::__invoke_r<UniValue, addconnection()::$_0&, RPCMethod const&, JSONRPCRequest const&>(addconnection()::$_0&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:114:9 (bitcoind+0xcc0a01)
        [#14](/bitcoin-bitcoin/14/) std::_Function_handler<UniValue (RPCMethod const&, JSONRPCRequest const&), addconnection()::$_0>::_M_invoke(std::_Any_data const&, RPCMethod const&, JSONRPCRequest const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0xcc0a01)
        [#15](/bitcoin-bitcoin/15/) std::function<UniValue (RPCMethod const&, JSONRPCRequest const&)>::operator()(RPCMethod const&, JSONRPCRequest const&) const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x1429a0c) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#16](/bitcoin-bitcoin/16/) RPCMethod::HandleRequest(JSONRPCRequest const&) const /bitcoin/src/rpc/util.cpp:665:20 (bitcoind+0x1429a0c)
        [#17](/bitcoin-bitcoin/17/) 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 /bitcoin/src/rpc/server.h:62:91 (bitcoind+0xbb030e) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#18](/bitcoin-bitcoin/18/) 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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0xbb030e)
        [#19](/bitcoin-bitcoin/19/) 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/12/../../../../include/c++/12/bits/invoke.h:114:9 (bitcoind+0xbb030e)
        [#20](/bitcoin-bitcoin/20/) 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/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0xbb030e)
        [#21](/bitcoin-bitcoin/21/) std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0xd9eef5) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#22](/bitcoin-bitcoin/22/) ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) /bitcoin/src/rpc/server.cpp:875:20 (bitcoind+0xd9eef5)
        [#23](/bitcoin-bitcoin/23/) ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*>> const&, JSONRPCRequest const&, UniValue&) /bitcoin/src/rpc/server.cpp:840:13 (bitcoind+0xd9eef5)
        [#24](/bitcoin-bitcoin/24/) CRPCTable::execute(JSONRPCRequest const&) const /bitcoin/src/rpc/server.cpp:860:13 (bitcoind+0xd9df64) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#25](/bitcoin-bitcoin/25/) JSONRPCExec(JSONRPCRequest const&, bool) /bitcoin/src/rpc/server.cpp:716:31 (bitcoind+0xd9d759) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#26](/bitcoin-bitcoin/26/) ExecuteHTTPRPC(UniValue const&, JSONRPCRequest&, HTTPStatusCode&) /bitcoin/src/httprpc.cpp:128:28 (bitcoind+0x80cae7) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#27](/bitcoin-bitcoin/27/) <null> <null> (bitcoind+0x813156) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#28](/bitcoin-bitcoin/28/) std::function<void (http_bitcoin::HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)>::operator()(http_bitcoin::HTTPRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x7f2da7) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#29](/bitcoin-bitcoin/29/) MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0::operator()() const /bitcoin/src/httpserver.cpp:177:17 (bitcoind+0x7f2da7)
        [#30](/bitcoin-bitcoin/30/) void std::__invoke_impl<void, MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0&>(std::__invoke_other, MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x7f2da7)
        [#31](/bitcoin-bitcoin/31/) std::enable_if<is_invocable_r_v<void, MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0&>, void>::type std::__invoke_r<void, MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0&>(MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x7f2da7)
        [#32](/bitcoin-bitcoin/32/) std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'()::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/future:1469:13 (bitcoind+0x7f2b10) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#33](/bitcoin-bitcoin/33/) 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<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/future:1410:6 (bitcoind+0x7f2b10)
        [#34](/bitcoin-bitcoin/34/) 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<http_bitcoin::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<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x7f2b10)
        [#35](/bitcoin-bitcoin/35/) 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<http_bitcoin::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<http_bitcoin::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<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:114:9 (bitcoind+0x7f2b10)
        [#36](/bitcoin-bitcoin/36/) 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<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run()::'lambda'(), void>>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x7f2b10)
        [#37](/bitcoin-bitcoin/37/) 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/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x7fc240) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#38](/bitcoin-bitcoin/38/) 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/12/../../../../include/c++/12/future:572:27 (bitcoind+0x7fc240)
        [#39](/bitcoin-bitcoin/39/) 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/12/../../../../include/c++/12/bits/invoke.h:74:14 (bitcoind+0x7fc3c3) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#40](/bitcoin-bitcoin/40/) 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/12/../../../../include/c++/12/bits/invoke.h:96:14 (bitcoind+0x7fc3c3)
        [#41](/bitcoin-bitcoin/41/) 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/12/../../../../include/c++/12/mutex:852:4 (bitcoind+0x7fc3c3)
        [#42](/bitcoin-bitcoin/42/) 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/12/../../../../include/c++/12/mutex:788:21 (bitcoind+0x7fc3c3)
        [#43](/bitcoin-bitcoin/43/) 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/12/../../../../include/c++/12/mutex:788:16 (bitcoind+0x7fc3c3)
        [#44](/bitcoin-bitcoin/44/) pthread_once <null> (bitcoind+0x6f4c4d) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#45](/bitcoin-bitcoin/45/) __gthread_once(int*, void (*)()) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/gthr-default.h:700:12 (bitcoind+0x7fc0df) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#46](/bitcoin-bitcoin/46/) 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/12/../../../../include/c++/12/mutex:859:21 (bitcoind+0x7fc0df)
        [#47](/bitcoin-bitcoin/47/) 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/12/../../../../include/c++/12/future:412:2 (bitcoind+0x7fc0df)
        [#48](/bitcoin-bitcoin/48/) std::__future_base::_Task_state<MaybeDispatchRequestToWorker(std::shared_ptr<http_bitcoin::HTTPRequest>)::$_0, std::allocator<int>, void ()>::_M_run() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/future:1472:8 (bitcoind+0x7f277b) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#49](/bitcoin-bitcoin/49/) std::packaged_task<void ()>::operator()() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/future:1605:12 (bitcoind+0x800cac) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#50](/bitcoin-bitcoin/50/) ThreadPool::WorkerThread() /bitcoin/src/util/threadpool.h:84:17 (bitcoind+0x800cac)
        [#51](/bitcoin-bitcoin/51/) ThreadPool::Start(int)::'lambda'()::operator()() const /bitcoin/src/util/threadpool.h:115:98 (bitcoind+0x8008b9) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#52](/bitcoin-bitcoin/52/) void std::__invoke_impl<void, ThreadPool::Start(int)::'lambda'()&>(std::__invoke_other, ThreadPool::Start(int)::'lambda'()&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x8008b9)
        [#53](/bitcoin-bitcoin/53/) 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/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x8008b9)
        [#54](/bitcoin-bitcoin/54/) std::_Function_handler<void (), ThreadPool::Start(int)::'lambda'()>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x8008b9)
        [#55](/bitcoin-bitcoin/55/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x159db68) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#56](/bitcoin-bitcoin/56/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /bitcoin/src/util/thread.cpp:20:9 (bitcoind+0x159db68)
        [#57](/bitcoin-bitcoin/57/) 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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x8007d4) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#58](/bitcoin-bitcoin/58/) 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/12/../../../../include/c++/12/bits/invoke.h:96:14 (bitcoind+0x8007d4)
        [#59](/bitcoin-bitcoin/59/) 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/12/../../../../include/c++/12/bits/std_thread.h:252:13 (bitcoind+0x8007d4)
        [#60](/bitcoin-bitcoin/60/) 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/12/../../../../include/c++/12/bits/std_thread.h:259:11 (bitcoind+0x8007d4)
        [#61](/bitcoin-bitcoin/61/) 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/12/../../../../include/c++/12/bits/std_thread.h:210:13 (bitcoind+0x8007d4)
        [#62](/bitcoin-bitcoin/62/) <null> <null> (libstdc++.so.6+0xd44a2) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
    
      Mutex M1 (0x55d43eb89330) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_lock <null> (bitcoind+0x6f28ce) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/bitcoin-bitcoin/1/) __gthread_mutex_lock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/gthr-default.h:749:12 (bitcoind+0x8efb80) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#2](/bitcoin-bitcoin/2/) std::mutex::lock() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_mutex.h:100:17 (bitcoind+0x8efb80)
        [#3](/bitcoin-bitcoin/3/) std::unique_lock<std::mutex>::lock() /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_lock.h:139:17 (bitcoind+0x8efb80)
        [#4](/bitcoin-bitcoin/4/) UniqueLock<AnnotatedMixin<std::mutex>>::Enter(char const*, char const*, int) /bitcoin/src/sync.h:166:15 (bitcoind+0x8efb80)
        [#5](/bitcoin-bitcoin/5/) UniqueLock<AnnotatedMixin<std::mutex>>::UniqueLock(AnnotatedMixin<std::mutex>&, char const*, char const*, int, bool) /bitcoin/src/sync.h:186:13 (bitcoind+0x8efb80)
        [#6](/bitcoin-bitcoin/6/) CConnman::ThreadMessageHandler() /bitcoin/src/net.cpp:3220:5 (bitcoind+0x8efb80)
        [#7](/bitcoin-bitcoin/7/) CConnman::Start(CScheduler&, CConnman::Options const&)::$_6::operator()() const /bitcoin/src/net.cpp:3646:80 (bitcoind+0x902859) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#8](/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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x902859)
        [#9](/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/12/../../../../include/c++/12/bits/invoke.h:111:2 (bitcoind+0x902859)
        [#10](/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/12/../../../../include/c++/12/bits/std_function.h:290:9 (bitcoind+0x902859)
        [#11](/bitcoin-bitcoin/11/) std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (bitcoind+0x159db68) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#12](/bitcoin-bitcoin/12/) util::TraceThread(std::basic_string_view<char, std::char_traits<char>>, std::function<void ()>) /bitcoin/src/util/thread.cpp:20:9 (bitcoind+0x159db68)
        [#13](/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/12/../../../../include/c++/12/bits/invoke.h:61:14 (bitcoind+0x902772) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#14](/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/12/../../../../include/c++/12/bits/invoke.h:96:14 (bitcoind+0x902772)
        [#15](/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/12/../../../../include/c++/12/bits/std_thread.h:252:13 (bitcoind+0x902772)
        [#16](/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/12/../../../../include/c++/12/bits/std_thread.h:259:11 (bitcoind+0x902772)
        [#17](/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/12/../../../../include/c++/12/bits/std_thread.h:210:13 (bitcoind+0x902772)
        [#18](/bitcoin-bitcoin/18/) <null> <null> (libstdc++.so.6+0xd44a2) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
    
      Thread T1 'b-scheduler' (tid=8965, running) created by main thread at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x6f0bc1) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/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+0xd4578) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
        [#2](/bitcoin-bitcoin/2/) AppInit(node::NodeContext&) /bitcoin/src/bitcoind.cpp:244:43 (bitcoind+0x776b63) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#3](/bitcoin-bitcoin/3/) main /bitcoin/src/bitcoind.cpp:286:10 (bitcoind+0x776b63)
    
      Thread T23 'b-msghand' (tid=8989, running) created by main thread at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x6f0bc1) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#1](/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+0xd4578) (BuildId: 289ee39f8c07bd4fa48102dfeeb7e6f9c76158b4)
        [#2](/bitcoin-bitcoin/2/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /bitcoin/src/init.cpp:2366:24 (bitcoind+0x7a74c5) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#3](/bitcoin-bitcoin/3/) AppInit(node::NodeContext&) /bitcoin/src/bitcoind.cpp:244:43 (bitcoind+0x776b63) (BuildId: 1c41b4be5cd04d6216518df3b99f1f48197e8b66)
        [#4](/bitcoin-bitcoin/4/) main /bitcoin/src/bitcoind.cpp:286:10 (bitcoind+0x776b63)
    
    SUMMARY: ThreadSanitizer: data race /bitcoin/src/random.h:210:21 in RandomMixin<FastRandomContext>::randbits(int)
    

    </details>


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-21 00:51 UTC

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