test: Drop no longer needed race:epoll_ctl TSan suppression #26759

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:221227-epoll changing 1 files +0 −3
  1. hebasto commented at 9:40 pm on December 27, 2022: member

    The removed suppression seems no needed.

    I cannot point the exact commit/PR which makes this change possible.

  2. test: Drop no longer needed `race:epoll_ctl` TSan suppression a3f5e54152
  3. DrahtBot commented at 9:40 pm on December 27, 2022: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  4. DrahtBot added the label Tests on Dec 27, 2022
  5. maflcko commented at 9:50 am on December 28, 2022: member

    Yeah, could have been fixed when switching the clang version from

    to

  6. hebasto commented at 9:57 am on December 28, 2022: member

    Yeah, could have been fixed when switching the clang version from

    to

    FWIW, I’ve checked the TSan task with the focal image before submitting this PR. There were no issues. Perhaps a fix was backported to focal’s clang-10.

  7. hebasto marked this as ready for review on Dec 28, 2022
  8. maflcko commented at 2:06 pm on December 28, 2022: member
    lgtm. The failure rate was low for this one, so even if it still happens, it will take some time to reproduce. I guess this can be merged now and reverted later if it still happens?
  9. maflcko referenced this in commit 4654506c30 on Dec 28, 2022
  10. DrahtBot added the label Needs rebase on Dec 28, 2022
  11. DrahtBot commented at 6:19 pm on December 28, 2022: contributor

    🐙 This pull request conflicts with the target branch and needs rebase.

  12. hebasto commented at 6:22 pm on December 28, 2022: member
    Merged.
  13. hebasto closed this on Dec 28, 2022

  14. hebasto deleted the branch on Dec 28, 2022
  15. fanquake commented at 10:23 am on December 29, 2022: member

    Perhaps a fix was backported to focal’s clang-10.

    The last change to the Focal LLVM 10 toolchain package was prior to this suppression being added: https://changelogs.ubuntu.com/changelogs/pool/main/l/llvm-toolchain-10/llvm-toolchain-10_10.0.0-4ubuntu1/changelog.

  16. maflcko commented at 11:58 am on December 29, 2022: member

    https://cirrus-ci.com/task/6614284264800256?logs=ci#L3512

      0interface_bitcoin_cli.py --legacy-wallet               |  Failed  | 19 s
      1ALL                                                    |  Failed  | 3147 s (accumulated) 
      2Runtime: 346 s
      3==================
      4WARNING: ThreadSanitizer: data race (pid=37922)
      5  Write of size 8 at 0x7ba000000150 by thread T26 (mutexes: write M132180):
      6    [#0](/bitcoin-bitcoin/0/) closedir <null> (bitcoind+0xd9e28)
      7    [#1](/bitcoin-bitcoin/1/) leveldb::(anonymous namespace)::PosixEnv::GetChildren(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) src/leveldb/util/env_posix.cc:599:5 (bitcoind+0xa3f916)
      8    [#2](/bitcoin-bitcoin/2/) leveldb::DBImpl::DeleteObsoleteFiles() src/leveldb/db/db_impl.cc:237:9 (bitcoind+0xa090a5)
      9    [#3](/bitcoin-bitcoin/3/) leveldb::DBImpl::BackgroundCompaction() src/leveldb/db/db_impl.cc:752:5 (bitcoind+0xa0ce5d)
     10    [#4](/bitcoin-bitcoin/4/) leveldb::DBImpl::BackgroundCall() src/leveldb/db/db_impl.cc:687:5 (bitcoind+0xa0c7bf)
     11    [#5](/bitcoin-bitcoin/5/) leveldb::DBImpl::BGWork(void*) src/leveldb/db/db_impl.cc:676:34 (bitcoind+0xa0c6fb)
     12    [#6](/bitcoin-bitcoin/6/) leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadMain() src/leveldb/util/env_posix.cc:830:5 (bitcoind+0xa438b3)
     13    [#7](/bitcoin-bitcoin/7/) leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadEntryPoint(leveldb::(anonymous namespace)::PosixEnv*) src/leveldb/util/env_posix.cc:736:10 (bitcoind+0xa438b3)
     14    [#8](/bitcoin-bitcoin/8/) decltype(static_cast<void (*>(fp)(static_cast<leveldb::(anonymous namespace)::PosixEnv*>(fp0))) std::__1::__invoke<void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*>(void (*&&)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0xa43ab0)
     15    [#9](/bitcoin-bitcoin/9/) void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-13/bin/../include/c++/v1/thread:280:5 (bitcoind+0xa43ab0)
     16    [#10](/bitcoin-bitcoin/10/) void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*> >(void*) /usr/lib/llvm-13/bin/../include/c++/v1/thread:291:5 (bitcoind+0xa43ab0)
     17  Previous read of size 8 at 0x7ba000000150 by thread T17 (mutexes: write M131565):
     18    [#0](/bitcoin-bitcoin/0/) epoll_ctl <null> (bitcoind+0xda1a5)
     19    [#1](/bitcoin-bitcoin/1/) epoll_apply_one_change epoll.c (bitcoind+0xb76c43)
     20    [#2](/bitcoin-bitcoin/2/) decltype(static_cast<bool (*>(fp)(static_cast<event_base*>(fp0))) std::__1::__invoke<bool (*)(event_base*), event_base*>(bool (*&&)(event_base*), event_base*&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x582500)
     21    [#3](/bitcoin-bitcoin/3/) void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, bool (*)(event_base*), event_base*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, bool (*)(event_base*), event_base*>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-13/bin/../include/c++/v1/thread:280:5 (bitcoind+0x582500)
     22    [#4](/bitcoin-bitcoin/4/) void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, bool (*)(event_base*), event_base*> >(void*) /usr/lib/llvm-13/bin/../include/c++/v1/thread:291:5 (bitcoind+0x582500)
     23  Location is file descriptor 21 created by main thread at:
     24    [failed to restore the stack]
     25  Mutex M132180 (0x7b580000c0c0) created at:
     26    [#0](/bitcoin-bitcoin/0/) pthread_mutex_lock <null> (bitcoind+0xf1638)
     27    [#1](/bitcoin-bitcoin/1/) std::__1::mutex::lock() <null> (libc++.so.1+0x49f35)
     28    [#2](/bitcoin-bitcoin/2/) CDBWrapper::CDBWrapper(fs::path const&, unsigned long, bool, bool, bool) src/dbwrapper.cpp:156:30 (bitcoind+0x55725f)
     29    [#3](/bitcoin-bitcoin/3/) std::__1::__unique_if<CDBWrapper>::__unique_single std::__1::make_unique<CDBWrapper, fs::path&, unsigned long&, bool&, bool, bool>(fs::path&, unsigned long&, bool&, bool&&, bool&&) /usr/lib/llvm-13/bin/../include/c++/v1/__memory/unique_ptr.h:728:32 (bitcoind+0x474f0e)
     30    [#4](/bitcoin-bitcoin/4/) CCoinsViewDB::ResizeCache(unsigned long) src/txdb.cpp:86:16 (bitcoind+0x474f0e)
     31    [#5](/bitcoin-bitcoin/5/) Chainstate::ResizeCoinsCaches(unsigned long, unsigned long) src/validation.cpp:4761:15 (bitcoind+0x4e095c)
     32    [#6](/bitcoin-bitcoin/6/) ChainstateManager::MaybeRebalanceCaches() src/validation.cpp:5223:27 (bitcoind+0x4e4957)
     33    [#7](/bitcoin-bitcoin/7/) node::LoadChainstate(ChainstateManager&, node::CacheSizes const&, node::ChainstateLoadOptions const&) src/node/chainstate.cpp:168:14 (bitcoind+0x265475)
     34    [#8](/bitcoin-bitcoin/8/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_4::operator()() const src/init.cpp:1501:61 (bitcoind+0x16ad1b)
     35    [#9](/bitcoin-bitcoin/9/) auto AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_3::operator()<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_4>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_4&&) const src/init.cpp:1495:24 (bitcoind+0x16ad1b)
     36    [#10](/bitcoin-bitcoin/10/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1501:32 (bitcoind+0x163fa0)
     37    [#11](/bitcoin-bitcoin/11/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:234:43 (bitcoind+0x14ade9)
     38    [#12](/bitcoin-bitcoin/12/) main src/bitcoind.cpp:278:13 (bitcoind+0x14ade9)
     39  Mutex M131565 (0x7b0c0001c860) created at:
     40    [#0](/bitcoin-bitcoin/0/) pthread_mutex_init <null> (bitcoind+0xd5acf)
     41    [#1](/bitcoin-bitcoin/1/) evthread_posix_lock_alloc evthread_pthread.c (bitcoind+0xb5ea5f)
     42    [#2](/bitcoin-bitcoin/2/) AppInitServers(node::NodeContext&) src/init.cpp:649:10 (bitcoind+0x169a4c)
     43    [#3](/bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1186:14 (bitcoind+0x161035)
     44    [#4](/bitcoin-bitcoin/4/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:234:43 (bitcoind+0x14ade9)
     45    [#5](/bitcoin-bitcoin/5/) main src/bitcoind.cpp:278:13 (bitcoind+0x14ade9)
     46  Thread T26 (tid=38391, running) created by thread T18 at:
     47    [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xd435d)
     48    [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-13/bin/../include/c++/v1/__threading_support:443:10 (bitcoind+0xa40653)
     49    [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<void (&)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*, void>(void (&)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*&&) /usr/lib/llvm-13/bin/../include/c++/v1/thread:307:16 (bitcoind+0xa40653)
     50    [#3](/bitcoin-bitcoin/3/) leveldb::(anonymous namespace)::PosixEnv::Schedule(void (*)(void*), void*) src/leveldb/util/env_posix.cc:802:17 (bitcoind+0xa40653)
     51    [#4](/bitcoin-bitcoin/4/) leveldb::DBImpl::MaybeScheduleCompaction() src/leveldb/db/db_impl.cc:671:11 (bitcoind+0xa0fd22)
     52    [#5](/bitcoin-bitcoin/5/) leveldb::DBImpl::Get(leveldb::ReadOptions const&, leveldb::Slice const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) src/leveldb/db/db_impl.cc:1150:5 (bitcoind+0xa0fd22)
     53    [#6](/bitcoin-bitcoin/6/) bool CDBWrapper::Read<(anonymous namespace)::CoinEntry, Coin>((anonymous namespace)::CoinEntry const&, Coin&) const src/./dbwrapper.h:256:39 (bitcoind+0x4750e6)
     54    [#7](/bitcoin-bitcoin/7/) CCoinsViewDB::GetCoin(COutPoint const&, Coin&) const src/txdb.cpp:92:18 (bitcoind+0x4750e6)
     55    [#8](/bitcoin-bitcoin/8/) CCoinsViewBacked::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:26:92 (bitcoind+0x8306a4)
     56    [#9](/bitcoin-bitcoin/9/) CCoinsViewErrorCatcher::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:297:34 (bitcoind+0x8306a4)
     57    [#10](/bitcoin-bitcoin/10/) CCoinsViewCache::FetchCoin(COutPoint const&) const src/coins.cpp:46:16 (bitcoind+0x82dda3)
     58    [#11](/bitcoin-bitcoin/11/) CCoinsViewCache::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:59:36 (bitcoind+0x82def0)
     59    [#12](/bitcoin-bitcoin/12/) CCoinsViewCache::FetchCoin(COutPoint const&) const src/coins.cpp:46:16 (bitcoind+0x82dda3)
     60    [#13](/bitcoin-bitcoin/13/) CCoinsViewCache::HaveCoin(COutPoint const&) const src/coins.cpp:160:36 (bitcoind+0x82f452)
     61    [#14](/bitcoin-bitcoin/14/) Chainstate::ConnectBlock(CBlock const&, BlockValidationState&, CBlockIndex*, CCoinsViewCache&, bool) src/validation.cpp:2148:26 (bitcoind+0x4c0e44)
     62    [#15](/bitcoin-bitcoin/15/) TestBlockValidity(BlockValidationState&, CChainParams const&, Chainstate&, CBlock const&, CBlockIndex*, std::__1::function<std::__1::chrono::time_point<NodeClock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > ()> const&, bool, bool) src/validation.cpp:3957:21 (bitcoind+0x4d86b9)
     63    [#16](/bitcoin-bitcoin/16/) node::BlockAssembler::CreateNewBlock(CScript const&) src/node/miner.cpp:173:10 (bitcoind+0x5b3b9b)
     64    [#17](/bitcoin-bitcoin/17/) generateBlocks(ChainstateManager&, CTxMemPool const&, CScript const&, int, unsigned long) src/rpc/mining.cpp:147:110 (bitcoind+0x398b1d)
     65    [#18](/bitcoin-bitcoin/18/) generatetoaddress()::$_3::operator()(RPCHelpMan const&, JSONRPCRequest const&) const src/rpc/mining.cpp:280:12 (bitcoind+0x39885d)
     66    [#19](/bitcoin-bitcoin/19/) decltype(static_cast<generatetoaddress()::$_3&>(fp)(static_cast<RPCHelpMan const&>(fp0), static_cast<JSONRPCRequest const&>(fp0))) std::__1::__invoke<generatetoaddress()::$_3&, RPCHelpMan const&, JSONRPCRequest const&>(generatetoaddress()::$_3&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x39885d)
     67    [#20](/bitcoin-bitcoin/20/) UniValue std::__1::__invoke_void_return_wrapper<UniValue, false>::__call<generatetoaddress()::$_3&, RPCHelpMan const&, JSONRPCRequest const&>(generatetoaddress()::$_3&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/invoke.h:30:16 (bitcoind+0x39885d)
     68    [#21](/bitcoin-bitcoin/21/) std::__1::__function::__alloc_func<generatetoaddress()::$_3, std::__1::allocator<generatetoaddress()::$_3>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:171:16 (bitcoind+0x39885d)
     69    [#22](/bitcoin-bitcoin/22/) std::__1::__function::__func<generatetoaddress()::$_3, std::__1::allocator<generatetoaddress()::$_3>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:345:12 (bitcoind+0x39885d)
     70    [#23](/bitcoin-bitcoin/23/) std::__1::__function::__value_func<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:498:16 (bitcoind+0x8aca4f)
     71    [#24](/bitcoin-bitcoin/24/) std::__1::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:1175:12 (bitcoind+0x8aca4f)
     72    [#25](/bitcoin-bitcoin/25/) RPCHelpMan::HandleRequest(JSONRPCRequest const&) const src/rpc/util.cpp:582:26 (bitcoind+0x8aca4f)
     73    [#26](/bitcoin-bitcoin/26/) CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const src/./rpc/server.h:109:91 (bitcoind+0x34b017)
     74    [#27](/bitcoin-bitcoin/27/) decltype(static_cast<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&>(fp)(static_cast<JSONRPCRequest const&>(fp0), static_cast<UniValue&>(fp0), static_cast<bool>(fp0))) std::__1::__invoke<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x34b017)
     75    [#28](/bitcoin-bitcoin/28/) bool std::__1::__invoke_void_return_wrapper<bool, false>::__call<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/invoke.h:30:16 (bitcoind+0x34b017)
     76    [#29](/bitcoin-bitcoin/29/) std::__1::__function::__alloc_func<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:171:16 (bitcoind+0x34b017)
     77    [#30](/bitcoin-bitcoin/30/) std::__1::__function::__func<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:345:12 (bitcoind+0x34b017)
     78    [#31](/bitcoin-bitcoin/31/) std::__1::__function::__value_func<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool&&) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:498:16 (bitcoind+0x43e9ef)
     79    [#32](/bitcoin-bitcoin/32/) std::__1::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:1175:12 (bitcoind+0x43e9ef)
     80    [#33](/bitcoin-bitcoin/33/) ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) src/rpc/server.cpp:504:20 (bitcoind+0x43e9ef)
     81    [#34](/bitcoin-bitcoin/34/) ExecuteCommands(std::__1::vector<CRPCCommand const*, std::__1::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) src/rpc/server.cpp:469:13 (bitcoind+0x43e9ef)
     82    [#35](/bitcoin-bitcoin/35/) CRPCTable::execute(JSONRPCRequest const&) const src/rpc/server.cpp:489:13 (bitcoind+0x43e660)
     83    [#36](/bitcoin-bitcoin/36/) HTTPReq_JSONRPC(std::__1::any const&, HTTPRequest*) src/httprpc.cpp:201:40 (bitcoind+0x570b16)
     84    [#37](/bitcoin-bitcoin/37/) StartHTTPRPC(std::__1::any const&)::$_0::operator()(HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const src/httprpc.cpp:300:80 (bitcoind+0x570b16)
     85    [#38](/bitcoin-bitcoin/38/) decltype(static_cast<StartHTTPRPC(std::__1::any const&)::$_0&>(fp)(static_cast<HTTPRequest*>(fp0), static_cast<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(fp0))) std::__1::__invoke<StartHTTPRPC(std::__1::any const&)::$_0&, HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(StartHTTPRPC(std::__1::any const&)::$_0&, HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x570b16)
     86    [#39](/bitcoin-bitcoin/39/) bool std::__1::__invoke_void_return_wrapper<bool, false>::__call<StartHTTPRPC(std::__1::any const&)::$_0&, HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(StartHTTPRPC(std::__1::any const&)::$_0&, HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/invoke.h:30:16 (bitcoind+0x570b16)
     87    [#40](/bitcoin-bitcoin/40/) std::__1::__function::__alloc_func<StartHTTPRPC(std::__1::any const&)::$_0, std::__1::allocator<StartHTTPRPC(std::__1::any const&)::$_0>, bool (HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::operator()(HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:171:16 (bitcoind+0x570b16)
     88    [#41](/bitcoin-bitcoin/41/) std::__1::__function::__func<StartHTTPRPC(std::__1::any const&)::$_0, std::__1::allocator<StartHTTPRPC(std::__1::any const&)::$_0>, bool (HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::operator()(HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:345:12 (bitcoind+0x570b16)
     89    [#42](/bitcoin-bitcoin/42/) std::__1::__function::__value_func<bool (HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::operator()(HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:498:16 (bitcoind+0x57f8b0)
     90    [#43](/bitcoin-bitcoin/43/) std::__1::function<bool (HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::operator()(HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:1175:12 (bitcoind+0x57f8b0)
     91    [#44](/bitcoin-bitcoin/44/) HTTPWorkItem::operator()() src/httpserver.cpp:56:9 (bitcoind+0x57f8b0)
     92    [#45](/bitcoin-bitcoin/45/) WorkQueue<HTTPClosure>::Run() src/httpserver.cpp:111:13 (bitcoind+0x5820f3)
     93    [#46](/bitcoin-bitcoin/46/) HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) src/httpserver.cpp:340:12 (bitcoind+0x5799ea)
     94    [#47](/bitcoin-bitcoin/47/) decltype(static_cast<void (*>(fp)(static_cast<WorkQueue<HTTPClosure>*>(fp0), static_cast<int>(fp0))) std::__1::__invoke<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(void (*&&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x582d65)
     95    [#48](/bitcoin-bitcoin/48/) void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-13/bin/../include/c++/v1/thread:280:5 (bitcoind+0x582d65)
     96    [#49](/bitcoin-bitcoin/49/) void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int> >(void*) /usr/lib/llvm-13/bin/../include/c++/v1/thread:291:5 (bitcoind+0x582d65)
     97  Thread T17 'b-http' (tid=37941, running) created by main thread at:
     98    [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xd435d)
     99    [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-13/bin/../include/c++/v1/__threading_support:443:10 (bitcoind+0x57d88e)
    100    [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<bool (&)(event_base*), event_base*&, void>(bool (&)(event_base*), event_base*&) /usr/lib/llvm-13/bin/../include/c++/v1/thread:307:16 (bitcoind+0x57d88e)
    101    [#3](/bitcoin-bitcoin/3/) StartHTTPServer() src/httpserver.cpp:427:21 (bitcoind+0x579546)
    102    [#4](/bitcoin-bitcoin/4/) AppInitServers(node::NodeContext&) src/init.cpp:656:5 (bitcoind+0x169b6e)
    103    [#5](/bitcoin-bitcoin/5/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1186:14 (bitcoind+0x161035)
    104    [#6](/bitcoin-bitcoin/6/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:234:43 (bitcoind+0x14ade9)
    105    [#7](/bitcoin-bitcoin/7/) main src/bitcoind.cpp:278:13 (bitcoind+0x14ade9)
    106SUMMARY: ThreadSanitizer: data race (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind+0xd9e28) in closedir
    107==================
    
  17. hebasto commented at 12:51 pm on December 29, 2022: member

    lgtm. The failure rate was low for this one, so even if it still happens, it will take some time to reproduce.

    Well. It did not take too much time (

  18. maflcko commented at 12:55 pm on December 29, 2022: member
    I just fail to reproduce locally. Maybe this only happens with a specific kernel version that Cirrus CI uses?
  19. hebasto commented at 2:18 pm on December 29, 2022: member

    I just fail to reproduce locally. Maybe this only happens with a specific kernel version that Cirrus CI uses?

    Neither do I.

    I’m curious whether https://github.com/llvm/llvm-project/commit/16baf59c6d0b3bf7392995e3e55fc9e2ba9cb5e7 fixes the TSan’s bug? If so, than this PR must be reverted until using clang-15.

  20. sidhujag referenced this in commit 42fa7e477c on Dec 29, 2022
  21. maflcko referenced this in commit e9e2e87c85 on Dec 29, 2022
  22. bitcoin locked this on Dec 29, 2023

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-08 22:13 UTC

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