Skip to content

intermittent TSAN failure in lockmanager_tests::blockmanager_readblock_hash_mismatch #33150

@maflcko

Description

@maflcko

TSAN failure (https://github.com/bitcoin/bitcoin/actions/runs/16651908244/job/47126650397?pr=32989#step:8:6056):

2025-07-31T14:39:40.396402Z [test] [net.cpp:2419] [void CConnman::SetTryNewOutboundPeer(bool)] [net] setting try another outbound peer=false
2025-07-31T14:39:40.396438Z [test] [net.cpp:3192] [void==================
WARNING: ThreadSanitizer: data race (pid=11584)
  Write of size 8 at 0x7234000016f0 by main thread:
    #0 blockmanager_tests::blockmanager_readblock_hash_mismatch::test_method() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:143:28 (test_bitcoin+0x43dce3) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #1 blockmanager_tests::blockmanager_readblock_hash_mismatch_invoker() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:140:1 (test_bitcoin+0x43d6eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #2 boost::detail::function::void_function_invoker<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:59:11 (test_bitcoin+0x3275cd) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #3 boost::function_n<void>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x2a2618) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #4 boost::detail::forward::operator()() /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1416:32 (test_bitcoin+0x2a2618)
    #5 boost::detail::function::function_obj_invoker<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:79:18 (test_bitcoin+0x2a2618)
    #6 boost::function_n<int>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x226873) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #7 int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()>>(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:329:30 (test_bitcoin+0x226873)
    #8 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:931:16 (test_bitcoin+0x226873)
    #9 boost::execution_monitor::execute(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1329:16 (test_bitcoin+0x226bea) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #10 boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1425:5 (test_bitcoin+0x2222cc) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #11 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x2222cc)
    #12 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x255e8d) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #13 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #14 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #15 boost::unit_test::framework::run(unsigned long, bool) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x220dc1) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #16 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x23bd3c) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #17 main /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x23c5c3) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)

  Previous read of size 8 at 0x7234000016f0 by thread T1:
    #0 CBlockIndex::GetBlockHash() const /home/admin/actions-runner/_work/_temp/build/src/./chain.h:245:9 (test_bitcoin+0x13700f1) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #1 ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0::operator()() const /home/admin/actions-runner/_work/_temp/build/src/./validationinterface.cpp:179:5 (test_bitcoin+0x13700f1)
    #2 decltype(std::declval<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&>()()) std::__1::__invoke[abi:de200100]<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&>(ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:179:25 (test_bitcoin+0x13700f1)
    #3 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de200100]<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&>(ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:251:5 (test_bitcoin+0x13700f1)
    #4 void std::__1::__invoke_r[abi:de200100]<void, ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&>(ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:273:10 (test_bitcoin+0x13700f1)
    #5 std::__1::__function::__alloc_func<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0, std::__1::allocator<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0>, void ()>::operator()[abi:de200100]() /cxx_build/include/c++/v1/__functional/function.h:167:12 (test_bitcoin+0x13700f1)
    #6 std::__1::__function::__func<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0, std::__1::allocator<ValidationSignals::UpdatedBlockTip(CBlockIndex const*, CBlockIndex const*, bool)::$_0>, void ()>::operator()() /cxx_build/include/c++/v1/__functional/function.h:319:10 (test_bitcoin+0x13700f1)
    #7 std::__1::__function::__value_func<void ()>::operator()[abi:de200100]() const /cxx_build/include/c++/v1/__functional/function.h:436:12 (test_bitcoin+0x183b982) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #8 std::__1::function<void ()>::operator()() const /cxx_build/include/c++/v1/__functional/function.h:995:10 (test_bitcoin+0x183b982)
    #9 SerialTaskRunner::ProcessQueue() /home/admin/actions-runner/_work/_temp/build/src/./scheduler.cpp:173:5 (test_bitcoin+0x183b982)
    #10 SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const /home/admin/actions-runner/_work/_temp/build/src/./scheduler.cpp:142:41 (test_bitcoin+0x183d4e5) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #11 decltype(std::declval<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>()()) std::__1::__invoke[abi:de200100]<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:179:25 (test_bitcoin+0x183d4e5)
    #12 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de200100]<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:251:5 (test_bitcoin+0x183d4e5)
    #13 void std::__1::__invoke_r[abi:de200100]<void, SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /cxx_build/include/c++/v1/__type_traits/invoke.h:273:10 (test_bitcoin+0x183d4e5)
    #14 std::__1::__function::__alloc_func<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0, std::__1::allocator<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>, void ()>::operator()[abi:de200100]() /cxx_build/include/c++/v1/__functional/function.h:167:12 (test_bitcoin+0x183d4e5)
    #15 std::__1::__function::__func<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0, std::__1::allocator<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>, void ()>::operator()() /cxx_build/include/c++/v1/__functional/function.h:319:10 (test_bitcoin+0x183d4e5)
    #16 std::__1::__function::__value_func<void ()>::operator()[abi:de200100]() const /cxx_build/include/c++/v1/__functional/function.h:436:12 (test_bitcoin+0x183a8ef) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #17 std::__1::function<void ()>::operator()() const /cxx_build/include/c++/v1/__functional/function.h:995:10 (test_bitcoin+0x183a8ef)
    #18 CScheduler::serviceQueue() /home/admin/actions-runner/_work/_temp/build/src/./scheduler.cpp:60:17 (test_bitcoin+0x183a8ef)
    #19 ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2::operator()() const /home/admin/actions-runner/_work/_temp/build/src/test/util/./test/util/setup_common.cpp:229:114 (test_bitcoin+0xe5c228) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #20 decltype(std::declval<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&>()()) std::__1::__invoke[abi:de200100]<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&>(ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&) /cxx_build/include/c++/v1/__type_traits/invoke.h:179:25 (test_bitcoin+0xe5c228)
    #21 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de200100]<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&>(ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&) /cxx_build/include/c++/v1/__type_traits/invoke.h:251:5 (test_bitcoin+0xe5c228)
    #22 void std::__1::__invoke_r[abi:de200100]<void, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&>(ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&) /cxx_build/include/c++/v1/__type_traits/invoke.h:273:10 (test_bitcoin+0xe5c228)
    #23 std::__1::__function::__alloc_func<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2, std::__1::allocator<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>, void ()>::operator()[abi:de200100]() /cxx_build/include/c++/v1/__functional/function.h:167:12 (test_bitcoin+0xe5c228)
    #24 std::__1::__function::__func<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2, std::__1::allocator<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>, void ()>::operator()() /cxx_build/include/c++/v1/__functional/function.h:319:10 (test_bitcoin+0xe5c228)
    #25 std::__1::__function::__value_func<void ()>::operator()[abi:de200100]() const /cxx_build/include/c++/v1/__functional/function.h:436:12 (test_bitcoin+0x1916058) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #26 std::__1::function<void ()>::operator()() const /cxx_build/include/c++/v1/__functional/function.h:995:10 (test_bitcoin+0x1916058)
    #27 util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) /home/admin/actions-runner/_work/_temp/build/src/util/./util/thread.cpp:21:9 (test_bitcoin+0x1916058)
    #28 decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>())) std::__1::__invoke[abi:de200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*&&, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&&) /cxx_build/include/c++/v1/__type_traits/invoke.h:179:25 (test_bitcoin+0xe5bddb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #29 void std::__1::__thread_execute[abi:de200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>&, std::__1::__tuple_indices<2ul, 3ul>) /cxx_build/include/c++/v1/__thread/thread.h:199:3 (test_bitcoin+0xe5bddb)
    #30 void* std::__1::__thread_proxy[abi:de200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2>>(void*) /cxx_build/include/c++/v1/__thread/thread.h:208:3 (test_bitcoin+0xe5bddb)

  Location is heap block of size 200 at 0x7234000016c0 allocated by main thread:
    #0 operator new(unsigned long) <null> (test_bitcoin+0x20a6e6) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #1 void* std::__1::__libcpp_operator_new[abi:de200100]<unsigned long>(unsigned long) /cxx_build/include/c++/v1/__new/allocate.h:37:10 (test_bitcoin+0xfe0560) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #2 std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>* std::__1::__libcpp_allocate[abi:de200100]<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>>(std::__1::__element_count, unsigned long) /cxx_build/include/c++/v1/__new/allocate.h:64:28 (test_bitcoin+0xfe0560)
    #3 std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>>::allocate[abi:de200100](unsigned long) /cxx_build/include/c++/v1/__memory/allocator.h:105:14 (test_bitcoin+0xfe0560)
    #4 std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>>>::allocate[abi:de200100](std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>>&, unsigned long) /cxx_build/include/c++/v1/__memory/allocator_traits.h:270:16 (test_bitcoin+0xfe0560)
    #5 std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>>>> std::__1::__hash_table<std::__1::__hash_value_type<uint256, CBlockIndex>, std::__1::__unordered_map_hasher<uint256, std::__1::__hash_value_type<uint256, CBlockIndex>, BlockHasher, std::__1::equal_to<uint256>, true>, std::__1::__unordered_map_equal<uint256, std::__1::__hash_value_type<uint256, CBlockIndex>, std::__1::equal_to<uint256>, BlockHasher, true>, std::__1::allocator<std::__1::__hash_value_type<uint256, CBlockIndex>>>::__construct_node_hash<std::__1::piecewise_construct_t const&, std::__1::tuple<uint256&&>, std::__1::tuple<CBlockHeader const&>>(unsigned long, std::__1::piecewise_construct_t const&, std::__1::tuple<uint256&&>&&, std::__1::tuple<CBlockHeader const&>&&) /cxx_build/include/c++/v1/__hash_table:1840:21 (test_bitcoin+0xfe0560)
    #6 std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>*>, bool> std::__1::__hash_table<std::__1::__hash_value_type<uint256, CBlockIndex>, std::__1::__unordered_map_hasher<uint256, std::__1::__hash_value_type<uint256, CBlockIndex>, BlockHasher, std::__1::equal_to<uint256>, true>, std::__1::__unordered_map_equal<uint256, std::__1::__hash_value_type<uint256, CBlockIndex>, std::__1::equal_to<uint256>, BlockHasher, true>, std::__1::allocator<std::__1::__hash_value_type<uint256, CBlockIndex>>>::__emplace_unique_key_args<uint256, std::__1::piecewise_construct_t const&, std::__1::tuple<uint256&&>, std::__1::tuple<CBlockHeader const&>>(uint256 const&, std::__1::piecewise_construct_t const&, std::__1::tuple<uint256&&>&&, std::__1::tuple<CBlockHeader const&>&&) /cxx_build/include/c++/v1/__hash_table:1547:25 (test_bitcoin+0xfe0560)
    #7 std::__1::pair<std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<uint256, CBlockIndex>, void*>*>>, bool> std::__1::unordered_map<uint256, CBlockIndex, BlockHasher, std::__1::equal_to<uint256>, std::__1::allocator<std::__1::pair<uint256 const, CBlockIndex>>>::try_emplace[abi:de200100]<CBlockHeader const&>(uint256&&, CBlockHeader const&) /cxx_build/include/c++/v1/unordered_map:1288:21 (test_bitcoin+0xfc9637) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #8 node::BlockManager::AddToBlockIndex(CBlockHeader const&, CBlockIndex*&) /home/admin/actions-runner/_work/_temp/build/src/./node/blockstorage.cpp:211:41 (test_bitcoin+0xfc9637)
    #9 Chainstate::LoadGenesisBlock() /home/admin/actions-runner/_work/_temp/build/src/./validation.cpp:5070:42 (test_bitcoin+0x1334783) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #10 node::CompleteChainstateInitialization(ChainstateManager&, node::ChainstateLoadOptions const&) /home/admin/actions-runner/_work/_temp/build/src/./node/chainstate.cpp:65:82 (test_bitcoin+0xfe9b61) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #11 node::LoadChainstate(ChainstateManager&, kernel::CacheSizes const&, node::ChainstateLoadOptions const&) /home/admin/actions-runner/_work/_temp/build/src/./node/chainstate.cpp:181:38 (test_bitcoin+0xfe9232) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #12 ChainTestingSetup::LoadVerifyActivateChainstate() /home/admin/actions-runner/_work/_temp/build/src/test/util/./test/util/setup_common.cpp:308:28 (test_bitcoin+0xe53a70) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #13 TestingSetup::TestingSetup(ChainType, TestOpts) /home/admin/actions-runner/_work/_temp/build/src/test/util/./test/util/setup_common.cpp:331:5 (test_bitcoin+0xe540f7) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #14 blockmanager_tests::blockmanager_readblock_hash_mismatch::blockmanager_readblock_hash_mismatch() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:140:1 (test_bitcoin+0x43d30a) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #15 blockmanager_tests::blockmanager_readblock_hash_mismatch_invoker() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:140:1 (test_bitcoin+0x43d30a)
    #16 boost::detail::function::void_function_invoker<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:59:11 (test_bitcoin+0x3275cd) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #17 boost::function_n<void>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x2a2618) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #18 boost::detail::forward::operator()() /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1416:32 (test_bitcoin+0x2a2618)
    #19 boost::detail::function::function_obj_invoker<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:79:18 (test_bitcoin+0x2a2618)
    #20 boost::function_n<int>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x226873) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #21 int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()>>(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:329:30 (test_bitcoin+0x226873)
    #22 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:931:16 (test_bitcoin+0x226873)
    #23 boost::execution_monitor::execute(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1329:16 (test_bitcoin+0x226bea) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #24 boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1425:5 (test_bitcoin+0x2222cc) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #25 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x2222cc)
    #26 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x255e8d) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #27 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #28 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #29 boost::unit_test::framework::run(unsigned long, bool) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x220dc1) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #30 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x23bd3c) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #31 main /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x23c5c3) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)

  Thread T1 'b-scheduler' (tid=11645, running) created by main thread at:
    #0 pthread_create <null> (test_bitcoin+0x18677e) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #1 std::__1::__libcpp_thread_create[abi:de200100](unsigned long*, void* (*)(void*), void*) /cxx_build/include/c++/v1/__thread/support/pthread.h:182:10 (test_bitcoin+0xe52b07) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #2 std::__1::thread::thread<void (&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const (&) [10], ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2, 0>(void (&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const (&) [10], ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts)::$_2&&) /cxx_build/include/c++/v1/__thread/thread.h:218:14 (test_bitcoin+0xe52b07)
    #3 ChainTestingSetup::ChainTestingSetup(ChainType, TestOpts) /home/admin/actions-runner/_work/_temp/build/src/test/util/./test/util/setup_common.cpp:229:46 (test_bitcoin+0xe52b07)
    #4 TestingSetup::TestingSetup(ChainType, TestOpts) /home/admin/actions-runner/_work/_temp/build/src/test/util/./test/util/setup_common.cpp:323:7 (test_bitcoin+0xe5400f) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #5 blockmanager_tests::blockmanager_readblock_hash_mismatch::blockmanager_readblock_hash_mismatch() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:140:1 (test_bitcoin+0x43d30a) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #6 blockmanager_tests::blockmanager_readblock_hash_mismatch_invoker() /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:140:1 (test_bitcoin+0x43d30a)
    #7 boost::detail::function::void_function_invoker<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:59:11 (test_bitcoin+0x3275cd) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #8 boost::function_n<void>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x2a2618) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #9 boost::detail::forward::operator()() /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1416:32 (test_bitcoin+0x2a2618)
    #10 boost::detail::function::function_obj_invoker<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:79:18 (test_bitcoin+0x2a2618)
    #11 boost::function_n<int>::operator()() const /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:789:14 (test_bitcoin+0x226873) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #12 int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()>>(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:329:30 (test_bitcoin+0x226873)
    #13 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:931:16 (test_bitcoin+0x226873)
    #14 boost::execution_monitor::execute(boost::function<int ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1329:16 (test_bitcoin+0x226bea) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #15 boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1425:5 (test_bitcoin+0x2222cc) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #16 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x2222cc)
    #17 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x255e8d) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #18 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #19 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2563eb) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #20 boost::unit_test::framework::run(unsigned long, bool) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x220dc1) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #21 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x23bd3c) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)
    #22 main /home/admin/actions-runner/_work/_temp/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x23c5c3) (BuildId: 8e805892ada5ea62ad577c3e5653487da52099c4)

SUMMARY: ThreadSanitizer: data race /home/admin/actions-runner/_work/_temp/build/src/test/./test/blockmanager_tests.cpp:143:28 in blockmanager_tests::blockmanager_readblock_hash_mismatch::test_method()

Originally posted by @fanquake in #32989 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions