-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
area/docdbYugabyteDB core featuresYugabyteDB core featureskind/enhancementThis is an enhancement of an existing featureThis is an enhancement of an existing featurekind/failing-testTests and testing infraTests and testing infrapriority/mediumMedium priority issueMedium priority issue
Description
Jira Link: DB-14640
Description
[m-2] WARNING: ThreadSanitizer: data race (pid=34899)
[m-2] Write of size 8 at 0x7b6000030318 by thread T28 (mutexes: write M0):
[m-2] #0 std::enable_if<is_move_constructible<yb::rpc::OutboundCall*>::value && is_move_assignable<yb::rpc::OutboundCall*>::value, void>::type std::swap[abi:ue170006]<yb::rpc::OutboundCall*>(yb::rpc::OutboundCall*&, yb::rpc::OutboundCall*&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__utility/swap.h:44:7 (libyrpc.so+0x170bc4)
[m-2] #1 std::shared_ptr<yb::rpc::OutboundCall>::swap[abi:ue170006](std::shared_ptr<yb::rpc::OutboundCall>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:832:9 (libyrpc.so+0x170bc4)
[m-2] #2 std::shared_ptr<yb::rpc::OutboundCall>::reset[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:839:22 (libyrpc.so+0x170bc4)
[m-2] #3 yb::rpc::RpcController::Reset() ${YB_SRC_ROOT}/src/yb/rpc/rpc_controller.cc:83:9 (libyrpc.so+0x170bc4)
[m-2] #4 yb::consensus::Peer::ProcessResponse(scoped_refptr<yb::Trace>) ${YB_SRC_ROOT}/src/yb/consensus/consensus_peers.cc:512:15 (libconsensus.so+0x97178)
[m-2] #5 decltype(*std::declval<std::shared_ptr<yb::consensus::Peer>&>().*std::declval<void (yb::consensus::Peer::*&)(scoped_refptr<yb::Trace>)>()(std::declval<scoped_refptr<yb::Trace>&>())) std::__invoke[abi:ue170006]<void (yb::consensus::Peer::*&)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&, void>(void (yb::consensus::Peer::*&)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libconsensus.so+0xa2341)
[m-2] #6 std::__bind_return<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>, std::tuple<>, __is_valid_bind_return<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>, 0ul, 1ul, std::tuple<>>(void (yb::consensus::Peer::*&)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>&, std::__tuple_indices<0ul, 1ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libconsensus.so+0xa1fb5)
[m-2] #7 std::__bind_return<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>, std::tuple<>, __is_valid_bind_return<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::tuple<std::shared_ptr<yb::consensus::Peer>, scoped_refptr<yb::Trace>>, std::tuple<>>::value>::type std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libconsensus.so+0xa1fb5)
[m-2] #8 decltype(std::declval<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>&>(std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libconsensus.so+0xa1fb5)
[m-2] #9 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>&>(std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libconsensus.so+0xa1fb5)
[m-2] #10 std::__function::__alloc_func<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>, std::allocator<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libconsensus.so+0xa1fb5)
[m-2] #11 std::__function::__func<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>, std::allocator<std::__bind<void (yb::consensus::Peer::*)(scoped_refptr<yb::Trace>), std::shared_ptr<yb::consensus::Peer>&, scoped_refptr<yb::Trace>&>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libconsensus.so+0xa1fb5)
[m-2] #12 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyrpc.so+0x11e5bf)
[m-2] #13 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyrpc.so+0x11e5bf)
[m-2] #14 yb::rpc::OutboundCall::InvokeCallbackSync(std::optional<std::chrono::time_point<yb::CoarseMonoClock, std::chrono::duration<long long, std::ratio<1l, 1000000000l>>>>) ${YB_SRC_ROOT}/src/yb/rpc/outbound_call.cc:476:3 (libyrpc.so+0x11e5bf)
[m-2] #15 yb::rpc::InvokeCallbackTask::Run() ${YB_SRC_ROOT}/src/yb/rpc/outbound_call.cc:163:10 (libyrpc.so+0x11e041)
[m-2] #16 yb::rpc::(anonymous namespace)::Worker::Execute() ${YB_SRC_ROOT}/src/yb/rpc/thread_pool.cc:115:15 (libyrpc.so+0x1c22f4)
[m-2] #17 decltype(*std::declval<yb::rpc::(anonymous namespace)::Worker*&>().*std::declval<void (yb::rpc::(anonymous namespace)::Worker::*&)()>()()) std::__invoke[abi:ue170006]<void (yb::rpc::(anonymous namespace)::Worker::*&)(), yb::rpc::(anonymous namespace)::Worker*&, void>(void (yb::rpc::(anonymous namespace)::Worker::*&)(), yb::rpc::(anonymous namespace)::Worker*&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libyrpc.so+0x1c277b)
[m-2] #18 std::__bind_return<void (yb::rpc::(anonymous namespace)::Worker::*)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::(anonymous namespace)::Worker::*)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::rpc::(anonymous namespace)::Worker::*)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>, 0ul, std::tuple<>>(void (yb::rpc::(anonymous namespace)::Worker::*&)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>&, std::__tuple_indices<0ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x1c277b)
[m-2] #19 std::__bind_return<void (yb::rpc::(anonymous namespace)::Worker::*)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::(anonymous namespace)::Worker::*)(), std::tuple<yb::rpc::(anonymous namespace)::Worker*>, std::tuple<>>::value>::type std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x1c277b)
[m-2] #20 decltype(std::declval<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>&>(std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x1c277b)
[m-2] #21 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>&>(std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libyrpc.so+0x1c277b)
[m-2] #22 std::__function::__alloc_func<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>, std::allocator<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libyrpc.so+0x1c277b)
[m-2] #23 std::__function::__func<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>, std::allocator<std::__bind<void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libyrpc.so+0x1c277b)
[m-2] #24 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x4355cf)
[m-2] #25 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x4355cf)
[m-2] #26 yb::Thread::SuperviseThread(void*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:895:3 (libyb_util.so+0x4355cf)
[m-2]
[m-2] Previous read of size 8 at 0x7b6000030318 by thread T9:
[m-2] #0 std::shared_ptr<yb::rpc::OutboundCall>::get[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:870:16 (libyrpc.so+0x170d0a)
[m-2] #1 std::shared_ptr<yb::rpc::OutboundCall>::operator bool[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:902:16 (libyrpc.so+0x170d0a)
[m-2] #2 yb::rpc::RpcController::finished() const ${YB_SRC_ROOT}/src/yb/rpc/rpc_controller.cc:87:7 (libyrpc.so+0x170d0a)
[m-2] #3 yb::consensus::Peer::SignalRequest(yb::consensus::RequestTriggerMode) ${YB_SRC_ROOT}/src/yb/consensus/consensus_peers.cc:187:81 (libconsensus.so+0x934f0)
[m-2] #4 yb::consensus::Peer::Init()::$_0::operator()() const ${YB_SRC_ROOT}/src/yb/consensus/consensus_peers.cc:160:25 (libconsensus.so+0x9b287)
[m-2] #5 decltype(std::declval<yb::consensus::Peer::Init()::$_0&>()()) std::__invoke[abi:ue170006]<yb::consensus::Peer::Init()::$_0&>(yb::consensus::Peer::Init()::$_0&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libconsensus.so+0x9b287)
[m-2] #6 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<yb::consensus::Peer::Init()::$_0&>(yb::consensus::Peer::Init()::$_0&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libconsensus.so+0x9b287)
[m-2] #7 std::__function::__alloc_func<yb::consensus::Peer::Init()::$_0, std::allocator<yb::consensus::Peer::Init()::$_0>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libconsensus.so+0x9b287)
[m-2] #8 std::__function::__func<yb::consensus::Peer::Init()::$_0, std::allocator<yb::consensus::Peer::Init()::$_0>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libconsensus.so+0x9b287)
[m-2] #9 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyrpc.so+0x1308b8)
[m-2] #10 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyrpc.so+0x1308b8)
[m-2] #11 yb::rpc::PeriodicTimer::Callback(long) ${YB_SRC_ROOT}/src/yb/rpc/periodic.cc:189:5 (libyrpc.so+0x1308b8)
[m-2] #12 yb::rpc::PeriodicTimer::Callback(long)::$_0::operator()(yb::Status const&) const ${YB_SRC_ROOT}/src/yb/rpc/periodic.cc:208:14 (libyrpc.so+0x13112f)
[m-2] #13 yb::rpc::ScheduledTask<yb::rpc::PeriodicTimer::Callback(long)::$_0>::Run(yb::Status const&) ${YB_SRC_ROOT}/src/yb/rpc/scheduler.h:55:5 (libyrpc.so+0x13112f)
[m-2] #14 yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()::operator()() const ${YB_SRC_ROOT}/src/yb/rpc/scheduler.cc:140:57 (libyrpc.so+0x18bb69)
[m-2] #15 void boost::asio::asio_handler_invoke<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, ...) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/handler_invoke_hook.hpp:88:3 (libyrpc.so+0x18bb69)
[m-2] #16 void boost_asio_handler_invoke_helpers::invoke<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/handler_invoke_helpers.hpp:54:3 (libyrpc.so+0x18bb69)
[m-2] #17 void boost::asio::detail::handler_work<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul>, void>::complete<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/handler_work.hpp:520:7 (libyrpc.so+0x18bb69)
[m-2] #18 boost::asio::detail::completion_handler<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul>>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/completion_handler.hpp:74:9 (libyrpc.so+0x18bb69)
[m-2] #19 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/scheduler_operation.hpp:40:5 (libyrpc.so+0x10799a)
[m-2] #20 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/impl/scheduler.ipp:492:12 (libyrpc.so+0x10799a)
[m-2] #21 boost::asio::detail::scheduler::run(boost::system::error_code&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/impl/scheduler.ipp:210:10 (libyrpc.so+0x1074e1)
[m-2] #22 boost::asio::io_context::run(boost::system::error_code&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/impl/io_context.ipp:71:16 (libyrpc.so+0x102a80)
[m-2] #23 yb::rpc::IoThreadPool::Impl::Execute() ${YB_SRC_ROOT}/src/yb/rpc/io_thread_pool.cc:76:17 (libyrpc.so+0x102a80)
[m-2] #24 decltype(*std::declval<yb::rpc::IoThreadPool::Impl*&>().*std::declval<void (yb::rpc::IoThreadPool::Impl::*&)()>()()) std::__invoke[abi:ue170006]<void (yb::rpc::IoThreadPool::Impl::*&)(), yb::rpc::IoThreadPool::Impl*&, void>(void (yb::rpc::IoThreadPool::Impl::*&)(), yb::rpc::IoThreadPool::Impl*&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libyrpc.so+0x108edb)
[m-2] #25 std::__bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, 0ul, std::tuple<>>(void (yb::rpc::IoThreadPool::Impl::*&)(), std::tuple<yb::rpc::IoThreadPool::Impl*>&, std::__tuple_indices<0ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x108edb)
[m-2] #26 std::__bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>>::value>::type std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x108edb)
[m-2] #27 decltype(std::declval<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&>(std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x108edb)
[m-2] #28 std::__bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>, __is_valid_bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>(std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&, std::tuple<>&, std::__tuple_indices<>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x108edb)
[m-2] #29 std::__bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>, __is_valid_bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>::value>::type std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x108edb)
[m-2] #30 decltype(std::declval<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>()()) std::__invoke[abi:ue170006]<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>(std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x108edb)
[m-2] #31 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>(std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libyrpc.so+0x108edb)
[m-2] #32 std::__function::__alloc_func<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>, std::allocator<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libyrpc.so+0x108edb)
[m-2] #33 std::__function::__func<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>, std::allocator<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libyrpc.so+0x108edb)
[m-2] #34 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x4355cf)
[m-2] #35 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x4355cf)
[m-2] #36 yb::Thread::SuperviseThread(void*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:895:3 (libyb_util.so+0x4355cf)
[m-2]
[m-2] Location is heap block of size 920 at 0x7b6000030000 allocated by thread T43:
[m-2] #0 operator new(unsigned long) ${YB_LLVM_TOOLCHAIN_DIR}-build/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:64:3 (yb-master+0x1295c7)
[m-2] #1 void* std::__libcpp_operator_new[abi:ue170006]<unsigned long>(unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/new:268:10 (libconsensus.so+0xe9fa5)
[m-2] #2 std::__libcpp_allocate[abi:ue170006](unsigned long, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/new:294:10 (libconsensus.so+0xe9fa5)
[m-2] #3 std::allocator<std::__shared_ptr_emplace<yb::consensus::Peer, std::allocator<yb::consensus::Peer>>>::allocate[abi:ue170006](unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/allocator.h:114:38 (libconsensus.so+0xe9fa5)
[m-2] #4 std::allocator_traits<std::allocator<std::__shared_ptr_emplace<yb::consensus::Peer, std::allocator<yb::consensus::Peer>>>>::allocate[abi:ue170006](std::allocator<std::__shared_ptr_emplace<yb::consensus::Peer, std::allocator<yb::consensus::Peer>>>&, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/allocator_traits.h:268:20 (libconsensus.so+0xe9fa5)
[m-2] #5 std::__allocation_guard<std::allocator<std::__shared_ptr_emplace<yb::consensus::Peer, std::allocator<yb::consensus::Peer>>>>::__allocation_guard[abi:ue170006]<std::allocator<yb::consensus::Peer>>(std::allocator<yb::consensus::Peer>, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/allocation_guard.h:57:18 (libconsensus.so+0xe9fa5)
[m-2] #6 std::shared_ptr<yb::consensus::Peer> std::allocate_shared[abi:ue170006]<yb::consensus::Peer, std::allocator<yb::consensus::Peer>, yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*, void>(std::allocator<yb::consensus::Peer> const&, yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>&&, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:1021:48 (libconsensus.so+0xe9fa5)
[m-2] #7 std::shared_ptr<yb::consensus::Peer> std::make_shared[abi:ue170006]<yb::consensus::Peer, yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*, void>(yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>&&, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__memory/shared_ptr.h:1031:12 (libconsensus.so+0xe96fc)
[m-2] #8 yb::Result<std::shared_ptr<yb::consensus::Peer>> yb::consensus::Peer::NewRemotePeer<yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*>(yb::consensus::RaftPeerPB const&, string const&, string const&, std::unique_ptr<yb::consensus::PeerProxy, std::default_delete<yb::consensus::PeerProxy>>&&, yb::consensus::PeerMessageQueue*&, std::shared_ptr<yb::consensus::MultiRaftHeartbeatBatcher>&, yb::ThreadPoolToken*&, yb::consensus::Consensus*&, yb::rpc::Messenger*&&) ${YB_SRC_ROOT}/src/yb/consensus/consensus_peers.h:173:21 (libconsensus.so+0xe96fc)
[m-2] #9 yb::consensus::PeerManager::UpdateRaftConfig(yb::consensus::RaftConfigPB const&) ${YB_SRC_ROOT}/src/yb/consensus/peer_manager.cc:86:24 (libconsensus.so+0xe8146)
[m-2] #10 yb::consensus::RaftConsensus::RefreshConsensusQueueAndPeersUnlocked() ${YB_SRC_ROOT}/src/yb/consensus/raft_consensus.cc:3209:18 (libconsensus.so+0xfe3e7)
[m-2] #11 yb::consensus::RaftConsensus::BecomeLeaderUnlocked() ${YB_SRC_ROOT}/src/yb/consensus/raft_consensus.cc:1087:3 (libconsensus.so+0xf4da4)
[m-2] #12 yb::consensus::RaftConsensus::DoElectionCallback(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&) ${YB_SRC_ROOT}/src/yb/consensus/raft_consensus.cc:3493:17 (libconsensus.so+0x119854)
[m-2] #13 decltype(*std::declval<std::shared_ptr<yb::consensus::RaftConsensus>&>().*std::declval<void (yb::consensus::RaftConsensus::*&)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&)>()(std::declval<yb::consensus::LeaderElectionData&>(), std::declval<yb::consensus::ElectionResult&>())) std::__invoke[abi:ue170006]<void (yb::consensus::RaftConsensus::*&)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>&, yb::consensus::LeaderElectionData&, yb::consensus::ElectionResult&, void>(void (yb::consensus::RaftConsensus::*&)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>&, yb::consensus::LeaderElectionData&, yb::consensus::ElectionResult&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libconsensus.so+0x1305b6)
[m-2] #14 std::__bind_return<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>, std::tuple<>, __is_valid_bind_return<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>, 0ul, 1ul, 2ul, std::tuple<>>(void (yb::consensus::RaftConsensus::*&)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>&, std::__tuple_indices<0ul, 1ul, 2ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libconsensus.so+0x1305b6)
[m-2] #15 std::__bind_return<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>, std::tuple<>, __is_valid_bind_return<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::tuple<std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData, yb::consensus::ElectionResult>, std::tuple<>>::value>::type std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libconsensus.so+0x1305b6)
[m-2] #16 decltype(std::declval<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>&>(std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libconsensus.so+0x1305b6)
[m-2] #17 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>&>(std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libconsensus.so+0x1305b6)
[m-2] #18 std::__function::__alloc_func<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>, std::allocator<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libconsensus.so+0x1305b6)
[m-2] #19 std::__function::__func<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>, std::allocator<std::__bind<void (yb::consensus::RaftConsensus::*)(yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&), std::shared_ptr<yb::consensus::RaftConsensus>, yb::consensus::LeaderElectionData const&, yb::consensus::ElectionResult const&>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libconsensus.so+0x1305b6)
[m-2] #20 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x44dbd4)
[m-2] #21 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x44dbd4)
[m-2] #22 yb::FunctionRunnable::Run() ${YB_SRC_ROOT}/src/yb/util/threadpool.h:513:5 (libyb_util.so+0x44dbd4)
[m-2] #23 yb::ThreadPool::DispatchThread(bool) ${YB_SRC_ROOT}/src/yb/util/threadpool.cc:612:22 (libyb_util.so+0x44a791)
[m-2] #24 decltype(*std::declval<yb::ThreadPool*&>().*std::declval<void (yb::ThreadPool::*&)(bool)>()(std::declval<bool&>())) std::__invoke[abi:ue170006]<void (yb::ThreadPool::*&)(bool), yb::ThreadPool*&, bool&, void>(void (yb::ThreadPool::*&)(bool), yb::ThreadPool*&, bool&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libyb_util.so+0x452ac8)
[m-2] #25 std::__bind_return<void (yb::ThreadPool::*)(bool), std::tuple<yb::ThreadPool*, bool>, std::tuple<>, __is_valid_bind_return<void (yb::ThreadPool::*)(bool), std::tuple<yb::ThreadPool*, bool>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::ThreadPool::*)(bool), std::tuple<yb::ThreadPool*, bool>, 0ul, 1ul, std::tuple<>>(void (yb::ThreadPool::*&)(bool), std::tuple<yb::ThreadPool*, bool>&, std::__tuple_indices<0ul, 1ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyb_util.so+0x452ac8)
[m-2] #26 std::__bind_return<void (yb::ThreadPool::*)(bool), std::tuple<yb::ThreadPool*, bool>, std::tuple<>, __is_valid_bind_return<void (yb::ThreadPool::*)(bool), std::tuple<yb::ThreadPool*, bool>, std::tuple<>>::value>::type std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyb_util.so+0x452ac8)
[m-2] #27 decltype(std::declval<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>&>(std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyb_util.so+0x452ac8)
[m-2] #28 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>&>(std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libyb_util.so+0x452ac8)
[m-2] #29 std::__function::__alloc_func<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>, std::allocator<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libyb_util.so+0x452ac8)
[m-2] #30 std::__function::__func<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>, std::allocator<std::__bind<void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libyb_util.so+0x452ac8)
[m-2] #31 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x4355cf)
[m-2] #32 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x4355cf)
[m-2] #33 yb::Thread::SuperviseThread(void*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:895:3 (libyb_util.so+0x4355cf)
[m-2]
[m-2] Mutex M0 (0x7b6000030310) created at:
[m-2] [failed to restore the stack]
[m-2]
[m-2] Thread T28 'rpc_tp_Master-h' (tid=34937, running) created by thread T12 at:
[m-2] #0 pthread_create ${YB_LLVM_TOOLCHAIN_DIR}-build/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (yb-master+0xa187b)
[m-2] #1 yb::Thread::TryStartThread(yb::Thread*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:782:3 (libyb_util.so+0x4345cc)
[m-2] #2 yb::Thread::StartThread(string const&, string const&, std::function<void ()>, scoped_refptr<yb::Thread>*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:810:38 (libyb_util.so+0x436507)
[m-2] #3 yb::Status yb::Thread::Create<void (yb::rpc::(anonymous namespace)::Worker::*)(), yb::rpc::(anonymous namespace)::Worker*>(string const&, string const&, void (yb::rpc::(anonymous namespace)::Worker::* const&)(), yb::rpc::(anonymous namespace)::Worker* const&, scoped_refptr<yb::Thread>*) ${YB_SRC_ROOT}/src/yb/util/thread.h:166:12 (libyrpc.so+0x1c353e)
[m-2] #4 yb::rpc::(anonymous namespace)::Worker::Start(unsigned long) ${YB_SRC_ROOT}/src/yb/rpc/thread_pool.cc:72:12 (libyrpc.so+0x1c353e)
[m-2] #5 yb::rpc::ThreadPool::Impl::Enqueue(yb::rpc::ThreadPoolTask*) ${YB_SRC_ROOT}/src/yb/rpc/thread_pool.cc:208:35 (libyrpc.so+0x1c353e)
[m-2] #6 yb::rpc::ThreadPool::Enqueue(yb::rpc::ThreadPoolTask*) ${YB_SRC_ROOT}/src/yb/rpc/thread_pool.cc:308:17 (libyrpc.so+0x1c018a)
[m-2] #7 yb::rpc::ServicePoolImpl::Enqueue(std::shared_ptr<yb::rpc::InboundCall> const&) ${YB_SRC_ROOT}/src/yb/rpc/service_pool.cc:198:18 (libyrpc.so+0x1aa50f)
[m-2] #8 yb::rpc::ServicePool::QueueInboundCall(std::shared_ptr<yb::rpc::InboundCall>) ${YB_SRC_ROOT}/src/yb/rpc/service_pool.cc:485:10 (libyrpc.so+0x1a948a)
[m-2] #9 yb::rpc::Messenger::Handle(std::shared_ptr<yb::rpc::InboundCall>, yb::StronglyTypedBool<yb::rpc::Queue_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/messenger.cc:535:21 (libyrpc.so+0x10ed81)
[m-2] #10 yb::rpc::YBInboundConnectionContext::HandleCall(std::shared_ptr<yb::rpc::Connection> const&, yb::rpc::CallData*) ${YB_SRC_ROOT}/src/yb/rpc/yb_rpc.cc:192:38 (libyrpc.so+0x1c6a5b)
[m-2] #11 non-virtual thunk to yb::rpc::YBInboundConnectionContext::HandleCall(std::shared_ptr<yb::rpc::Connection> const&, yb::rpc::CallData*) ${YB_SRC_ROOT}/src/yb/rpc/yb_rpc.cc (libyrpc.so+0x1c7214)
[m-2] #12 yb::rpc::BinaryCallParser::Parse(std::shared_ptr<yb::rpc::Connection> const&, boost::container::small_vector<iovec, 4ul, void, void> const&, yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>, std::shared_ptr<yb::MemTracker> const*) ${YB_SRC_ROOT}/src/yb/rpc/binary_call_parser.cc:163:7 (libyrpc.so+0xd1c10)
[m-2] #13 yb::rpc::YBInboundConnectionContext::ProcessCalls(std::shared_ptr<yb::rpc::Connection> const&, boost::container::small_vector<iovec, 4ul, void, void> const&, yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/yb_rpc.cc:151:19 (libyrpc.so+0x1c64df)
[m-2] #14 yb::rpc::Connection::ProcessReceived(yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/connection.cc:432:27 (libyrpc.so+0xe67f7)
[m-2] #15 yb::rpc::RefinedStream::ProcessReceived(yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/refined_stream.cc:152:24 (libyrpc.so+0x15f57d)
[m-2] #16 yb::rpc::RefinedStream::ProcessReceived(yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/refined_stream.cc:148:14 (libyrpc.so+0x15f543)
[m-2] #17 non-virtual thunk to yb::rpc::RefinedStream::ProcessReceived(yb::StronglyTypedBool<yb::rpc::ReadBufferFull_Tag>) ${YB_SRC_ROOT}/src/yb/rpc/refined_stream.cc (libyrpc.so+0x1604cd)
[m-2] #18 yb::rpc::TcpStream::TryProcessReceived() ${YB_SRC_ROOT}/src/yb/rpc/tcp_stream.cc:413:17 (libyrpc.so+0x1bc456)
[m-2] #19 yb::rpc::TcpStream::ReadHandler() ${YB_SRC_ROOT}/src/yb/rpc/tcp_stream.cc:339:31 (libyrpc.so+0x1baa35)
[m-2] #20 yb::rpc::TcpStream::Handler(ev::io&, int) ${YB_SRC_ROOT}/src/yb/rpc/tcp_stream.cc:276:14 (libyrpc.so+0x1b9f54)
[m-2] #21 void ev::base<ev_io, ev::io>::method_thunk<yb::rpc::TcpStream, &yb::rpc::TcpStream::Handler(ev::io&, int)>(ev_loop*, ev_io*, int) ${YB_THIRDPARTY_DIR}/installed/common/include/ev++.h:479:7 (libyrpc.so+0x1beaa8)
[m-2] #22 ev_invoke_pending <null> (libev.so.4+0x871a)
[m-2] #23 decltype(*std::declval<yb::rpc::Reactor*&>().*std::declval<void (yb::rpc::Reactor::*&)()>()()) std::__invoke[abi:ue170006]<void (yb::rpc::Reactor::*&)(), yb::rpc::Reactor*&, void>(void (yb::rpc::Reactor::*&)(), yb::rpc::Reactor*&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libyrpc.so+0x152e3b)
[m-2] #24 std::__bind_return<void (yb::rpc::Reactor::*)(), std::tuple<yb::rpc::Reactor*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::Reactor::*)(), std::tuple<yb::rpc::Reactor*>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::rpc::Reactor::*)(), std::tuple<yb::rpc::Reactor*>, 0ul, std::tuple<>>(void (yb::rpc::Reactor::*&)(), std::tuple<yb::rpc::Reactor*>&, std::__tuple_indices<0ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x152e3b)
[m-2] #25 std::__bind_return<void (yb::rpc::Reactor::*)(), std::tuple<yb::rpc::Reactor*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::Reactor::*)(), std::tuple<yb::rpc::Reactor*>, std::tuple<>>::value>::type std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x152e3b)
[m-2] #26 decltype(std::declval<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>&>(std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x152e3b)
[m-2] #27 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>&>(std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libyrpc.so+0x152e3b)
[m-2] #28 std::__function::__alloc_func<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>, std::allocator<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libyrpc.so+0x152e3b)
[m-2] #29 std::__function::__func<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>, std::allocator<std::__bind<void (yb::rpc::Reactor::* const&)(), yb::rpc::Reactor* const&>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libyrpc.so+0x152e3b)
[m-2] #30 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x4355cf)
[m-2] #31 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x4355cf)
[m-2] #32 yb::Thread::SuperviseThread(void*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:895:3 (libyb_util.so+0x4355cf)
[m-2]
[m-2] Thread T9 'iotp_Master_2xx' (tid=34915, running) created by main thread at:
[m-2] #0 pthread_create ${YB_LLVM_TOOLCHAIN_DIR}-build/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (yb-master+0xa187b)
[m-2] #1 yb::Thread::TryStartThread(yb::Thread*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:782:3 (libyb_util.so+0x4345cc)
[m-2] #2 yb::Thread::StartThread(string const&, string const&, std::function<void ()>, scoped_refptr<yb::Thread>*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:810:38 (libyb_util.so+0x436507)
[m-2] #3 yb::Result<scoped_refptr<yb::Thread>> yb::Thread::Make<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>(string const&, string const&, std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&&) ${YB_SRC_ROOT}/src/yb/util/thread.h:214:5 (libyrpc.so+0x1028bf)
[m-2] #4 yb::rpc::IoThreadPool::Impl::Impl(string const&, unsigned long) ${YB_SRC_ROOT}/src/yb/rpc/io_thread_pool.cc:38:26 (libyrpc.so+0x101d89)
[m-2] #5 yb::rpc::IoThreadPool::IoThreadPool(string const&, unsigned long) ${YB_SRC_ROOT}/src/yb/rpc/io_thread_pool.cc:87:17 (libyrpc.so+0x1019d7)
[m-2] #6 yb::rpc::Messenger::Messenger(yb::rpc::MessengerBuilder const&) ${YB_SRC_ROOT}/src/yb/rpc/messenger.cc:583:7 (libyrpc.so+0x10fdbb)
[m-2] #7 yb::rpc::MessengerBuilder::Build() ${YB_SRC_ROOT}/src/yb/rpc/messenger.cc:159:70 (libyrpc.so+0x10a627)
[m-2] #8 yb::server::RpcServerBase::Init() ${YB_SRC_ROOT}/src/yb/server/server_base.cc:320:16 (libserver_process.so+0xa6d62)
[m-2] #9 yb::server::RpcAndWebServerBase::Init() ${YB_SRC_ROOT}/src/yb/server/server_base.cc:545:3 (libserver_process.so+0xaa497)
[m-2] #10 yb::tserver::DbServerBase::Init() ${YB_SRC_ROOT}/src/yb/tserver/db_server_base.cc:48:3 (libtserver.so+0x245d0b)
[m-2] #11 yb::master::Master::Init() ${YB_SRC_ROOT}/src/yb/master/master.cc:203:3 (libmaster.so+0x7d12fd)
[m-2] #12 yb::master::MasterMain(int, char**) ${YB_SRC_ROOT}/src/yb/master/master_main.cc:139:3 (yb-master+0x12ad13)
[m-2] #13 main ${YB_SRC_ROOT}/src/yb/master/master_main.cc:190:12 (yb-master+0x12ad13)
[m-2]
[m-2] Thread T43 'raft [worker]xx' (tid=35014, finished) created by thread T8 at:
[m-2] #0 pthread_create ${YB_LLVM_TOOLCHAIN_DIR}-build/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (yb-master+0xa187b)
[m-2] #1 yb::Thread::TryStartThread(yb::Thread*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:782:3 (libyb_util.so+0x4345cc)
[m-2] #2 yb::Thread::StartThread(string const&, string const&, std::function<void ()>, scoped_refptr<yb::Thread>*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:810:38 (libyb_util.so+0x436507)
[m-2] #3 yb::Status yb::Thread::Create<void (yb::ThreadPool::*)(bool), yb::ThreadPool*, bool>(string const&, string const&, void (yb::ThreadPool::* const&)(bool), yb::ThreadPool* const&, bool const&, scoped_refptr<yb::Thread>*) ${YB_SRC_ROOT}/src/yb/util/thread.h:172:12 (libyb_util.so+0x4494be)
[m-2] #4 yb::ThreadPool::CreateThreadUnlocked() ${YB_SRC_ROOT}/src/yb/util/threadpool.cc:673:14 (libyb_util.so+0x4494be)
[m-2] #5 yb::ThreadPool::DoSubmit(std::shared_ptr<yb::Runnable>, yb::ThreadPoolToken*) ${YB_SRC_ROOT}/src/yb/util/threadpool.cc:479:21 (libyb_util.so+0x446ec5)
[m-2] #6 yb::ThreadPoolToken::Submit(std::shared_ptr<yb::Runnable>) ${YB_SRC_ROOT}/src/yb/util/threadpool.cc:143:17 (libyb_util.so+0x446a8b)
[m-2] #7 yb::ThreadPoolToken::SubmitFunc(std::function<void ()>) ${YB_SRC_ROOT}/src/yb/util/threadpool.cc:139:10 (libyb_util.so+0x446a8b)
[m-2] #8 yb::consensus::RaftConsensus::ReportFailureDetected() ${YB_SRC_ROOT}/src/yb/consensus/raft_consensus.cc:1062:43 (libconsensus.so+0xfde51)
[m-2] #9 yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0::operator()() const ${YB_SRC_ROOT}/src/yb/consensus/raft_consensus.cc:482:22 (libconsensus.so+0x11caaa)
[m-2] #10 decltype(std::declval<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0&>()()) std::__invoke[abi:ue170006]<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0&>(yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libconsensus.so+0x11caaa)
[m-2] #11 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0&>(yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libconsensus.so+0x11caaa)
[m-2] #12 std::__function::__alloc_func<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0, std::allocator<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libconsensus.so+0x11caaa)
[m-2] #13 std::__function::__func<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0, std::allocator<yb::consensus::RaftConsensus::Start(yb::consensus::ConsensusBootstrapInfo const&)::$_0>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libconsensus.so+0x11caaa)
[m-2] #14 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyrpc.so+0x1308b8)
[m-2] #15 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyrpc.so+0x1308b8)
[m-2] #16 yb::rpc::PeriodicTimer::Callback(long) ${YB_SRC_ROOT}/src/yb/rpc/periodic.cc:189:5 (libyrpc.so+0x1308b8)
[m-2] #17 yb::rpc::PeriodicTimer::Callback(long)::$_0::operator()(yb::Status const&) const ${YB_SRC_ROOT}/src/yb/rpc/periodic.cc:208:14 (libyrpc.so+0x13112f)
[m-2] #18 yb::rpc::ScheduledTask<yb::rpc::PeriodicTimer::Callback(long)::$_0>::Run(yb::Status const&) ${YB_SRC_ROOT}/src/yb/rpc/scheduler.h:55:5 (libyrpc.so+0x13112f)
[m-2] #19 yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()::operator()() const ${YB_SRC_ROOT}/src/yb/rpc/scheduler.cc:140:57 (libyrpc.so+0x18bb69)
[m-2] #20 void boost::asio::asio_handler_invoke<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, ...) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/handler_invoke_hook.hpp:88:3 (libyrpc.so+0x18bb69)
[m-2] #21 void boost_asio_handler_invoke_helpers::invoke<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/handler_invoke_helpers.hpp:54:3 (libyrpc.so+0x18bb69)
[m-2] #22 void boost::asio::detail::handler_work<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul>, void>::complete<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()>(yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&, yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'()&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/handler_work.hpp:520:7 (libyrpc.so+0x18bb69)
[m-2] #23 boost::asio::detail::completion_handler<yb::rpc::Scheduler::Impl::HandleTimer(boost::system::error_code const&)::'lambda'(), boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul>>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/completion_handler.hpp:74:9 (libyrpc.so+0x18bb69)
[m-2] #24 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/scheduler_operation.hpp:40:5 (libyrpc.so+0x10799a)
[m-2] #25 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/impl/scheduler.ipp:492:12 (libyrpc.so+0x10799a)
[m-2] #26 boost::asio::detail::scheduler::run(boost::system::error_code&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/detail/impl/scheduler.ipp:210:10 (libyrpc.so+0x1074e1)
[m-2] #27 boost::asio::io_context::run(boost::system::error_code&) ${YB_THIRDPARTY_DIR}/installed/tsan/include/boost/asio/impl/io_context.ipp:71:16 (libyrpc.so+0x102a80)
[m-2] #28 yb::rpc::IoThreadPool::Impl::Execute() ${YB_SRC_ROOT}/src/yb/rpc/io_thread_pool.cc:76:17 (libyrpc.so+0x102a80)
[m-2] #29 decltype(*std::declval<yb::rpc::IoThreadPool::Impl*&>().*std::declval<void (yb::rpc::IoThreadPool::Impl::*&)()>()()) std::__invoke[abi:ue170006]<void (yb::rpc::IoThreadPool::Impl::*&)(), yb::rpc::IoThreadPool::Impl*&, void>(void (yb::rpc::IoThreadPool::Impl::*&)(), yb::rpc::IoThreadPool::Impl*&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:308:25 (libyrpc.so+0x108edb)
[m-2] #30 std::__bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, 0ul, std::tuple<>>(void (yb::rpc::IoThreadPool::Impl::*&)(), std::tuple<yb::rpc::IoThreadPool::Impl*>&, std::__tuple_indices<0ul>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x108edb)
[m-2] #31 std::__bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>, __is_valid_bind_return<void (yb::rpc::IoThreadPool::Impl::*)(), std::tuple<yb::rpc::IoThreadPool::Impl*>, std::tuple<>>::value>::type std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x108edb)
[m-2] #32 decltype(std::declval<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&>()()) std::__invoke[abi:ue170006]<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&>(std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x108edb)
[m-2] #33 std::__bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>, __is_valid_bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>::value>::type std::__apply_functor[abi:ue170006]<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>(std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>&, std::tuple<>&, std::__tuple_indices<>, std::tuple<>&&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:260:12 (libyrpc.so+0x108edb)
[m-2] #34 std::__bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>, __is_valid_bind_return<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>, std::tuple<>, std::tuple<>>::value>::type std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>::operator()[abi:ue170006]<>() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/bind.h:292:20 (libyrpc.so+0x108edb)
[m-2] #35 decltype(std::declval<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>()()) std::__invoke[abi:ue170006]<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>(std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:340:25 (libyrpc.so+0x108edb)
[m-2] #36 void std::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&>(std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>&) ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__type_traits/invoke.h:415:5 (libyrpc.so+0x108edb)
[m-2] #37 std::__function::__alloc_func<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>, std::allocator<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>>, void ()>::operator()[abi:ue170006]() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:192:16 (libyrpc.so+0x108edb)
[m-2] #38 std::__function::__func<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>, std::allocator<std::__bind<std::__bind<void (yb::rpc::IoThreadPool::Impl::*)(), yb::rpc::IoThreadPool::Impl*>>>, void ()>::operator()() ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:363:12 (libyrpc.so+0x108edb)
[m-2] #39 std::__function::__value_func<void ()>::operator()[abi:ue170006]() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:517:16 (libyb_util.so+0x4355cf)
[m-2] #40 std::function<void ()>::operator()() const ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__functional/function.h:1168:12 (libyb_util.so+0x4355cf)
[m-2] #41 yb::Thread::SuperviseThread(void*) ${YB_SRC_ROOT}/src/yb/util/thread.cc:895:3 (libyb_util.so+0x4355cf)
[m-2]
[m-2] SUMMARY: ThreadSanitizer: data race ${YB_THIRDPARTY_DIR}/installed/tsan/libcxx/include/c++/v1/__utility/swap.h:44:7 in std::enable_if<is_move_constructible<yb::rpc::OutboundCall*>::value && is_move_assignable<yb::rpc::OutboundCall*>::value, void>::type std::swap[abi:ue170006]<yb::rpc::OutboundCall*>(yb::rpc::OutboundCall*&, yb::rpc::OutboundCall*&)
Issue Type
kind/failing-test
Warning: Please confirm that this issue does not contain any sensitive information
- I confirm this issue does not contain any sensitive information.
Metadata
Metadata
Assignees
Labels
area/docdbYugabyteDB core featuresYugabyteDB core featureskind/enhancementThis is an enhancement of an existing featureThis is an enhancement of an existing featurekind/failing-testTests and testing infraTests and testing infrapriority/mediumMedium priority issueMedium priority issue