TSAN: lock-order-inversion (potential deadlock) in ZapSelectTx test #27582

issue fanquake opened this issue on May 5, 2023
  1. fanquake commented at 12:41 PM on May 5, 2023: member

    master (6c7ebcc14b7908a67a8f8764b398e76c8fb4fe8b) running the TSAN CI job, on Fedora 38, with podman:

    ==================
    WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=94411)
      Cycle in lock order graph: M0 (0xffff8c427208) => M1 (0xffff8c42d868) => M2 (0xffff8c42da18) => M0
    
      Mutex M1 acquired here while holding mutex M0 in main thread:
        [#0](/bitcoin-bitcoin/0/) pthread_rwlock_wrlock <null> (test_bitcoin+0x150920) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#1](/bitcoin-bitcoin/1/) __db_pthread_mutex_lock <null> (test_bitcoin+0x125ac7c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#2](/bitcoin-bitcoin/2/) wallet::BerkeleyBatch::BerkeleyBatch(wallet::BerkeleyDatabase&, bool, bool) src/wallet/bdb.cpp:325:14 (test_bitcoin+0xb9307c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#3](/bitcoin-bitcoin/3/) std::__1::__unique_if<wallet::BerkeleyBatch>::__unique_single std::__1::make_unique[abi:v160000]<wallet::BerkeleyBatch, wallet::BerkeleyDatabase&, bool, bool&>(wallet::BerkeleyDatabase&, bool&&, bool&) /usr/lib/llvm-16/bin/../include/c++/v1/__memory/unique_ptr.h:686:30 (test_bitcoin+0xb99544) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#4](/bitcoin-bitcoin/4/) wallet::BerkeleyDatabase::MakeBatch(bool) src/wallet/bdb.cpp:863:12 (test_bitcoin+0xb99544)
        [#5](/bitcoin-bitcoin/5/) wallet::WalletBatch::WalletBatch(wallet::WalletDatabase&, bool) src/./wallet/walletdb.h:220:26 (test_bitcoin+0xb2efec) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#6](/bitcoin-bitcoin/6/) wallet::CWallet::LoadWallet() src/wallet/wallet.cpp:2319:31 (test_bitcoin+0xb2efec)
        [#7](/bitcoin-bitcoin/7/) wallet::CWallet::Create(wallet::WalletContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::unique_ptr<wallet::WalletDatabase, std::__1::default_delete<wallet::WalletDatabase>>, unsigned long, bilingual_str&, std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>&) src/wallet/wallet.cpp:2883:47 (test_bitcoin+0xb1617c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#8](/bitcoin-bitcoin/8/) wallet::wallet_tests::TestLoadWallet(wallet::WalletContext&) src/wallet/test/wallet_tests.cpp:54:19 (test_bitcoin+0x987d8c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#9](/bitcoin-bitcoin/9/) wallet::wallet_tests::ZapSelectTx::test_method() src/wallet/test/wallet_tests.cpp:924:19 (test_bitcoin+0x98a5f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#10](/bitcoin-bitcoin/10/) wallet::wallet_tests::ZapSelectTx_invoker() src/wallet/test/wallet_tests.cpp:918:1 (test_bitcoin+0x989f94) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#11](/bitcoin-bitcoin/11/) boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2d3af8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#12](/bitcoin-bitcoin/12/) boost::function0<void>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x264adc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#13](/bitcoin-bitcoin/13/) boost::detail::forward::operator()() /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x264adc)
        [#14](/bitcoin-bitcoin/14/) boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x264adc)
        [#15](/bitcoin-bitcoin/15/) boost::function0<int>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1f8b04) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#16](/bitcoin-bitcoin/16/) 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/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x1f8b04)
        [#17](/bitcoin-bitcoin/17/) boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x1f8b04)
        [#18](/bitcoin-bitcoin/18/) boost::execution_monitor::execute(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x1f8dfc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#19](/bitcoin-bitcoin/19/) boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x1f2640) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#20](/bitcoin-bitcoin/20/) boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1f2640)
        [#21](/bitcoin-bitcoin/21/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x22257c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#22](/bitcoin-bitcoin/22/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#23](/bitcoin-bitcoin/23/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#24](/bitcoin-bitcoin/24/) boost::unit_test::framework::run(unsigned long, bool) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x1f15e4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#25](/bitcoin-bitcoin/25/) boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x20af48) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#26](/bitcoin-bitcoin/26/) main /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x20b4f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
    
        Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
    
      Mutex M2 acquired here while holding mutex M1 in main thread:
        [#0](/bitcoin-bitcoin/0/) pthread_rwlock_wrlock <null> (test_bitcoin+0x150920) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#1](/bitcoin-bitcoin/1/) __db_pthread_mutex_lock <null> (test_bitcoin+0x125ac7c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#2](/bitcoin-bitcoin/2/) wallet::BerkeleyBatch::BerkeleyBatch(wallet::BerkeleyDatabase&, bool, bool) src/wallet/bdb.cpp:325:14 (test_bitcoin+0xb9307c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#3](/bitcoin-bitcoin/3/) std::__1::__unique_if<wallet::BerkeleyBatch>::__unique_single std::__1::make_unique[abi:v160000]<wallet::BerkeleyBatch, wallet::BerkeleyDatabase&, bool, bool&>(wallet::BerkeleyDatabase&, bool&&, bool&) /usr/lib/llvm-16/bin/../include/c++/v1/__memory/unique_ptr.h:686:30 (test_bitcoin+0xb99544) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#4](/bitcoin-bitcoin/4/) wallet::BerkeleyDatabase::MakeBatch(bool) src/wallet/bdb.cpp:863:12 (test_bitcoin+0xb99544)
        [#5](/bitcoin-bitcoin/5/) wallet::WalletBatch::WalletBatch(wallet::WalletDatabase&, bool) src/./wallet/walletdb.h:220:26 (test_bitcoin+0xb2efec) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#6](/bitcoin-bitcoin/6/) wallet::CWallet::LoadWallet() src/wallet/wallet.cpp:2319:31 (test_bitcoin+0xb2efec)
        [#7](/bitcoin-bitcoin/7/) wallet::CWallet::Create(wallet::WalletContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::unique_ptr<wallet::WalletDatabase, std::__1::default_delete<wallet::WalletDatabase>>, unsigned long, bilingual_str&, std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>&) src/wallet/wallet.cpp:2883:47 (test_bitcoin+0xb1617c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#8](/bitcoin-bitcoin/8/) wallet::wallet_tests::TestLoadWallet(wallet::WalletContext&) src/wallet/test/wallet_tests.cpp:54:19 (test_bitcoin+0x987d8c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#9](/bitcoin-bitcoin/9/) wallet::wallet_tests::ZapSelectTx::test_method() src/wallet/test/wallet_tests.cpp:924:19 (test_bitcoin+0x98a5f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#10](/bitcoin-bitcoin/10/) wallet::wallet_tests::ZapSelectTx_invoker() src/wallet/test/wallet_tests.cpp:918:1 (test_bitcoin+0x989f94) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#11](/bitcoin-bitcoin/11/) boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2d3af8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#12](/bitcoin-bitcoin/12/) boost::function0<void>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x264adc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#13](/bitcoin-bitcoin/13/) boost::detail::forward::operator()() /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x264adc)
        [#14](/bitcoin-bitcoin/14/) boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x264adc)
        [#15](/bitcoin-bitcoin/15/) boost::function0<int>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1f8b04) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#16](/bitcoin-bitcoin/16/) 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/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x1f8b04)
        [#17](/bitcoin-bitcoin/17/) boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x1f8b04)
        [#18](/bitcoin-bitcoin/18/) boost::execution_monitor::execute(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x1f8dfc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#19](/bitcoin-bitcoin/19/) boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x1f2640) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#20](/bitcoin-bitcoin/20/) boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1f2640)
        [#21](/bitcoin-bitcoin/21/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x22257c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#22](/bitcoin-bitcoin/22/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#23](/bitcoin-bitcoin/23/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#24](/bitcoin-bitcoin/24/) boost::unit_test::framework::run(unsigned long, bool) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x1f15e4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#25](/bitcoin-bitcoin/25/) boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x20af48) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#26](/bitcoin-bitcoin/26/) main /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x20b4f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
    
      Mutex M0 acquired here while holding mutex M2 in main thread:
        [#0](/bitcoin-bitcoin/0/) pthread_rwlock_rdlock <null> (test_bitcoin+0x1503b4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#1](/bitcoin-bitcoin/1/) __db_pthread_mutex_readlock <null> (test_bitcoin+0x125af10) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#2](/bitcoin-bitcoin/2/) wallet::BerkeleyBatch::BerkeleyBatch(wallet::BerkeleyDatabase&, bool, bool) src/wallet/bdb.cpp:325:14 (test_bitcoin+0xb9307c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#3](/bitcoin-bitcoin/3/) std::__1::__unique_if<wallet::BerkeleyBatch>::__unique_single std::__1::make_unique[abi:v160000]<wallet::BerkeleyBatch, wallet::BerkeleyDatabase&, bool, bool&>(wallet::BerkeleyDatabase&, bool&&, bool&) /usr/lib/llvm-16/bin/../include/c++/v1/__memory/unique_ptr.h:686:30 (test_bitcoin+0xb99544) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#4](/bitcoin-bitcoin/4/) wallet::BerkeleyDatabase::MakeBatch(bool) src/wallet/bdb.cpp:863:12 (test_bitcoin+0xb99544)
        [#5](/bitcoin-bitcoin/5/) wallet::WalletBatch::WalletBatch(wallet::WalletDatabase&, bool) src/./wallet/walletdb.h:220:26 (test_bitcoin+0xb2efec) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#6](/bitcoin-bitcoin/6/) wallet::CWallet::LoadWallet() src/wallet/wallet.cpp:2319:31 (test_bitcoin+0xb2efec)
        [#7](/bitcoin-bitcoin/7/) wallet::CWallet::Create(wallet::WalletContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::unique_ptr<wallet::WalletDatabase, std::__1::default_delete<wallet::WalletDatabase>>, unsigned long, bilingual_str&, std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>&) src/wallet/wallet.cpp:2883:47 (test_bitcoin+0xb1617c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#8](/bitcoin-bitcoin/8/) wallet::wallet_tests::TestLoadWallet(wallet::WalletContext&) src/wallet/test/wallet_tests.cpp:54:19 (test_bitcoin+0x987d8c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#9](/bitcoin-bitcoin/9/) wallet::wallet_tests::ZapSelectTx::test_method() src/wallet/test/wallet_tests.cpp:924:19 (test_bitcoin+0x98a5f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#10](/bitcoin-bitcoin/10/) wallet::wallet_tests::ZapSelectTx_invoker() src/wallet/test/wallet_tests.cpp:918:1 (test_bitcoin+0x989f94) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#11](/bitcoin-bitcoin/11/) boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2d3af8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#12](/bitcoin-bitcoin/12/) boost::function0<void>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x264adc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#13](/bitcoin-bitcoin/13/) boost::detail::forward::operator()() /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x264adc)
        [#14](/bitcoin-bitcoin/14/) boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x264adc)
        [#15](/bitcoin-bitcoin/15/) boost::function0<int>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1f8b04) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#16](/bitcoin-bitcoin/16/) 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/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x1f8b04)
        [#17](/bitcoin-bitcoin/17/) boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x1f8b04)
        [#18](/bitcoin-bitcoin/18/) boost::execution_monitor::execute(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x1f8dfc) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#19](/bitcoin-bitcoin/19/) boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x1f2640) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#20](/bitcoin-bitcoin/20/) boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1f2640)
        [#21](/bitcoin-bitcoin/21/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x22257c) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#22](/bitcoin-bitcoin/22/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#23](/bitcoin-bitcoin/23/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x2228a8) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#24](/bitcoin-bitcoin/24/) boost::unit_test::framework::run(unsigned long, bool) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x1f15e4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#25](/bitcoin-bitcoin/25/) boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x20af48) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
        [#26](/bitcoin-bitcoin/26/) main /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x20b4f4) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b)
    
    SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src/test/test_bitcoin+0x150920) (BuildId: e6d773dbb6475135a1747fe19e2eb18593ee1a4b) in pthread_rwlock_wrlock
    ==================
    
    real	42m33.544s
    

    Additional log output: https://gist.github.com/fanquake/e20f64c077da649ab6a5fdaa8ef8655b.

  2. maflcko commented at 12:45 PM on May 5, 2023: member

    Is this reproducible?

  3. maflcko added the label Wallet on May 5, 2023
  4. fanquake commented at 1:13 PM on May 5, 2023: member

    Is this reproducible?

    Has happened 2/2 runs so far.

  5. maflcko commented at 1:17 PM on May 5, 2023: member

    Ok, then it would be nice to try outside the CI env, starting with the same configure flags

  6. fanquake commented at 1:52 PM on November 9, 2023: member

    Closing for now. Don't seem to be able to reproduce.

  7. fanquake closed this on Nov 9, 2023

  8. furszy commented at 2:08 PM on November 9, 2023: member

    Saw this too late, but just in case this appears again; I have rewritten ZapSelectTx() entirely inside #28574.

  9. bitcoin locked this on Nov 8, 2024

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-04-13 21:13 UTC

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