test: Remove unused sanitizer suppressions #27498

pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2304-ubsan-sup- changing 2 files +3 −7
  1. maflcko commented at 10:14 AM on April 20, 2023: member

    No description provided.

  2. DrahtBot commented at 10:14 AM on April 20, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto, fanquake

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  3. DrahtBot added the label Tests on Apr 20, 2023
  4. maflcko force-pushed on Apr 20, 2023
  5. DrahtBot added the label CI failed on Apr 20, 2023
  6. maflcko added this to the milestone 26.0 on Apr 20, 2023
  7. in test/sanitizer_suppressions/ubsan:9 in 9999813e91 outdated
       4 | @@ -5,9 +5,6 @@
       5 |  # names can be used.
       6 |  # See https://github.com/google/sanitizers/issues/1364
       7 |  
       8 | -# https://github.com/bitcoin/bitcoin/pull/21798#issuecomment-829180719
       9 | -signed-integer-overflow:policy/feerate.cpp
    


    hebasto commented at 11:09 AM on April 20, 2023:

    was fixed in gcc-11 and later.

    Mind pointing at the actual fix if it is known?


    maflcko commented at 11:19 AM on April 20, 2023:

    I don't know for sure, but limiting the amounts or the previous fix to PrioritiseTransaction may have fixed it?

    In any case, I think it is good to remove it, even if the bug still exists. Otherwise it is harder to find and fix the bug.

  8. DrahtBot removed the label CI failed on Apr 20, 2023
  9. hebasto approved
  10. hebasto commented at 1:01 PM on April 20, 2023: member

    ACK 9999813e91b94e78ed65130478d9dcb6d787514f, I have reviewed the code and it looks OK, I agree it can be merged.

  11. maflcko renamed this:
    test: Remove unused signed-integer-overflow suppression
    test: Remove unused sanitizer suppressions
    on Apr 20, 2023
  12. maflcko force-pushed on Apr 20, 2023
  13. maflcko commented at 1:49 PM on April 20, 2023: member

    Force pushed to remove another unused one

  14. maflcko commented at 2:19 PM on April 20, 2023: member

    I am thinking about optimistically adding a commit to remove the epoll_ctl one as well. If it still reproduces, it can be re-added?

  15. fanquake commented at 2:21 PM on April 20, 2023: member

    Might as well have a go

  16. DrahtBot added the label CI failed on Apr 20, 2023
  17. DrahtBot removed the label CI failed on Apr 20, 2023
  18. DrahtBot added the label CI failed on Apr 20, 2023
  19. DrahtBot removed the label CI failed on Apr 20, 2023
  20. fanquake approved
  21. fanquake commented at 8:37 PM on April 20, 2023: member

    ACK fa5af4d510a8f129157db8b69a9a387036efb206

  22. DrahtBot requested review from hebasto on Apr 20, 2023
  23. maflcko commented at 7:42 AM on April 21, 2023: member

    CI is still red on epoll_ctl: https://cirrus-ci.com/task/5213026740076544?logs=ci#L3469

    (See also #20218#pullrequestreview-527579531)

    interface_bitcoin_cli.py --descriptors                 | ✖ Failed  | 7 s
    ALL                                                    | ✖ Failed  | 1944 s (accumulated) 
    Runtime: 210 s
    ==================
    WARNING: ThreadSanitizer: data race (pid=37965)
      Write of size 8 at 0x7bb000000300 by thread T26 (mutexes: write M0):
        [#0](/bitcoin-bitcoin/0/) closedir <null> (bitcoind+0xe0e97) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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+0xb58803) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#2](/bitcoin-bitcoin/2/) leveldb::DBImpl::DeleteObsoleteFiles() src/leveldb/db/db_impl.cc:237:9 (bitcoind+0xb1c124) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#3](/bitcoin-bitcoin/3/) leveldb::DBImpl::BackgroundCompaction() src/leveldb/db/db_impl.cc:752:5 (bitcoind+0xb20b65) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#4](/bitcoin-bitcoin/4/) leveldb::DBImpl::BackgroundCall() src/leveldb/db/db_impl.cc:687:5 (bitcoind+0xb201ef) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#5](/bitcoin-bitcoin/5/) leveldb::DBImpl::BGWork(void*) src/leveldb/db/db_impl.cc:676:34 (bitcoind+0xb2011b) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#6](/bitcoin-bitcoin/6/) leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadMain() src/leveldb/util/env_posix.cc:830:5 (bitcoind+0xb5c533) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#7](/bitcoin-bitcoin/7/) leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadEntryPoint(leveldb::(anonymous namespace)::PosixEnv*) src/leveldb/util/env_posix.cc:736:10 (bitcoind+0xb5c533)
        [#8](/bitcoin-bitcoin/8/) decltype(std::declval<void (*)(leveldb::(anonymous namespace)::PosixEnv*)>()(std::declval<leveldb::(anonymous namespace)::PosixEnv*>())) std::__1::__invoke[abi:v160000]<void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*>(void (*&&)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0xb5c718) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#9](/bitcoin-bitcoin/9/) void std::__1::__thread_execute[abi:v160000]<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-16/bin/../include/c++/v1/thread:282:5 (bitcoind+0xb5c718)
        [#10](/bitcoin-bitcoin/10/) void* std::__1::__thread_proxy[abi:v160000]<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-16/bin/../include/c++/v1/thread:293:5 (bitcoind+0xb5c718)
      Previous read of size 8 at 0x7bb000000300 by thread T17 (mutexes: write M1):
        [#0](/bitcoin-bitcoin/0/) epoll_ctl <null> (bitcoind+0xe12b6) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) epoll_apply_one_change epoll.c (bitcoind+0xc92147) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#2](/bitcoin-bitcoin/2/) decltype(std::declval<void (*)(event_base*)>()(std::declval<event_base*>())) std::__1::__invoke[abi:v160000]<void (*)(event_base*), event_base*>(void (*&&)(event_base*), event_base*&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x61d850) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#3](/bitcoin-bitcoin/3/) void std::__1::__thread_execute[abi:v160000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-16/bin/../include/c++/v1/thread:282:5 (bitcoind+0x61d850)
        [#4](/bitcoin-bitcoin/4/) void* std::__1::__thread_proxy[abi:v160000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*>>(void*) /usr/lib/llvm-16/bin/../include/c++/v1/thread:293:5 (bitcoind+0x61d850)
      Location is file descriptor 24 destroyed by thread T17 at:
        [#0](/bitcoin-bitcoin/0/) close <null> (bitcoind+0xe0042) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) evhttp_connection_free <null> (bitcoind+0xc93278) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#2](/bitcoin-bitcoin/2/) decltype(std::declval<void (*)(event_base*)>()(std::declval<event_base*>())) std::__1::__invoke[abi:v160000]<void (*)(event_base*), event_base*>(void (*&&)(event_base*), event_base*&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x61d850) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#3](/bitcoin-bitcoin/3/) void std::__1::__thread_execute[abi:v160000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-16/bin/../include/c++/v1/thread:282:5 (bitcoind+0x61d850)
        [#4](/bitcoin-bitcoin/4/) void* std::__1::__thread_proxy[abi:v160000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*>>(void*) /usr/lib/llvm-16/bin/../include/c++/v1/thread:293:5 (bitcoind+0x61d850)
      Mutex M0 (0x7b580000c0c0) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_lock <null> (bitcoind+0xdbe8b) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) std::__1::mutex::lock() <null> (libc++.so.1+0x523f5) (BuildId: bad43bd8da92e75d653a3e2c93d7f31df17b2926)
        [#2](/bitcoin-bitcoin/2/) CDBWrapper::CDBWrapper(DBParams const&) src/dbwrapper.cpp:156:30 (bitcoind+0x5efabc) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#3](/bitcoin-bitcoin/3/) std::__1::__unique_if<CDBWrapper>::__unique_single std::__1::make_unique[abi:v160000]<CDBWrapper, DBParams&>(DBParams&) /usr/lib/llvm-16/bin/../include/c++/v1/__memory/unique_ptr.h:686:30 (bitcoind+0x4f4d0e) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#4](/bitcoin-bitcoin/4/) CCoinsViewDB::ResizeCache(unsigned long) src/txdb.cpp:88:16 (bitcoind+0x4f4d0e)
        [#5](/bitcoin-bitcoin/5/) Chainstate::ResizeCoinsCaches(unsigned long, unsigned long) src/validation.cpp:4918:15 (bitcoind+0x5680a5) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#6](/bitcoin-bitcoin/6/) ChainstateManager::MaybeRebalanceCaches() src/validation.cpp:5541:27 (bitcoind+0x56c305) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#7](/bitcoin-bitcoin/7/) node::CompleteChainstateInitialization(ChainstateManager&, node::CacheSizes const&, node::ChainstateLoadOptions const&) src/node/chainstate.cpp:156:14 (bitcoind+0x296ce5) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#8](/bitcoin-bitcoin/8/) node::LoadChainstate(ChainstateManager&, node::CacheSizes const&, node::ChainstateLoadOptions const&) src/node/chainstate.cpp:190:38 (bitcoind+0x2948c1) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#9](/bitcoin-bitcoin/9/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_1::operator()() const src/init.cpp:1507:61 (bitcoind+0x18a3ab) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#10](/bitcoin-bitcoin/10/) auto AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_0::operator()<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_1>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_1&&) const src/init.cpp:1501:24 (bitcoind+0x18a3ab)
        [#11](/bitcoin-bitcoin/11/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1507:32 (bitcoind+0x182403) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#12](/bitcoin-bitcoin/12/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:222:43 (bitcoind+0x163737) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#13](/bitcoin-bitcoin/13/) main src/bitcoind.cpp:266:13 (bitcoind+0x163737)
      Mutex M1 (0x7b0c0001d010) created at:
        [#0](/bitcoin-bitcoin/0/) pthread_mutex_init <null> (bitcoind+0xdbb70) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) evthread_posix_lock_alloc evthread_pthread.c (bitcoind+0xc7a77f) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#2](/bitcoin-bitcoin/2/) AppInitServers(node::NodeContext&) src/init.cpp:662:10 (bitcoind+0x188d46) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#3](/bitcoin-bitcoin/3/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1187:14 (bitcoind+0x17ede8) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#4](/bitcoin-bitcoin/4/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:222:43 (bitcoind+0x163737) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#5](/bitcoin-bitcoin/5/) main src/bitcoind.cpp:266:13 (bitcoind+0x163737)
      Thread T26 (tid=38191, running) created by thread T18 at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xda1fb) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create[abi:v160000](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-16/bin/../include/c++/v1/__threading_support:378:10 (bitcoind+0xb593a8) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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-16/bin/../include/c++/v1/thread:309:16 (bitcoind+0xb593a8)
        [#3](/bitcoin-bitcoin/3/) leveldb::(anonymous namespace)::PosixEnv::Schedule(void (*)(void*), void*) src/leveldb/util/env_posix.cc:802:17 (bitcoind+0xb593a8)
        [#4](/bitcoin-bitcoin/4/) leveldb::DBImpl::MaybeScheduleCompaction() src/leveldb/db/db_impl.cc:671:11 (bitcoind+0xb23b6f) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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+0xb23b6f)
        [#6](/bitcoin-bitcoin/6/) bool CDBWrapper::Read<(anonymous namespace)::CoinEntry, Coin>((anonymous namespace)::CoinEntry const&, Coin&) const src/./dbwrapper.h:271:39 (bitcoind+0x4f4f10) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#7](/bitcoin-bitcoin/7/) CCoinsViewDB::GetCoin(COutPoint const&, Coin&) const src/txdb.cpp:93:18 (bitcoind+0x4f4f10)
        [#8](/bitcoin-bitcoin/8/) CCoinsViewBacked::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:26:92 (bitcoind+0x9095f3) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#9](/bitcoin-bitcoin/9/) CCoinsViewErrorCatcher::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:353:34 (bitcoind+0x9095f3)
        [#10](/bitcoin-bitcoin/10/) CCoinsViewCache::FetchCoin(COutPoint const&) const src/coins.cpp:49:16 (bitcoind+0x9071cc) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#11](/bitcoin-bitcoin/11/) CCoinsViewCache::GetCoin(COutPoint const&, Coin&) const src/coins.cpp:62:36 (bitcoind+0x907335) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#12](/bitcoin-bitcoin/12/) CCoinsViewCache::FetchCoin(COutPoint const&) const src/coins.cpp:49:16 (bitcoind+0x9071cc) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#13](/bitcoin-bitcoin/13/) CCoinsViewCache::HaveCoin(COutPoint const&) const src/coins.cpp:163:36 (bitcoind+0x90829f) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#14](/bitcoin-bitcoin/14/) Chainstate::ConnectBlock(CBlock const&, BlockValidationState&, CBlockIndex*, CCoinsViewCache&, bool) src/validation.cpp:2231:26 (bitcoind+0x541f14) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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:4087:21 (bitcoind+0x55df5e) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#16](/bitcoin-bitcoin/16/) node::BlockAssembler::CreateNewBlock(CScript const&) src/node/miner.cpp:172:43 (bitcoind+0x64c810) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#17](/bitcoin-bitcoin/17/) generateBlocks(ChainstateManager&, CTxMemPool const&, CScript const&, int, unsigned long) src/rpc/mining.cpp:149:110 (bitcoind+0x403e05) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#18](/bitcoin-bitcoin/18/) generatetoaddress()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const src/rpc/mining.cpp:281:12 (bitcoind+0x403b16) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#19](/bitcoin-bitcoin/19/) decltype(std::declval<generatetoaddress()::$_0&>()(std::declval<RPCHelpMan const&>(), std::declval<JSONRPCRequest const&>())) std::__1::__invoke[abi:v160000]<generatetoaddress()::$_0&, RPCHelpMan const&, JSONRPCRequest const&>(generatetoaddress()::$_0&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x403b16)
        [#20](/bitcoin-bitcoin/20/) UniValue std::__1::__invoke_void_return_wrapper<UniValue, false>::__call<generatetoaddress()::$_0&, RPCHelpMan const&, JSONRPCRequest const&>(generatetoaddress()::$_0&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:478:16 (bitcoind+0x403b16)
        [#21](/bitcoin-bitcoin/21/) std::__1::__function::__alloc_func<generatetoaddress()::$_0, std::__1::allocator<generatetoaddress()::$_0>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()[abi:v160000](RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:185:16 (bitcoind+0x403b16)
        [#22](/bitcoin-bitcoin/22/) std::__1::__function::__func<generatetoaddress()::$_0, std::__1::allocator<generatetoaddress()::$_0>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:356:12 (bitcoind+0x403b16)
        [#23](/bitcoin-bitcoin/23/) std::__1::__function::__value_func<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()[abi:v160000](RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:510:16 (bitcoind+0x98fa1f) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#24](/bitcoin-bitcoin/24/) std::__1::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:1156:12 (bitcoind+0x98fa1f)
        [#25](/bitcoin-bitcoin/25/) RPCHelpMan::HandleRequest(JSONRPCRequest const&) const src/rpc/util.cpp:570:20 (bitcoind+0x98fa1f)
        [#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+0x3a5aed) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#27](/bitcoin-bitcoin/27/) decltype(std::declval<CRPCCommand::CRPCCommand(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)&>()(std::declval<JSONRPCRequest const&>(), std::declval<UniValue&>(), std::declval<bool>())) std::__1::__invoke[abi:v160000]<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-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x3a599b) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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-16/bin/../include/c++/v1/__functional/invoke.h:478:16 (bitcoind+0x3a599b)
        [#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()[abi:v160000](JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:185:16 (bitcoind+0x3a599b)
        [#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-16/bin/../include/c++/v1/__functional/function.h:356:12 (bitcoind+0x3a599b)
        [#31](/bitcoin-bitcoin/31/) std::__1::__function::__value_func<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:v160000](JSONRPCRequest const&, UniValue&, bool&&) const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:510:16 (bitcoind+0x4bc621) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#32](/bitcoin-bitcoin/32/) std::__1::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:1156:12 (bitcoind+0x4bc621)
        [#33](/bitcoin-bitcoin/33/) ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) src/rpc/server.cpp:505:20 (bitcoind+0x4bc621)
        [#34](/bitcoin-bitcoin/34/) ExecuteCommands(std::__1::vector<CRPCCommand const*, std::__1::allocator<CRPCCommand const*>> const&, JSONRPCRequest const&, UniValue&) src/rpc/server.cpp:470:13 (bitcoind+0x4bc621)
        [#35](/bitcoin-bitcoin/35/) CRPCTable::execute(JSONRPCRequest const&) const src/rpc/server.cpp:490:13 (bitcoind+0x4bc222) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#36](/bitcoin-bitcoin/36/) HTTPReq_JSONRPC(std::__1::any const&, HTTPRequest*) src/httprpc.cpp:201:40 (bitcoind+0x6096af) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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+0x6096af)
        [#38](/bitcoin-bitcoin/38/) decltype(std::declval<StartHTTPRPC(std::__1::any const&)::$_0&>()(std::declval<HTTPRequest*>(), std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>())) std::__1::__invoke[abi:v160000]<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-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x6096af)
        [#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-16/bin/../include/c++/v1/__functional/invoke.h:478:16 (bitcoind+0x6096af)
        [#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()[abi:v160000](HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:185:16 (bitcoind+0x6096af)
        [#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-16/bin/../include/c++/v1/__functional/function.h:356:12 (bitcoind+0x6096af)
        [#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()[abi:v160000](HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:510:16 (bitcoind+0x61b6f0) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#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-16/bin/../include/c++/v1/__functional/function.h:1156:12 (bitcoind+0x61b6f0)
        [#44](/bitcoin-bitcoin/44/) HTTPWorkItem::operator()() src/httpserver.cpp:59:9 (bitcoind+0x61b6f0)
        [#45](/bitcoin-bitcoin/45/) WorkQueue<HTTPClosure>::Run() src/httpserver.cpp:114:13 (bitcoind+0x61d4a7) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#46](/bitcoin-bitcoin/46/) HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) src/httpserver.cpp:357:12 (bitcoind+0x613e24) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#47](/bitcoin-bitcoin/47/) decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:v160000]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(void (*&&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (bitcoind+0x61de67) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#48](/bitcoin-bitcoin/48/) void std::__1::__thread_execute[abi:v160000]<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-16/bin/../include/c++/v1/thread:282:5 (bitcoind+0x61de67)
        [#49](/bitcoin-bitcoin/49/) void* std::__1::__thread_proxy[abi:v160000]<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-16/bin/../include/c++/v1/thread:293:5 (bitcoind+0x61de67)
      Thread T17 'b-http' (tid=37992, running) created by main thread at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (bitcoind+0xda1fb) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create[abi:v160000](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-16/bin/../include/c++/v1/__threading_support:378:10 (bitcoind+0x619092) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<void (&)(event_base*), event_base*&, void>(void (&)(event_base*), event_base*&) /usr/lib/llvm-16/bin/../include/c++/v1/thread:309:16 (bitcoind+0x619092)
        [#3](/bitcoin-bitcoin/3/) StartHTTPServer() src/httpserver.cpp:444:21 (bitcoind+0x613853) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#4](/bitcoin-bitcoin/4/) AppInitServers(node::NodeContext&) src/init.cpp:669:5 (bitcoind+0x188edf) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#5](/bitcoin-bitcoin/5/) AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1187:14 (bitcoind+0x17ede8) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#6](/bitcoin-bitcoin/6/) AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:222:43 (bitcoind+0x163737) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3)
        [#7](/bitcoin-bitcoin/7/) main src/bitcoind.cpp:266:13 (bitcoind+0x163737)
    SUMMARY: ThreadSanitizer: data race (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bitcoind+0xe0e97) (BuildId: fcf645b68d9aefc406c59edc74635a9769b0fab3) in closedir
    ==================
    
  24. test: Remove unused sanitizer suppressions
    * The GCC suppression was fixed in gcc-11, which is available on all LTS
      releases of Linux distros.
    * The feerate suppression was likely fixed and does not trigger anymore.
      If it was to trigger again, the underlying bug should be fixed instead
      of suppressing it.
    * The bench suppression does not trigger anymore.
    
    Also, add comments to tsan suppressions on how to reproduce.
    fa15a9934e
  25. maflcko force-pushed on Apr 21, 2023
  26. maflcko commented at 9:19 AM on April 21, 2023: member

    Reverted the last commit, should be good to go now.

  27. hebasto approved
  28. hebasto commented at 10:09 AM on April 21, 2023: member

    ACK fa15a9934ee1d331737c631e6ffc2ddfafaddb7f

    Nice to see the updated comments with TSan logs.

  29. DrahtBot requested review from fanquake on Apr 21, 2023
  30. fanquake approved
  31. fanquake commented at 10:24 AM on April 21, 2023: member

    ACK fa15a9934ee1d331737c631e6ffc2ddfafaddb7f

  32. fanquake merged this on Apr 21, 2023
  33. fanquake closed this on Apr 21, 2023

  34. maflcko deleted the branch on Apr 21, 2023
  35. sidhujag referenced this in commit ed4af7f407 on Apr 21, 2023
  36. bitcoin locked this on Apr 20, 2024
Labels

Milestone
26.0


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-24 06:14 UTC

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