ThreadSanitizer: data race src/flatfile.cpp:47:13 in FlatFileSeq::Open(FlatFilePos const&, bool) #29767

issue maflcko openend this issue on March 30, 2024
  1. maflcko commented at 10:17 am on March 30, 2024: member

    https://cirrus-ci.com/task/6414638208778240?logs=ci#L2908

      0 node2 2024-03-30T00:33:41.792784Z [txindex] [util/thread.cpp:20] [TraceThread] txindex thread start 
      1 node2 2024-03-30T00:33:41.792859Z [scheduler] [validationinterface.cpp:183] [operator()] [validation] UpdatedBlockTip: new block hash=7883788f39770ef5ae6f0f4ecee37802d50a6f0dacada65d6a8ea02f3af90c3c fork block hash=62b1edabd87390a81142c653e6e6f6543c99c6be5e63f48697d37267c0bf86fe (in IBD=true) 
      2 node2 2024-03-30T00:33:41.792975Z [scheduler] [validationinterface.cpp:222] [operator()] [validation] MempoolTransactionsRemovedForBlock: block height=398 txs removed=0 
      3 node2 2024-03-30T00:33:41.793076Z [basic block filter index] [util/thread.cpp:20] [TraceThread] basic block filter index thread start 
      4 node2 2024-03-30T00:33:41.793139Z [scheduler] [validationinterface.cpp:212] [operator()] [validation] BlockConnected: block hash=74b216909b0a33a9beef910bf3a85e52ba4876a83cc74a657f72c908cf623ad3 block height=398 
      5 node2 2024-03-30T00:33:41.793226Z [txindex] [index/base.cpp:209] [Sync] txindex is enabled at height 399 
      6 node2 2024-03-30T00:33:41.793341Z [txindex] [util/thread.cpp:22] [TraceThread] txindex thread exit 
      7 node2 2024-03-30T00:33:41.793397Z [initload] [util/thread.cpp:22] [TraceThread] initload thread exit 
      8 node2 2024-03-30T00:33:41.793516Z [coinstatsindex] [util/thread.cpp:20] [TraceThread] coinstatsindex thread start 
      9 node2 2024-03-30T00:33:41.793821Z [coinstatsindex] [index/base.cpp:209] [Sync] coinstatsindex is enabled at height 399 
     10 node2 2024-03-30T00:33:41.793850Z [coinstatsindex] [util/thread.cpp:22] [TraceThread] coinstatsindex thread exit 
     11 node2 2024-03-30T00:33:41.836832Z [http] [httpserver.cpp:306] [http_request_cb] [http] Received a POST request for / from 127.0.0.1:40794 
     12 test  2024-03-30T00:33:42.739000Z TestFramework (ERROR): Unexpected exception caught during testing 
     13                                   Traceback (most recent call last):
     14                                     File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 132, in main
     15                                       self.run_test()
     16                                     File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/feature_assumeutxo.py", line 419, in run_test
     17                                       self.restart_node(2, extra_args=[
     18                                     File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 598, in restart_node
     19                                       self.start_node(i, extra_args)
     20                                     File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 550, in start_node
     21                                       node.wait_for_rpc_connection()
     22                                     File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_node.py", line 255, in wait_for_rpc_connection
     23                                       raise FailedToStartError(self._node_msg(
     24                                   test_framework.test_node.FailedToStartError: [node 2] bitcoind exited with status 66 during initialization. ==================
     25                                   WARNING: ThreadSanitizer: data race (pid=47449)
     26                                     Read of size 4 at 0x7b4800003b64 by thread T16:
     27                                       [#0](/bitcoin-bitcoin/0/) FlatFileSeq::Open(FlatFilePos const&, bool) src/flatfile.cpp:47:13 (bitcoind+0x649c9f) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     28                                       [#1](/bitcoin-bitcoin/1/) BlockFilterIndex::CustomCommit(CDBBatch&) src/index/blockfilterindex.cpp:149:37 (bitcoind+0x687929) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     29                                       [#2](/bitcoin-bitcoin/2/) BaseIndex::Commit() src/index/base.cpp:222:14 (bitcoind+0x67fde7) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     30                                       [#3](/bitcoin-bitcoin/3/) BaseIndex::Sync() src/index/base.cpp:167:17 (bitcoind+0x67f6d0) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     31                                       [#4](/bitcoin-bitcoin/4/) BaseIndex::StartBackgroundSync()::$_0::operator()() const src/index/base.cpp:394:73 (bitcoind+0x6828f5) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     32                                       [#5](/bitcoin-bitcoin/5/) decltype(std::declval<BaseIndex::StartBackgroundSync()::$_0&>()()) std::__1::__invoke[abi:ue170006]<BaseIndex::StartBackgroundSync()::$_0&>(BaseIndex::StartBackgroundSync()::$_0&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x6828f5)
     33                                       [#6](/bitcoin-bitcoin/6/) void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<BaseIndex::StartBackgroundSync()::$_0&>(BaseIndex::StartBackgroundSync()::$_0&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (bitcoind+0x6828f5)
     34                                       [#7](/bitcoin-bitcoin/7/) std::__1::__function::__alloc_func<BaseIndex::StartBackgroundSync()::$_0, std::__1::allocator<BaseIndex::StartBackgroundSync()::$_0>, void ()>::operator()[abi:ue170006]() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (bitcoind+0x6828f5)
     35                                       [#8](/bitcoin-bitcoin/8/) std::__1::__function::__func<BaseIndex::StartBackgroundSync()::$_0, std::__1::allocator<BaseIndex::StartBackgroundSync()::$_0>, void ()>::operator()() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (bitcoind+0x6828f5)
     36                                       [#9](/bitcoin-bitcoin/9/) std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (bitcoind+0xb3acd5) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     37                                       [#10](/bitcoin-bitcoin/10/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (bitcoind+0xb3acd5)
     38                                       [#11](/bitcoin-bitcoin/11/) util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) src/util/thread.cpp:21:9 (bitcoind+0xb3acd5)
     39                                       [#12](/bitcoin-bitcoin/12/) decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(), std::declval<BaseIndex::StartBackgroundSync()::$_0>())) std::__1::__invoke[abi:ue170006]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::StartBackgroundSync()::$_0>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&&, BaseIndex::StartBackgroundSync()::$_0&&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x6824a4) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     40                                       [#13](/bitcoin-bitcoin/13/) void std::__1::__thread_execute[abi:ue170006]<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 ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::StartBackgroundSync()::$_0, 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 ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::StartBackgroundSync()::$_0>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:221:5 (bitcoind+0x6824a4)
     41                                       [#14](/bitcoin-bitcoin/14/) void* std::__1::__thread_proxy[abi:ue170006]<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 ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::StartBackgroundSync()::$_0>>(void*) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:232:5 (bitcoind+0x6824a4)
     42                                     Previous write of size 4 at 0x7b4800003b64 by thread T1:
     43                                       [#0](/bitcoin-bitcoin/0/) BlockFilterIndex::Write(BlockFilter const&, unsigned int, uint256 const&) src/index/blockfilterindex.cpp:287:28 (bitcoind+0x68a60a) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     44                                       [#1](/bitcoin-bitcoin/1/) BlockFilterIndex::CustomAppend(interfaces::BlockInfo const&) src/index/blockfilterindex.cpp:267:16 (bitcoind+0x68a101) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     45                                       [#2](/bitcoin-bitcoin/2/) BaseIndex::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*) src/index/base.cpp:303:9 (bitcoind+0x680ce9) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     46                                       [#3](/bitcoin-bitcoin/3/) ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)::operator()(CValidationInterface&) const src/validationinterface.cpp:208:79 (bitcoind+0x5f3607) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     47                                       [#4](/bitcoin-bitcoin/4/) void ValidationSignalsImpl::Iterate<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)>(ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_0::operator()() const::'lambda'(CValidationInterface&)&&) src/validationinterface.cpp:88:17 (bitcoind+0x5f3607)
     48                                       [#5](/bitcoin-bitcoin/5/) ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_0::operator()() const src/validationinterface.cpp:208:22 (bitcoind+0x5f3607)
     49                                       [#6](/bitcoin-bitcoin/6/) ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1::operator()() const src/validationinterface.cpp:210:5 (bitcoind+0x5f3607)
     50                                       [#7](/bitcoin-bitcoin/7/) decltype(std::declval<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1&>()()) std::__1::__invoke[abi:ue170006]<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1&>(ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x5f3607)
     51                                       [#8](/bitcoin-bitcoin/8/) void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1&>(ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (bitcoind+0x5f3607)
     52                                       [#9](/bitcoin-bitcoin/9/) std::__1::__function::__alloc_func<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1, std::__1::allocator<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1>, void ()>::operator()[abi:ue170006]() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (bitcoind+0x5f3607)
     53                                       [#10](/bitcoin-bitcoin/10/) std::__1::__function::__func<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1, std::__1::allocator<ValidationSignals::BlockConnected(ChainstateRole, std::__1::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_1>, void ()>::operator()() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (bitcoind+0x5f3607)
     54                                       [#11](/bitcoin-bitcoin/11/) std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (bitcoind+0xa3adbf) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     55                                       [#12](/bitcoin-bitcoin/12/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (bitcoind+0xa3adbf)
     56                                       [#13](/bitcoin-bitcoin/13/) SerialTaskRunner::ProcessQueue() src/scheduler.cpp:173:5 (bitcoind+0xa3adbf)
     57                                       [#14](/bitcoin-bitcoin/14/) SerialTaskRunner::MaybeScheduleProcessQueue()::$_0::operator()() const src/scheduler.cpp:142:41 (bitcoind+0xa3cd15) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     58                                       [#15](/bitcoin-bitcoin/15/) decltype(std::declval<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>()()) std::__1::__invoke[abi:ue170006]<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0xa3cd15)
     59                                       [#16](/bitcoin-bitcoin/16/) void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&>(SerialTaskRunner::MaybeScheduleProcessQueue()::$_0&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (bitcoind+0xa3cd15)
     60                                       [#17](/bitcoin-bitcoin/17/) std::__1::__function::__alloc_func<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0, std::__1::allocator<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>, void ()>::operator()[abi:ue170006]() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (bitcoind+0xa3cd15)
     61                                       [#18](/bitcoin-bitcoin/18/) std::__1::__function::__func<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0, std::__1::allocator<SerialTaskRunner::MaybeScheduleProcessQueue()::$_0>, void ()>::operator()() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (bitcoind+0xa3cd15)
     62                                       [#19](/bitcoin-bitcoin/19/) std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (bitcoind+0xa39b64) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     63                                       [#20](/bitcoin-bitcoin/20/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (bitcoind+0xa39b64)
     64                                       [#21](/bitcoin-bitcoin/21/) CScheduler::serviceQueue() src/scheduler.cpp:60:17 (bitcoind+0xa39b64)
     65                                       [#22](/bitcoin-bitcoin/22/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3::operator()() const src/init.cpp:1165:94 (bitcoind+0x1ac325) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     66                                       [#23](/bitcoin-bitcoin/23/) decltype(std::declval<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&>()()) std::__1::__invoke[abi:ue170006]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x1ac325)
     67                                       [#24](/bitcoin-bitcoin/24/) void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (bitcoind+0x1ac325)
     68                                       [#25](/bitcoin-bitcoin/25/) std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>, void ()>::operator()[abi:ue170006]() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (bitcoind+0x1ac325)
     69                                       [#26](/bitcoin-bitcoin/26/) std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>, void ()>::operator()() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (bitcoind+0x1ac325)
     70                                       [#27](/bitcoin-bitcoin/27/) std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (bitcoind+0xb3acd5) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     71                                       [#28](/bitcoin-bitcoin/28/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (bitcoind+0xb3acd5)
     72                                       [#29](/bitcoin-bitcoin/29/) util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) src/util/thread.cpp:21:9 (bitcoind+0xb3acd5)
     73                                       [#30](/bitcoin-bitcoin/30/) 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<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>())) std::__1::__invoke[abi:ue170006]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x1abf1c) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     74                                       [#31](/bitcoin-bitcoin/31/) void std::__1::__thread_execute[abi:ue170006]<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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3, 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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:221:5 (bitcoind+0x1abf1c)
     75                                       [#32](/bitcoin-bitcoin/32/) void* std::__1::__thread_proxy[abi:ue170006]<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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3>>(void*) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:232:5 (bitcoind+0x1abf1c)
     76                                     Location is heap block of size 352 at 0x7b4800003a80 allocated by main thread:
     77                                       [#0](/bitcoin-bitcoin/0/) operator new(unsigned long) <null> (bitcoind+0x1811ab) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     78                                       [#1](/bitcoin-bitcoin/1/) void* std::__1::__libcpp_operator_new[abi:ue170006]<unsigned long>(unsigned long) /usr/lib/llvm-17/bin/../include/c++/v1/new:268:10 (bitcoind+0x692f8f) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     79                                       [#2](/bitcoin-bitcoin/2/) std::__1::__libcpp_allocate[abi:ue170006](unsigned long, unsigned long) /usr/lib/llvm-17/bin/../include/c++/v1/new:294:10 (bitcoind+0x692f8f)
     80                                       [#3](/bitcoin-bitcoin/3/) std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>>::allocate[abi:ue170006](unsigned long) /usr/lib/llvm-17/bin/../include/c++/v1/__memory/allocator.h:114:38 (bitcoind+0x692f8f)
     81                                       [#4](/bitcoin-bitcoin/4/) std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>>>::allocate[abi:ue170006](std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>>&, unsigned long) /usr/lib/llvm-17/bin/../include/c++/v1/__memory/allocator_traits.h:268:20 (bitcoind+0x692f8f)
     82                                       [#5](/bitcoin-bitcoin/5/) std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>>>> std::__1::__tree<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__map_value_compare<BlockFilterType, std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::less<BlockFilterType>, true>, std::__1::allocator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>>>::__construct_node<std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>>(std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>&&, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>&&) /usr/lib/llvm-17/bin/../include/c++/v1/__tree:2143:23 (bitcoind+0x692f8f)
     83                                       [#6](/bitcoin-bitcoin/6/) std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>*, long>, bool> std::__1::__tree<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__map_value_compare<BlockFilterType, std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::less<BlockFilterType>, true>, std::__1::allocator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>>>::__emplace_unique_impl<std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>>(std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>&&, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>&&) /usr/lib/llvm-17/bin/../include/c++/v1/__tree:2155:25 (bitcoind+0x692d9b) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     84                                       [#7](/bitcoin-bitcoin/7/) std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>*, long>, bool> std::__1::__tree<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__map_value_compare<BlockFilterType, std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::less<BlockFilterType>, true>, std::__1::allocator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>>>::__emplace_unique[abi:ue170006]<std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>>(std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>&&, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>&&) /usr/lib/llvm-17/bin/../include/c++/v1/__tree:1200:16 (bitcoind+0x68d833) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     85                                       [#8](/bitcoin-bitcoin/8/) std::__1::pair<std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, std::__1::__tree_node<std::__1::__value_type<BlockFilterType, BlockFilterIndex>, void*>*, long>>, bool> std::__1::map<BlockFilterType, BlockFilterIndex, std::__1::less<BlockFilterType>, std::__1::allocator<std::__1::pair<BlockFilterType const, BlockFilterIndex>>>::emplace[abi:ue170006]<std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>>(std::__1::piecewise_construct_t const&, std::__1::tuple<BlockFilterType&>&&, std::__1::tuple<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>>&&, BlockFilterType&, unsigned long&, bool&, bool&>&&) /usr/lib/llvm-17/bin/../include/c++/v1/map:1288:24 (bitcoind+0x68d833)
     86                                       [#9](/bitcoin-bitcoin/9/) InitBlockFilterIndex(std::__1::function<std::__1::unique_ptr<interfaces::Chain, std::__1::default_delete<interfaces::Chain>> ()>, BlockFilterType, unsigned long, bool, bool) src/index/blockfilterindex.cpp:510:36 (bitcoind+0x68d833)
     87                                       [#10](/bitcoin-bitcoin/10/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1651:9 (bitcoind+0x1a15e7) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     88                                       [#11](/bitcoin-bitcoin/11/) AppInit(node::NodeContext&) src/bitcoind.cpp:228:43 (bitcoind+0x18308d) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     89                                       [#12](/bitcoin-bitcoin/12/) main src/bitcoind.cpp:274:10 (bitcoind+0x18308d)
     90                                     Thread T16 'b-basic block f' (tid=47534, running) created by thread T11 at:
     91                                       [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xf7f4f) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     92                                       [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create[abi:ue170006](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-17/bin/../include/c++/v1/__threading_support:371:10 (bitcoind+0x682034) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     93                                       [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, BaseIndex::StartBackgroundSync()::$_0, void>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, BaseIndex::StartBackgroundSync()::$_0&&) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:248:16 (bitcoind+0x682034)
     94                                       [#3](/bitcoin-bitcoin/3/) BaseIndex::StartBackgroundSync() src/index/base.cpp:394:21 (bitcoind+0x682034)
     95                                       [#4](/bitcoin-bitcoin/4/) StartIndexBackgroundSync(node::NodeContext&) src/init.cpp:2033:49 (bitcoind+0x1ab2df) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     96                                       [#5](/bitcoin-bitcoin/5/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14::operator()() const src/init.cpp:1758:14 (bitcoind+0x1af5c5) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
     97                                       [#6](/bitcoin-bitcoin/6/) decltype(std::declval<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&>()()) std::__1::__invoke[abi:ue170006]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x1af5c5)
     98                                       [#7](/bitcoin-bitcoin/7/) void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (bitcoind+0x1af5c5)
     99                                       [#8](/bitcoin-bitcoin/8/) std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>, void ()>::operator()[abi:ue170006]() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (bitcoind+0x1af5c5)
    100                                       [#9](/bitcoin-bitcoin/9/) std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>, void ()>::operator()() /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (bitcoind+0x1af5c5)
    101                                       [#10](/bitcoin-bitcoin/10/) std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (bitcoind+0xb3acd5) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
    102                                       [#11](/bitcoin-bitcoin/11/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (bitcoind+0xb3acd5)
    103                                       [#12](/bitcoin-bitcoin/12/) util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) src/util/thread.cpp:21:9 (bitcoind+0xb3acd5)
    104                                       [#13](/bitcoin-bitcoin/13/) 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<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>())) std::__1::__invoke[abi:ue170006]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14&&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (bitcoind+0x1aead2) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
    105                                       [#14](/bitcoin-bitcoin/14/) void std::__1::__thread_execute[abi:ue170006]<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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14, 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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:221:5 (bitcoind+0x1aead2)
    106                                       [#15](/bitcoin-bitcoin/15/) void* std::__1::__thread_proxy[abi:ue170006]<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*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_14>>(void*) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:232:5 (bitcoind+0x1aead2)
    107                                     Thread T1 'b-scheduler' (tid=47456, running) created by main thread at:
    108                                       [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xf7f4f) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
    109                                       [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create[abi:ue170006](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-17/bin/../include/c++/v1/__threading_support:371:10 (bitcoind+0x19c9fa) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
    110                                       [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<void (&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const (&) [10], AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3, void>(void (&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const (&) [10], AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3&&) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:248:16 (bitcoind+0x19c9fa)
    111                                       [#3](/bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1165:34 (bitcoind+0x19c9fa)
    112                                       [#4](/bitcoin-bitcoin/4/) AppInit(node::NodeContext&) src/bitcoind.cpp:228:43 (bitcoind+0x18308d) (BuildId: 994f604f928124359e165db86502aa34e11056bc)
    113                                       [#5](/bitcoin-bitcoin/5/) main src/bitcoind.cpp:274:10 (bitcoind+0x18308d)
    114                                   SUMMARY: ThreadSanitizer: data race src/flatfile.cpp:47:13 in FlatFileSeq::Open(FlatFilePos const&, bool)
    115                                   ==================
    116                                   ************************
    
  2. nanlour commented at 3:12 am on April 1, 2024: contributor
  3. nanlour referenced this in commit bbe82c116e on Apr 1, 2024
  4. nanlour commented at 3:26 am on April 1, 2024: contributor
    I submit a pr for fix:https://github.com/bitcoin/bitcoin/pull/29776#issue-2217435468
  5. nanlour referenced this in commit 5931fb8f09 on Apr 2, 2024
  6. ryanofsky closed this on Apr 4, 2024

  7. ryanofsky referenced this in commit 5a5ab1d544 on Apr 4, 2024


maflcko nanlour


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: 2024-07-05 19:13 UTC

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