Skip to content

[NO MERGE]: TSAN should fail #33081

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

fanquake
Copy link
Member

@DrahtBot
Copy link
Contributor

DrahtBot commented Jul 28, 2025

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

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33081.

Reviews

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

@fanquake
Copy link
Member Author

[15:14:29.653]  node0 2025-07-28T19:14:23.812588Z [httpworker.12] [wallet/wallet.h:945] [void wallet::CWallet::WalletLogPrintf(util::ConstevalFormatString<sizeof...(Params)>, const Params &...) const [Params = <std::string>]] [w3] Releasing wallet w3.. 
[15:14:29.653]  test  2025-07-28T19:14:28.406783Z TestFramework (ERROR): Unexpected exception 
[15:14:29.653]                                    Traceback (most recent call last):
[15:14:29.653]                                      File "/ci_container_base/test/functional/test_framework/test_framework.py", line 195, in main
[15:14:29.653]                                        self.run_test()
[15:14:29.653]                                      File "/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/test/functional/wallet_multiwallet.py", line 367, in run_test
[15:14:29.653]                                        self.nodes[0].unloadwallet(wallet_name)
[15:14:29.653]                                      File "/ci_container_base/test/functional/test_framework/coverage.py", line 50, in __call__
[15:14:29.653]                                        return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
[15:14:29.653]                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[15:14:29.653]                                      File "/ci_container_base/test/functional/test_framework/authproxy.py", line 137, in __call__
[15:14:29.653]                                        response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
[15:14:29.653]                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[15:14:29.653]                                      File "/ci_container_base/test/functional/test_framework/authproxy.py", line 111, in _request
[15:14:29.653]                                        return self._get_response()
[15:14:29.653]                                               ^^^^^^^^^^^^^^^^^^^^
[15:14:29.653]                                      File "/ci_container_base/test/functional/test_framework/authproxy.py", line 174, in _get_response
[15:14:29.653]                                        http_response = self.__conn.getresponse()
[15:14:29.653]                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[15:14:29.653]                                      File "/usr/lib/python3.12/http/client.py", line 1428, in getresponse
[15:14:29.653]                                        response.begin()
[15:14:29.653]                                      File "/usr/lib/python3.12/http/client.py", line 331, in begin
[15:14:29.653]                                        version, status, reason = self._read_status()
[15:14:29.653]                                                                  ^^^^^^^^^^^^^^^^^^^
[15:14:29.653]                                      File "/usr/lib/python3.12/http/client.py", line 300, in _read_status
[15:14:29.653]                                        raise RemoteDisconnected("Remote end closed connection without"
[15:14:29.653]                                    http.client.RemoteDisconnected: Remote end closed connection without response
[15:14:29.653]  test  2025-07-28T19:14:28.430391Z TestFramework (DEBUG): Closing down network thread 
[15:14:29.653]  test  2025-07-28T19:14:28.485038Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later. 
[15:14:29.653]  test  2025-07-28T19:14:28.485364Z TestFramework (WARNING): Not cleaning up dir /ci_container_base/ci/scratch/test_runner/test_runner_₿_🏃_20250728_190728/wallet_multiwallet_242 
[15:14:29.653]  test  2025-07-28T19:14:28.485531Z TestFramework (ERROR): Test failed. Test logging available at /ci_container_base/ci/scratch/test_runner/test_runner_₿_🏃_20250728_190728/wallet_multiwallet_242/test_framework.log 
[15:14:29.653]  test  2025-07-28T19:14:28.485837Z TestFramework (ERROR): 
[15:14:29.653]  test  2025-07-28T19:14:28.486109Z TestFramework (ERROR): Hint: Call /ci_container_base/test/functional/combine_logs.py '/ci_container_base/ci/scratch/test_runner/test_runner_₿_🏃_20250728_190728/wallet_multiwallet_242' to consolidate all logs 
[15:14:29.653]  test  2025-07-28T19:14:28.486278Z TestFramework (ERROR): 
[15:14:29.653]  test  2025-07-28T19:14:28.486406Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log. 
[15:14:29.653]  test  2025-07-28T19:14:28.486569Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues 
[15:14:29.653]  test  2025-07-28T19:14:28.493847Z TestFramework (ERROR): 
[15:14:29.653] 
[15:14:29.653]  node0 stderr Error: Specified -walletdir "wallets" is a relative path 
[15:14:29.653]  node0 stderr Error: Invalid -wallet path 'w8_symlink'. -wallet path should point to a directory where wallet.dat and database/log.?????????? files can be stored, a location where such a directory could be created, or (for backwards compatibility) the name of an existing data file in -walletdir ("/ci_container_base/ci/scratch/test_runner/test_runner_₿_🏃_20250728_190728/wallet_multiwallet_242/node0/regtest/wallets") 
[15:14:29.653]  node0 stderr Error: Specified -walletdir "/ci_container_base/ci/scratch/test_runner/test_runner_₿_🏃_20250728_190728/wallet_multiwallet_242/node0/regtest/wallets/notadir" is not a directory 
[15:14:29.653]  node0 stderr ==================
[15:14:29.653] WARNING: ThreadSanitizer: data race (pid=17879)
[15:14:29.653]   Write of size 8 at 0x720c00027540 by thread T1 (mutexes: write M0):
[15:14:29.653]     #0 operator delete(void*, unsigned long) <null> (bitcoind+0x19817c) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #1 void std::__1::__libcpp_operator_delete[abi:ne200100]<std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>*, unsigned long>(std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>*, unsigned long) /usr/lib/llvm-20/bin/../include/c++/v1/__new/allocate.h:46:3 (bitcoind+0x851570) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #2 void std::__1::__libcpp_deallocate[abi:ne200100]<std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>>(std::__1::__type_identity<std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>>::type*, std::__1::__element_count, unsigned long) /usr/lib/llvm-20/bin/../include/c++/v1/__new/allocate.h:86:12 (bitcoind+0x851570)
[15:14:29.653]     #3 std::__1::allocator<std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>>::deallocate[abi:ne200100](std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>*, unsigned long) /usr/lib/llvm-20/bin/../include/c++/v1/__memory/allocator.h:120:7 (bitcoind+0x851570)
[15:14:29.653]     #4 std::__1::__shared_ptr_pointer<wallet::CWallet*, void (*)(wallet::CWallet*), std::__1::allocator<wallet::CWallet>>::__on_zero_shared_weak() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_ptr.h:134:7 (bitcoind+0x851570)
[15:14:29.653]     #5 std::__1::weak_ptr<wallet::CWallet>::~weak_ptr() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_ptr.h:1315:15 (bitcoind+0x9154aa) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #6 wallet::walletpassphrase()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda'()::~() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/wallet/./wallet/rpc/encrypt.cpp:102:40 (bitcoind+0x9154aa)
[15:14:29.653]     #7 std::__1::__function::__alloc_func<wallet::walletpassphrase()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda'(), std::__1::allocator<wallet::walletpassphrase()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda'()>, void ()>::destroy[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:181:14 (bitcoind+0x9154aa)
[15:14:29.653]     #8 std::__1::__function::__func<wallet::walletpassphrase()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda'(), std::__1::allocator<wallet::walletpassphrase()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda'()>, void ()>::destroy() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:305:8 (bitcoind+0x9154aa)
[15:14:29.653]     #9 std::__1::__function::__value_func<void ()>::~__value_func[abi:ne200100]() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./scheduler.h (bitcoind+0xb7f9e7) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #10 std::__1::function<void ()>::~function() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:986:43 (bitcoind+0xb7f9e7)
[15:14:29.653]     #11 CScheduler::serviceQueue() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./scheduler.cpp:62:9 (bitcoind+0xb7f9e7)
[15:14:29.653]     #12 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./init.cpp:1366:94 (bitcoind+0x1c6b45) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #13 decltype(std::declval<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>()()) std::__1::__invoke[abi:ne200100]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x1c6b45)
[15:14:29.653]     #14 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne200100]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:251:5 (bitcoind+0x1c6b45)
[15:14:29.653]     #15 void std::__1::__invoke_r[abi:ne200100]<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x1c6b45)
[15:14:29.653]     #16 std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x1c6b45)
[15:14:29.653]     #17 std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x1c6b45)
[15:14:29.653]     #18 std::__1::__function::__value_func<void ()>::operator()[abi:ne200100]() const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0xc71d02) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #19 std::__1::function<void ()>::operator()() const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0xc71d02)
[15:14:29.653]     #20 util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/util/./util/thread.cpp:21:9 (bitcoind+0xc71d02)
[15:14:29.653]     #21 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*)::$_7>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x1c673c) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #22 void std::__1::__thread_execute[abi:ne200100]<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*)::$_7, 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*)::$_7>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:199:3 (bitcoind+0x1c673c)
[15:14:29.653]     #23 void* std::__1::__thread_proxy[abi:ne200100]<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*)::$_7>>(void*) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:208:3 (bitcoind+0x1c673c)
[15:14:29.653] 
[15:14:29.653]   Previous read of size 8 at 0x720c00027540 by thread T4:
[15:14:29.653]     #0 std::__1::__shared_count::__release_shared[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_count.h:91:7 (bitcoind+0x7fbdb7) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #1 std::__1::__shared_weak_count::__release_shared[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_count.h:120:25 (bitcoind+0x7fbdb7)
[15:14:29.653]     #2 std::__1::shared_ptr<wallet::CWallet>::~shared_ptr[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_ptr.h:558:17 (bitcoind+0x7fbdb7)
[15:14:29.653]     #3 std::__1::shared_ptr<wallet::CWallet>::reset[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__memory/shared_ptr.h:608:50 (bitcoind+0x7fbdb7)
[15:14:29.653]     #4 wallet::WaitForDeleteWallet(std::__1::shared_ptr<wallet::CWallet>&&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/wallet/./wallet/wallet.cpp:264:12 (bitcoind+0x7fbdb7)
[15:14:29.653]     #5 wallet::unloadwallet()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/wallet/./wallet/rpc/wallet.cpp:483:5 (bitcoind+0x799ffe) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #6 decltype(std::declval<wallet::unloadwallet()::$_0&>()(std::declval<RPCHelpMan const&>(), std::declval<JSONRPCRequest const&>())) std::__1::__invoke[abi:ne200100]<wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&>(wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x799ffe)
[15:14:29.653]     #7 UniValue std::__1::__invoke_void_return_wrapper<UniValue, false>::__call[abi:ne200100]<wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&>(wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:243:12 (bitcoind+0x799ffe)
[15:14:29.653]     #8 UniValue std::__1::__invoke_r[abi:ne200100]<UniValue, wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&>(wallet::unloadwallet()::$_0&, RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x799ffe)
[15:14:29.653]     #9 std::__1::__function::__alloc_func<wallet::unloadwallet()::$_0, std::__1::allocator<wallet::unloadwallet()::$_0>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()[abi:ne200100](RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x799ffe)
[15:14:29.653]     #10 std::__1::__function::__func<wallet::unloadwallet()::$_0, std::__1::allocator<wallet::unloadwallet()::$_0>, UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x799ffe)
[15:14:29.653]     #11 std::__1::__function::__value_func<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()[abi:ne200100](RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0xb6479a) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #12 std::__1::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0xb6479a)
[15:14:29.653]     #13 RPCHelpMan::HandleRequest(JSONRPCRequest const&) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/util.cpp:663:20 (bitcoind+0xb6479a)
[15:14:29.653]     #14 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 /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/server.h:60:91 (bitcoind+0x44e3f8) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #15 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:ne200100]<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-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x44e3f8)
[15:14:29.653]     #16 bool std::__1::__invoke_void_return_wrapper<bool, false>::__call[abi:ne200100]<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-20/bin/../include/c++/v1/__type_traits/invoke.h:243:12 (bitcoind+0x44e3f8)
[15:14:29.653]     #17 bool std::__1::__invoke_r[abi:ne200100]<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>(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-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x44e3f8)
[15:14:29.653]     #18 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:ne200100](JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x44e3f8)
[15:14:29.653]     #19 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-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x44e3f8)
[15:14:29.653]     #20 std::__1::__function::__value_func<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:ne200100](JSONRPCRequest const&, UniValue&, bool&&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0x7476a1) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #21 std::__1::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0x7476a1)
[15:14:29.653]     #22 wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/wallet/./wallet/interfaces.cpp:562:24 (bitcoind+0x7476a1)
[15:14:29.653]     #23 decltype(std::declval<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&>()(std::declval<JSONRPCRequest const&>(), std::declval<UniValue&>(), std::declval<bool>())) std::__1::__invoke[abi:ne200100]<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x7476a1)
[15:14:29.653]     #24 bool std::__1::__invoke_void_return_wrapper<bool, false>::__call[abi:ne200100]<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:243:12 (bitcoind+0x7476a1)
[15:14:29.653]     #25 bool std::__1::__invoke_r[abi:ne200100]<bool, wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x7476a1)
[15:14:29.653]     #26 std::__1::__function::__alloc_func<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:ne200100](JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x7476a1)
[15:14:29.653]     #27 std::__1::__function::__func<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<wallet::(anonymous namespace)::WalletLoaderImpl::registerRpcs()::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x7476a1)
[15:14:29.653]     #28 std::__1::__function::__value_func<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:ne200100](JSONRPCRequest const&, UniValue&, bool&&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0x33b2fc) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #29 std::__1::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0x33b2fc)
[15:14:29.653]     #30 node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./node/interfaces.cpp:511:24 (bitcoind+0x33b2fc)
[15:14:29.653]     #31 decltype(std::declval<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&>()(std::declval<JSONRPCRequest const&>(), std::declval<UniValue&>(), std::declval<bool>())) std::__1::__invoke[abi:ne200100]<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x33b2fc)
[15:14:29.653]     #32 bool std::__1::__invoke_void_return_wrapper<bool, false>::__call[abi:ne200100]<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:243:12 (bitcoind+0x33b2fc)
[15:14:29.653]     #33 bool std::__1::__invoke_r[abi:ne200100]<bool, node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x33b2fc)
[15:14:29.653]     #34 std::__1::__function::__alloc_func<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:ne200100](JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x33b2fc)
[15:14:29.653]     #35 std::__1::__function::__func<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool), std::__1::allocator<node::(anonymous namespace)::RpcHandlerImpl::RpcHandlerImpl(CRPCCommand const&)::'lambda'(JSONRPCRequest const&, UniValue&, bool)>, bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool&&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x33b2fc)
[15:14:29.653]     #36 std::__1::__function::__value_func<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()[abi:ne200100](JSONRPCRequest const&, UniValue&, bool&&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0x5bb966) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #37 std::__1::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0x5bb966)
[15:14:29.653]     #38 ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/server.cpp:504:20 (bitcoind+0x5bb966)
[15:14:29.653]     #39 ExecuteCommands(std::__1::vector<CRPCCommand const*, std::__1::allocator<CRPCCommand const*>> const&, JSONRPCRequest const&, UniValue&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/server.cpp:471:13 (bitcoind+0x5bb966)
[15:14:29.653]     #40 CRPCTable::execute(JSONRPCRequest const&) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/server.cpp:491:13 (bitcoind+0x5ba527) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #41 JSONRPCExec(JSONRPCRequest const&, bool) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./rpc/server.cpp:347:31 (bitcoind+0x5b9af8) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #42 HTTPReq_JSONRPC(std::__1::any const&, HTTPRequest*) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httprpc.cpp:165:21 (bitcoind+0x6f853d) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #43 StartHTTPRPC(std::__1::any const&)::$_0::operator()(HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httprpc.cpp:337:80 (bitcoind+0x6f853d)
[15:14:29.653]     #44 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:ne200100]<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-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x6f853d)
[15:14:29.653]     #45 bool std::__1::__invoke_void_return_wrapper<bool, false>::__call[abi:ne200100]<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-20/bin/../include/c++/v1/__type_traits/invoke.h:243:12 (bitcoind+0x6f853d)
[15:14:29.653]     #46 bool std::__1::__invoke_r[abi:ne200100]<bool, 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-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x6f853d)
[15:14:29.653]     #47 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:ne200100](HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x6f853d)
[15:14:29.653]     #48 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-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x6f853d)
[15:14:29.653]     #49 std::__1::__function::__value_func<bool (HTTPRequest*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>::operator()[abi:ne200100](HTTPRequest*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0x707b10) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #50 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-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0x707b10)
[15:14:29.653]     #51 HTTPWorkItem::operator()() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httpserver.cpp:62:9 (bitcoind+0x707b10)
[15:14:29.653]     #52 WorkQueue<HTTPClosure>::Run() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httpserver.cpp:117:13 (bitcoind+0x70ab92) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #53 HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httpserver.cpp:419:12 (bitcoind+0x701550) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #54 decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(void (*&&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x70a9e7) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #55 void std::__1::__thread_execute[abi:ne200100]<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-20/bin/../include/c++/v1/__thread/thread.h:199:3 (bitcoind+0x70a9e7)
[15:14:29.653]     #56 void* std::__1::__thread_proxy[abi:ne200100]<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-20/bin/../include/c++/v1/__thread/thread.h:208:3 (bitcoind+0x70a9e7)
[15:14:29.653] 
[15:14:29.653]   Mutex M0 (0x722000000588) created at:
[15:14:29.653]     #0 pthread_mutex_trylock <null> (bitcoind+0x11562b) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #1 std::__1::mutex::try_lock() <null> (libc++.so.1+0x713ec) (BuildId: f575ed1f01c62175fefa8301ddd2ef94b8eab656)
[15:14:29.653]     #2 UniqueLock<AnnotatedMixin<std::__1::mutex>>::UniqueLock(AnnotatedMixin<std::__1::mutex>&, char const*, char const*, int, bool) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./sync.h:183:13 (bitcoind+0xb7f94a) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #3 CScheduler::serviceQueue() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./scheduler.cpp:25:5 (bitcoind+0xb7f94a)
[15:14:29.653]     #4 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./init.cpp:1366:94 (bitcoind+0x1c6b45) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #5 decltype(std::declval<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>()()) std::__1::__invoke[abi:ne200100]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x1c6b45)
[15:14:29.653]     #6 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne200100]<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:251:5 (bitcoind+0x1c6b45)
[15:14:29.653]     #7 void std::__1::__invoke_r[abi:ne200100]<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:273:10 (bitcoind+0x1c6b45)
[15:14:29.653]     #8 std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()[abi:ne200100]() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:167:12 (bitcoind+0x1c6b45)
[15:14:29.653]     #9 std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:319:10 (bitcoind+0x1c6b45)
[15:14:29.653]     #10 std::__1::__function::__value_func<void ()>::operator()[abi:ne200100]() const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:436:12 (bitcoind+0xc71d02) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #11 std::__1::function<void ()>::operator()() const /usr/lib/llvm-20/bin/../include/c++/v1/__functional/function.h:995:10 (bitcoind+0xc71d02)
[15:14:29.653]     #12 util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/util/./util/thread.cpp:21:9 (bitcoind+0xc71d02)
[15:14:29.653]     #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*)::$_7>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-20/bin/../include/c++/v1/__type_traits/invoke.h:179:25 (bitcoind+0x1c673c) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #14 void std::__1::__thread_execute[abi:ne200100]<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*)::$_7, 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*)::$_7>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:199:3 (bitcoind+0x1c673c)
[15:14:29.653]     #15 void* std::__1::__thread_proxy[abi:ne200100]<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*)::$_7>>(void*) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:208:3 (bitcoind+0x1c673c)
[15:14:29.653] 
[15:14:29.653]   Thread T1 'b-scheduler' (tid=17890, running) created by main thread at:
[15:14:29.653]     #0 pthread_create <null> (bitcoind+0x1136de) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #1 std::__1::__libcpp_thread_create[abi:ne200100](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/support/pthread.h:182:10 (bitcoind+0x1b7141) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #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*)::$_7, 0>(void (&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const (&) [10], AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:218:14 (bitcoind+0x1b7141)
[15:14:29.653]     #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./init.cpp:1366:34 (bitcoind+0x1b7141)
[15:14:29.653]     #4 AppInit(node::NodeContext&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./bitcoind.cpp:237:43 (bitcoind+0x1996da) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #5 main /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./bitcoind.cpp:283:10 (bitcoind+0x1996da)
[15:14:29.653] 
[15:14:29.653]   Thread T4 'b-httpworker.1' (tid=17894, running) created by main thread at:
[15:14:29.653]     #0 pthread_create <null> (bitcoind+0x1136de) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #1 std::__1::__libcpp_thread_create[abi:ne200100](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/support/pthread.h:182:10 (bitcoind+0x70a89b) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #2 std::__1::thread::thread<void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&, 0>(void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__thread/thread.h:218:14 (bitcoind+0x70a89b)
[15:14:29.653]     #3 std::__1::thread* std::__1::construct_at[abi:ne200100]<std::__1::thread, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&, std::__1::thread*>(std::__1::thread*, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__memory/construct_at.h:40:49 (bitcoind+0x70a4df) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #4 std::__1::thread* std::__1::__construct_at[abi:ne200100]<std::__1::thread, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&, std::__1::thread*>(std::__1::thread*, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__memory/construct_at.h:48:10 (bitcoind+0x70a4df)
[15:14:29.653]     #5 void std::__1::allocator_traits<std::__1::allocator<std::__1::thread>>::construct[abi:ne200100]<std::__1::thread, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&, void, 0>(std::__1::allocator<std::__1::thread>&, std::__1::thread*, void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__memory/allocator_traits.h:318:5 (bitcoind+0x70a4df)
[15:14:29.653]     #6 std::__1::thread* std::__1::vector<std::__1::thread, std::__1::allocator<std::__1::thread>>::__emplace_back_slow_path<void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&>(void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__vector/vector.h:1116:3 (bitcoind+0x70a4df)
[15:14:29.653]     #7 std::__1::thread& std::__1::vector<std::__1::thread, std::__1::allocator<std::__1::thread>>::emplace_back<void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int&>(void (&)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*&&, int&) /usr/lib/llvm-20/bin/../include/c++/v1/__vector/vector.h:1136:13 (bitcoind+0x701248) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #8 StartHTTPServer() /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./httpserver.cpp:508:31 (bitcoind+0x701248)
[15:14:29.653]     #9 AppInitServers(node::NodeContext&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./init.cpp:720:5 (bitcoind+0x1c1d85) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #10 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./init.cpp:1458:14 (bitcoind+0x1b7e6e) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #11 AppInit(node::NodeContext&) /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./bitcoind.cpp:237:43 (bitcoind+0x1996da) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47)
[15:14:29.653]     #12 main /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/./bitcoind.cpp:283:10 (bitcoind+0x1996da)
[15:14:29.653] 
[15:14:29.653] SUMMARY: ThreadSanitizer: data race (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/bin/bitcoind+0x19817c) (BuildId: 7ca309061e42125b9c670e8668663168c1ceef47) in operator delete(void*, unsigned long)
[15:14:29.653] ================== 
[15:14:29.653]  node0 stderr Error: Specified -walletdir "debug.log" is not a directory 
[15:14:29.653]  node0 stderr Warning: Ignoring duplicate -wallet w1. 
[15:14:29.653]  node0 stderr Error: Specified -walletdir "wallets" does not exist 
[15:14:29.653]  node0 stderr Error: Specified -walletdir "bad" does not exist 
[15:14:29.653]  node1 stderr Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of Bitcoin Core? 
[15:14:29.653] 

@fanquake fanquake closed this Jul 29, 2025
fanquake added a commit that referenced this pull request Jul 31, 2025
7aa5b67 ci: remove DEBUG_LOCKORDER from TSAN job (fanquake)
b09af2c ci: instrument libc++ in TSAN job (fanquake)
6653caf ci: allow libc++ instrumentation other than msan (fanquake)

Pull request description:

  Allow for instrumenting libc++ with a sanitizer other than MemoryWithOrigins.

  Would also close #33087, as with the extra instrumentation, the issue from #32862 (comment) is avoided (also see #33081), and we can drop `DEBUG_LOCKORDER`.

ACKs for top commit:
  maflcko:
    re-ACK 7aa5b67 🦀
  dergoegge:
    utACK 7aa5b67

Tree-SHA512: 95f123e37da5e81d571244e4b1cd7658107676f1ea763ff16e5b69f4dfadb88236a577bb2ee52230ff542872c1da151c88fc50aba0f32540e765080120cec55e
@fanquake fanquake deleted the no_merge_tsan_false_positive branch August 13, 2025 12:57
@bitcoin bitcoin locked and limited conversation to collaborators Aug 13, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants