Data race in interface_zmq.py #20618

issue hebasto opened this issue on December 10, 2020
  1. hebasto commented at 9:01 PM on December 10, 2020: member

    https://cirrus-ci.com/task/5979351982276608?command=ci#L4621

    ==================
    WARNING: ThreadSanitizer: data race (pid=114265)
      Read of size 8 at 0x7b1400025170 by thread T4:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::destroy(std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*) /usr/lib/llvm-10/bin/../include/c++/v1/__tree:1833:51 (bitcoind+0x3ae331)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::~__tree() <null> (bitcoind+0x998157)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) CZMQAbstractPublishNotifier::SendZmqMessage(char const*, void const*, unsigned long) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqpublishnotifier.cpp:170:14 (bitcoind+0x787f06)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) CZMQPublishHashTransactionNotifier::NotifyTransaction(CTransaction const&) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqpublishnotifier.cpp:197:12 (bitcoind+0x787f06)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) CZMQNotificationInterface::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_1::operator()(CZMQAbstractNotifier*) const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqnotificationinterface.cpp:147:26 (bitcoind+0x7855c6)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) void (anonymous namespace)::TryForEachAndRemoveFailed<CZMQNotificationInterface::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_1>(std::__1::list<std::__1::unique_ptr<CZMQAbstractNotifier, std::__1::default_delete<CZMQAbstractNotifier> >, std::__1::allocator<std::__1::unique_ptr<CZMQAbstractNotifier, std::__1::default_delete<CZMQAbstractNotifier> > > >&, CZMQNotificationInterface::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_1 const&) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqnotificationinterface.cpp:121:13 (bitcoind+0x7855c6)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) CZMQNotificationInterface::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqnotificationinterface.cpp:146:5 (bitcoind+0x7855c6)
        [#7](/github-metadata-backup-bitcoin-bitcoin/7/) CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_4::operator()() const::'lambda'(CValidationInterface&)::operator()(CValidationInterface&) const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/validationinterface.cpp:204:79 (bitcoind+0x443db6)
        [#8](/github-metadata-backup-bitcoin-bitcoin/8/) void MainSignalsInstance::Iterate<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_4::operator()() const::'lambda'(CValidationInterface&)>(CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_4::operator()() const::'lambda'(CValidationInterface&)&&) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/validationinterface.cpp:83:17 (bitcoind+0x443db6)
        [#9](/github-metadata-backup-bitcoin-bitcoin/9/) CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_4::operator()() const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/validationinterface.cpp:204:22 (bitcoind+0x443db6)
        [#10](/github-metadata-backup-bitcoin-bitcoin/10/) CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5::operator()() const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/validationinterface.cpp:206:5 (bitcoind+0x443db6)
        [#11](/github-metadata-backup-bitcoin-bitcoin/11/) decltype(std::__1::forward<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5&>(fp)()) std::__1::__invoke<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5&>(CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3539:1 (bitcoind+0x443db6)
        [#12](/github-metadata-backup-bitcoin-bitcoin/12/) void std::__1::__invoke_void_return_wrapper<void>::__call<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5&>(CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5&) /usr/lib/llvm-10/bin/../include/c++/v1/__functional_base:348:9 (bitcoind+0x443db6)
        [#13](/github-metadata-backup-bitcoin-bitcoin/13/) std::__1::__function::__alloc_func<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5, std::__1::allocator<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5>, void ()>::operator()() /usr/lib/llvm-10/bin/../include/c++/v1/functional:1540:16 (bitcoind+0x443db6)
        [#14](/github-metadata-backup-bitcoin-bitcoin/14/) std::__1::__function::__func<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5, std::__1::allocator<CMainSignals::TransactionAddedToMempool(std::__1::shared_ptr<CTransaction const> const&, unsigned long)::$_5>, void ()>::operator()() /usr/lib/llvm-10/bin/../include/c++/v1/functional:1714:12 (bitcoind+0x443db6)
        [#15](/github-metadata-backup-bitcoin-bitcoin/15/) std::__1::__function::__value_func<void ()>::operator()() const /usr/lib/llvm-10/bin/../include/c++/v1/functional:1867:16 (bitcoind+0x6ee1ba)
        [#16](/github-metadata-backup-bitcoin-bitcoin/16/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-10/bin/../include/c++/v1/functional:2473:12 (bitcoind+0x6ee1ba)
        [#17](/github-metadata-backup-bitcoin-bitcoin/17/) SingleThreadedSchedulerClient::ProcessQueue() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/scheduler.cpp:173:5 (bitcoind+0x6ee1ba)
        [#18](/github-metadata-backup-bitcoin-bitcoin/18/) decltype(*(std::__1::forward<SingleThreadedSchedulerClient*&>(fp0)).*fp()) std::__1::__invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient*&, void>(void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient*&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3480:1 (bitcoind+0x6f016a)
        [#19](/github-metadata-backup-bitcoin-bitcoin/19/) std::__1::__bind_return<void (SingleThreadedSchedulerClient::*)(), std::__1::tuple<SingleThreadedSchedulerClient*>, std::__1::tuple<>, __is_valid_bind_return<void (SingleThreadedSchedulerClient::*)(), std::__1::tuple<SingleThreadedSchedulerClient*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (SingleThreadedSchedulerClient::*)(), std::__1::tuple<SingleThreadedSchedulerClient*>, 0ul, std::__1::tuple<> >(void (SingleThreadedSchedulerClient::*&)(), std::__1::tuple<SingleThreadedSchedulerClient*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) /usr/lib/llvm-10/bin/../include/c++/v1/functional:2770:12 (bitcoind+0x6f016a)
        [#20](/github-metadata-backup-bitcoin-bitcoin/20/) std::__1::__bind_return<void (SingleThreadedSchedulerClient::*)(), std::__1::tuple<SingleThreadedSchedulerClient*>, std::__1::tuple<>, __is_valid_bind_return<void (SingleThreadedSchedulerClient::*)(), std::__1::tuple<SingleThreadedSchedulerClient*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>::operator()<>() /usr/lib/llvm-10/bin/../include/c++/v1/functional:2803:20 (bitcoind+0x6f016a)
        [#21](/github-metadata-backup-bitcoin-bitcoin/21/) decltype(std::__1::forward<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>&>(fp)()) std::__1::__invoke<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>&>(std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3539:1 (bitcoind+0x6f016a)
        [#22](/github-metadata-backup-bitcoin-bitcoin/22/) void std::__1::__invoke_void_return_wrapper<void>::__call<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>&>(std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>&) /usr/lib/llvm-10/bin/../include/c++/v1/__functional_base:348:9 (bitcoind+0x6f016a)
        [#23](/github-metadata-backup-bitcoin-bitcoin/23/) std::__1::__function::__alloc_func<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>, std::__1::allocator<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*> >, void ()>::operator()() /usr/lib/llvm-10/bin/../include/c++/v1/functional:1540:16 (bitcoind+0x6f016a)
        [#24](/github-metadata-backup-bitcoin-bitcoin/24/) std::__1::__function::__func<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*>, std::__1::allocator<std::__1::__bind<void (SingleThreadedSchedulerClient::*)(), SingleThreadedSchedulerClient*> >, void ()>::operator()() /usr/lib/llvm-10/bin/../include/c++/v1/functional:1714:12 (bitcoind+0x6f016a)
        [#25](/github-metadata-backup-bitcoin-bitcoin/25/) std::__1::__function::__value_func<void ()>::operator()() const /usr/lib/llvm-10/bin/../include/c++/v1/functional:1867:16 (bitcoind+0x6ed175)
        [#26](/github-metadata-backup-bitcoin-bitcoin/26/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-10/bin/../include/c++/v1/functional:2473:12 (bitcoind+0x6ed175)
        [#27](/github-metadata-backup-bitcoin-bitcoin/27/) CScheduler::serviceQueue() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/scheduler.cpp:60:17 (bitcoind+0x6ed175)
        [#28](/github-metadata-backup-bitcoin-bitcoin/28/) AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6::operator()() const::'lambda'()::operator()() const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/init.cpp:1344:84 (bitcoind+0x1403c1)
        [#29](/github-metadata-backup-bitcoin-bitcoin/29/) void TraceThread<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6::operator()() const::'lambda'()>(char const*, AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6::operator()() const::'lambda'()) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./util/system.h:438:9 (bitcoind+0x1403c1)
        [#30](/github-metadata-backup-bitcoin-bitcoin/30/) AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6::operator()() const /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/init.cpp:1344:37 (bitcoind+0x1403c1)
        [#31](/github-metadata-backup-bitcoin-bitcoin/31/) boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_6>::run() /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/thread/detail/thread.hpp:120:17 (bitcoind+0x1403c1)
        [#32](/github-metadata-backup-bitcoin-bitcoin/32/) boost::(anonymous namespace)::thread_proxy(void*) <null> (bitcoind+0x87b28e)
      Previous write of size 8 at 0x7b1400025170 by thread T11:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x11626b)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::__1::__libcpp_allocate(unsigned long, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/new:253:10 (bitcoind+0x585eed)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >::allocate(unsigned long, void const*) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1864:37 (bitcoind+0x585eed)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > >::allocate(std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >&, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1581:21 (bitcoind+0x585eed)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > > > std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__construct_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) /usr/lib/llvm-10/bin/../include/c++/v1/__tree:2193:23 (bitcoind+0x585eed)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__emplace_hint_unique_key_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) /usr/lib/llvm-10/bin/../include/c++/v1/__tree:2172:29 (bitcoind+0x585eed)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__insert_unique(std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long>, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) <null> (bitcoind+0x99ce13)
      Location is heap block of size 80 at 0x7b1400025170 allocated by thread T11:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x11626b)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) std::__1::__libcpp_allocate(unsigned long, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/new:253:10 (bitcoind+0x585eed)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >::allocate(unsigned long, void const*) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1864:37 (bitcoind+0x585eed)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > >::allocate(std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >&, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1581:21 (bitcoind+0x585eed)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > > > std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__construct_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) /usr/lib/llvm-10/bin/../include/c++/v1/__tree:2193:23 (bitcoind+0x585eed)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long> std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__emplace_hint_unique_key_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) /usr/lib/llvm-10/bin/../include/c++/v1/__tree:2172:29 (bitcoind+0x585eed)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__insert_unique(std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*, long>, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) <null> (bitcoind+0x99ce13)
      Thread T4 'b-scheduler' (tid=114305, running) created by main thread at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x8935b)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) boost::thread::start_thread_noexcept() <null> (bitcoind+0x87b18d)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) AppInit(int, char**) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind.cpp:142:43 (bitcoind+0x1191a3)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) main /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind.cpp:172:13 (bitcoind+0x1191a3)
      Thread T11 'ZMQbg/1' (tid=114340, running) created by main thread at:
        [#0](/github-metadata-backup-bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0x8935b)
        [#1](/github-metadata-backup-bitcoin-bitcoin/1/) zmq::thread_t::start(void (*)(void*), void*) <null> (bitcoind+0x9d2918)
        [#2](/github-metadata-backup-bitcoin-bitcoin/2/) CZMQNotificationInterface::Initialize() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqnotificationinterface.cpp:87:23 (bitcoind+0x78475c)
        [#3](/github-metadata-backup-bitcoin-bitcoin/3/) CZMQNotificationInterface::Create() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/zmq/zmqnotificationinterface.cpp:60:36 (bitcoind+0x784225)
        [#4](/github-metadata-backup-bitcoin-bitcoin/4/) AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/init.cpp:1522:36 (bitcoind+0x13448a)
        [#5](/github-metadata-backup-bitcoin-bitcoin/5/) AppInit(int, char**) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind.cpp:142:43 (bitcoind+0x1191a3)
        [#6](/github-metadata-backup-bitcoin-bitcoin/6/) main /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind.cpp:172:13 (bitcoind+0x1191a3)
    SUMMARY: ThreadSanitizer: data race /usr/lib/llvm-10/bin/../include/c++/v1/__tree:1833:51 in std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::destroy(std::__1::__tree_node<std::__1::__value_type<std::__1::b
    ==================
    
  2. hebasto added the label Bug on Dec 10, 2020
  3. jonatack commented at 12:04 AM on December 11, 2020: contributor
  4. MarcoFalke commented at 8:45 AM on December 11, 2020: member

    The zmq stuff is already suppressed. Any reason why this still pops up?

    Edit: No, it is only libzmq that is suppressed.

    race:libzmq
    
  5. MarcoFalke cross-referenced this on Dec 16, 2020 from issue Intermittent CI failure in interface_zmq: "Unexpected exception caught during testing" (zmq.error.Again)" by practicalswift
  6. MarcoFalke cross-referenced this on Dec 19, 2020 from issue qa: Relax so that the subscriber is ready before publishing zmq messages by promag
  7. romanz commented at 6:24 PM on December 20, 2020: contributor
  8. MarcoFalke referenced this in commit faf9e25da9 on Dec 22, 2020
  9. MarcoFalke referenced this in commit fa1d34993f on Dec 22, 2020
  10. hebasto cross-referenced this on Dec 22, 2020 from issue test: Add race:SendZmqMessage tsan suppression by MarcoFalke
  11. MarcoFalke referenced this in commit e669c3156f on Dec 23, 2020
  12. MarcoFalke closed this on Dec 23, 2020

  13. sidhujag referenced this in commit e61f260ecb on Dec 23, 2020
  14. bitcoin locked this on Feb 15, 2022
  15. PastaPastaPasta referenced this in commit 83a47b79ff on Jan 24, 2023
Labels
Linked (view graph)
#1 JSON-RPC support for mobile devices ("ultra-lightweight" clients)#2 Long-term, safe, store-of-value#3 Encrypt wallet#4 Export/Import wallet in a human readable, future-proof format#5 Make the version number the protocol version and not the client version#6 Treat wallet as a generic keystore#7 Block-header-only, faster startup client#8 RPC command to sign text with wallet private key#9 Fix for GUI on Macs and latest wxWidgets#10 Add address to listtransactions output#11 Nolisten patch#12 Monitor transactions and/or blocks#13 Messages with or about transactions#14 bitcoin: URI and/or bitcoin-request MIME type for click-to-pay#15 Option to specify external IP address#16 Mac UI issues#17 listaccounts method#18 Error when trying to send very precise amount#19 bitcoin(d) --help should output version number#20 JSON-RPC callback#21 Add time to category:move transactions#22 Update the list of hard-coded node IP addresses#23 CORS support#24 Gettransaction#25 sum(getaccounts) != getbalance#26 Confirmations not appearing for sent coins after recovering wallet from archive#27 listaccounts with minconf param was broken!#28 corrupted double-linked list?#29 setaccount / getaccountaddress not working properly#30 Fix bug in setaccount/getaccountaddress#31 -keypool option not advertised when using --help switch#32 Help output#16740 qa: Relax so that the subscriber is ready before publishing zmq messages#20672 Intermittent CI failure in interface_zmq: "Unexpected exception caught during testing" (zmq.error.Again)"#20748 test: Add race:SendZmqMessage tsan suppression

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-05-20 06:54 UTC