Skip to content

[NBS] blockstore-client may crash on shutdown when --grpc-trace is enabled #6500

Description

@sharpeye

blockstore-client may crash during shutdown when the --grpc-trace option is enabled.

A gRPC worker thread can remain active while static objects are being destroyed and attempt to write a trace log message after the static logger object has already been destroyed. This results in a use-after-destruction and a segmentation fault.

The shutdown sequence should ensure that all gRPC activity has completed, or that the gRPC logging callback has been detached, before the logger is destroyed.

Core was generated by `/home/github/.ya/build/build_root/c160/000140/cloud/blockstore/apps/client/bloc'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000013abf87 in IOutputStream::Write (this=0x2620ad0 <(anonymous namespace)::TStdIOStreams* NPrivate::SingletonBase<(anonymous namespace)::TStdIOStreams, 4ul>(std::__y1::atomic<(anonymous namespace)::TStdIOStreams*>&)::buf+16>, buf=0x16b4ffd814a0, len=112) at /actions-runner/_work/nbs/nbs/util/stream/output.h:73
73	            DoWrite(buf, len);
[Current thread is 1 (LWP 2852)]
[arc] Arcadia GDB pretty-printers enabled
#0  0x00000000013abf87 in IOutputStream::Write (this=0x2620ad0 <(anonymous namespace)::TStdIOStreams* NPrivate::SingletonBase<(anonymous namespace)::TStdIOStreams, 4ul>(std::__y1::atomic<(anonymous namespace)::TStdIOStreams*>&)::buf+16>, buf=0x16b4ffd814a0, len=112) at /actions-runner/_work/nbs/nbs/util/stream/output.h:73
#1  TStreamLogBackend::WriteData (this=<optimized out>, rec=...) at /actions-runner/_work/nbs/nbs/library/cpp/logger/stream.cpp:16
#2  0x0000000001cdf315 in NCloud::(anonymous namespace)::TComponentLogBackend::WriteData (this=0x16b4fda96280, rec=...) at /actions-runner/_work/nbs/nbs/cloud/storage/core/libs/diagnostics/logging.cpp:78
#3  0x00000000013ae29f in TLog::TImpl::WriteData(ELogPriority, char const*, unsigned long, TVector<std::__y1::pair<TBasicString<char, std::__y1::char_traits<char>>, TBasicString<char, std::__y1::char_traits<char>>>, std::__y1::allocator<std::__y1::pair<TBasicString<char, std::__y1::char_traits<char>>, TBasicString<char, std::__y1::char_traits<char>>>>>) const (this=<optimized out>, priority=TLOG_INFO, data=0x70 <error: Cannot access memory at address 0x70>, len=6, metaFlags=empty TVector (capacity=0)) at /actions-runner/_work/nbs/nbs/library/cpp/logger/log.cpp:100
#4  TLog::Write(ELogPriority, char const*, unsigned long, TVector<std::__y1::pair<TBasicString<char, std::__y1::char_traits<char>>, TBasicString<char, std::__y1::char_traits<char>>>, std::__y1::allocator<std::__y1::pair<TBasicString<char, std::__y1::char_traits<char>>, TBasicString<char, std::__y1::char_traits<char>>>>>) const (this=<optimized out>, priority=TLOG_INFO, data=0x70 <error: Cannot access memory at address 0x70>, len=6, metaFlags=empty TVector (capacity=0)) at /actions-runner/_work/nbs/nbs/library/cpp/logger/log.cpp:231
#5  0x0000000001c02f52 in TLogElement::DoFlush (this=0x7fe5e2311640) at /actions-runner/_work/nbs/nbs/library/cpp/logger/element.cpp:36
#6  0x0000000001c02e2d in IOutputStream::Finish (this=0x7fe5e2311640) at /actions-runner/_work/nbs/nbs/util/stream/output.h:127
#7  TLogElement::~TLogElement (this=0x2620ad0 <(anonymous namespace)::TStdIOStreams* NPrivate::SingletonBase<(anonymous namespace)::TStdIOStreams, 4ul>(std::__y1::atomic<(anonymous namespace)::TStdIOStreams*>&)::buf+16>) at /actions-runner/_work/nbs/nbs/library/cpp/logger/element.cpp:23
#8  0x0000000002086ccd in NCloud::(anonymous namespace)::AddLog (args=<optimized out>) at /actions-runner/_work/nbs/nbs/cloud/storage/core/libs/grpc/init.cpp:58
#9  0x00000000014d8081 in gpr_log_message (file=<optimized out>, line=-2616160, severity=(unknown: 0x70), message=0x6 <error: Cannot access memory at address 0x6>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gpr/log.cc:95
#10 0x00000000014e43f5 in gpr_log (file=0x8a57fd "/actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/surface/init.cc", line=177, severity=GPR_LOG_SEVERITY_INFO, format=0x90e9fb "grpc_shutdown(void)") at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gpr/linux/log.cc:69
#11 0x0000000001577627 in grpc_shutdown () at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/surface/init.cc:177
#12 0x0000000001581c89 in grpc_core::KeepsGrpcInitialized::~KeepsGrpcInitialized (this=0x16b4fe60d6f0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/surface/init_internally.h:30
#13 grpc_event_engine::experimental::PosixEventEngine::~PosixEventEngine (this=0x16b4fe60d6f0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/posix_engine/posix_engine.cc:439
#14 0x00000000015820be in grpc_event_engine::experimental::PosixEventEngine::~PosixEventEngine (this=0x2620ad0 <(anonymous namespace)::TStdIOStreams* NPrivate::SingletonBase<(anonymous namespace)::TStdIOStreams, 4ul>(std::__y1::atomic<(anonymous namespace)::TStdIOStreams*>&)::buf+16>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/posix_engine/posix_engine.cc:418
#15 0x000000000157eb23 in std::__y1::__shared_count::__release_shared[abi:v180000]() (this=0x16b4fda54320) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:186
#16 std::__y1::__shared_weak_count::__release_shared[abi:v180000]() (this=0x16b4fda54320) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:240
#17 std::__y1::shared_ptr<grpc_event_engine::experimental::EventEngine>::~shared_ptr[abi:v180000]() (this=0x16b4ffc48430) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:801
#18 grpc_core::ChannelArgTypeTraits<std::__y1::shared_ptr<grpc_event_engine::experimental::EventEngine>, void>::VTable()::'lambda0'(void*)::operator()(void*) const (p=0x16b4ffc48430, this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/channel/channel_args.h:143
#19 grpc_core::ChannelArgTypeTraits<std::__y1::shared_ptr<grpc_event_engine::experimental::EventEngine>, void>::VTable()::'lambda0'(void*)::__invoke(void*) (p=0x16b4ffc48430) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/channel/channel_args.h:143
#20 0x00000000015678be in grpc_core::ChannelArgs::Pointer::~Pointer (this=0x16b4ffd814a0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/channel/channel_args.h:245
#21 std::__y1::__variant_detail::__alt<2ul, grpc_core::ChannelArgs::Pointer>::~__alt (this=0x16b4ffd814a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:739
#22 auto std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::__destroy[abi:v180000]()::'lambda'(auto&)::operator()<std::__y1::__variant_detail::__alt<2ul, grpc_core::ChannelArgs::Pointer>>(auto&) const (this=<optimized out>, __alt=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:878
#23 decltype(std::declval<auto>()(std::declval<std::__y1::__variant_detail::__alt<2ul, grpc_core::ChannelArgs::Pointer>&>())) std::__y1::__invoke[abi:v180000]<std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::__destroy[abi:v180000]()::'lambda'(auto&), std::__y1::__variant_detail::__alt<2ul, grpc_core::ChannelArgs::Pointer>&>(auto&&, std::__y1::__variant_detail::__alt<2ul, grpc_core::ChannelArgs::Pointer>&) (__f=..., __args=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__type_traits/invoke.h:344
#24 decltype(auto) std::__y1::__variant_detail::__visitation::__base::__dispatcher<2ul>::__dispatch[abi:v180000]<std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::__destroy[abi:v180000]()::'lambda'(auto&)&&, std::__y1::__variant_detail::__base<(std::__y1::__variant_detail::_Trait)1, int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>&>(auto, std::__y1::__variant_detail::__base<(std::__y1::__variant_detail::_Trait)1, int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>&) (__f=..., __vs=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:572
#25 0x0000000001568fd4 in decltype(auto) std::__y1::__variant_detail::__visitation::__base::__visit_alt[abi:v180000]<std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::__destroy[abi:v180000]()::'lambda'(auto&), std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>&>(auto&&, std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>&) (__visitor=..., __vs=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:535
#26 std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::__destroy[abi:v180000]() (this=0x16b4ffd814a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:878
#27 std::__y1::__variant_detail::__dtor<std::__y1::__variant_detail::__traits<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>, (std::__y1::__variant_detail::_Trait)1>::~__dtor() (this=0x16b4ffd814a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:878
#28 std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>::~variant[abi:v180000]() (this=0x16b4ffd814a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/variant:1399
#29 std::__y1::pair<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::~pair() (this=0x16b4ffa42868) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/stlfwd:14
#30 grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node::~Node() (this=0x16b4ffa42858) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/avl/avl.h:91
#31 0x0000000001569034 in std::__y1::__shared_count::__release_shared[abi:v180000]() (this=0x16b4ffa42840) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:186
#32 std::__y1::__shared_weak_count::__release_shared[abi:v180000]() (this=0x16b4ffa42840) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:240
#33 std::__y1::shared_ptr<grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node>::~shared_ptr[abi:v180000]() (this=0x16b4ffa42578) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:801
#34 grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node::~Node() (this=0x16b4ffa42548) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/avl/avl.h:91
#35 0x0000000001568f92 in std::__y1::__shared_count::__release_shared[abi:v180000]() (this=0x16b4ffa42530) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:186
#36 std::__y1::__shared_weak_count::__release_shared[abi:v180000]() (this=0x16b4ffa42530) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:240
#37 std::__y1::shared_ptr<grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node>::~shared_ptr[abi:v180000]() (this=0x16b4ffa42438) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:801
#38 grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node::~Node() (this=0x16b4ffa423f8) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/avl/avl.h:91
#39 0x0000000001569034 in std::__y1::__shared_count::__release_shared[abi:v180000]() (this=0x16b4ffa423e0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:186
#40 std::__y1::__shared_weak_count::__release_shared[abi:v180000]() (this=0x16b4ffa423e0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:240
#41 std::__y1::shared_ptr<grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node>::~shared_ptr[abi:v180000]() (this=0x16b4ffa425e8) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:801
#42 grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node::~Node() (this=0x16b4ffa425b8) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/avl/avl.h:91
#43 0x00000000015649f1 in std::__y1::__shared_count::__release_shared[abi:v180000]() (this=0x16b4ffa425a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:186
#44 std::__y1::__shared_weak_count::__release_shared[abi:v180000]() (this=0x16b4ffa425a0) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:240
#45 std::__y1::shared_ptr<grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::Node>::~shared_ptr[abi:v180000]() (this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h:801
#46 grpc_core::AVL<TBasicString<char, std::__y1::char_traits<char>>, std::__y1::variant<int, TBasicString<char, std::__y1::char_traits<char>>, grpc_core::ChannelArgs::Pointer>>::~AVL() (this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/avl/avl.h:31
#47 grpc_core::ChannelArgs::~ChannelArgs (this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/channel/channel_args.cc:71
#48 0x00000000016acbe3 in grpc_core::SubchannelKey::~SubchannelKey (this=0x16b4ff981c20) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel_pool_interface.h:43
#49 grpc_core::Subchannel::~Subchannel (this=0x16b4ff981c00) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel.cc:651
#50 0x00000000016acd3e in grpc_core::Subchannel::~Subchannel (this=0x2620ad0 <(anonymous namespace)::TStdIOStreams* NPrivate::SingletonBase<(anonymous namespace)::TStdIOStreams, 4ul>(std::__y1::atomic<(anonymous namespace)::TStdIOStreams*>&)::buf+16>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel.cc:640
#51 0x00000000016b194e in grpc_core::DualRefCounted<grpc_core::Subchannel>::WeakUnref (this=0x16b4ff981c00) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gprpp/dual_ref_counted.h:179
#52 grpc_core::WeakRefCountedPtr<grpc_core::Subchannel>::reset (this=<optimized out>, value=0x0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gprpp/ref_counted_ptr.h:254
#53 grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0::operator()() (this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel.cc:913
#54 decltype(std::declval<grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&>()()) std::__y1::__invoke[abi:v180000]<grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&>(grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&) (__f=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__type_traits/invoke.h:344
#55 std::__y1::invoke_result<grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&>::type std::__y1::invoke[abi:v180000]<grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&>(grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&) (__f=...) at /actions-runner/_work/nbs/nbs/contrib/libs/cxxsupp/libcxx/include/__functional/invoke.h:30
#56 void y_absl::lts_y_20240116::internal_any_invocable::InvokeR<void, grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&, void>(grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&) (f=...) at /actions-runner/_work/nbs/nbs/contrib/restricted/abseil-cpp-tstring/y_absl/functional/internal/any_invocable.h:132
#57 void y_absl::lts_y_20240116::internal_any_invocable::LocalInvoker<false, void, grpc_core::Subchannel::OnConnectingFinishedLocked(y_absl::lts_y_20240116::Status)::$_0&>(y_absl::lts_y_20240116::internal_any_invocable::TypeErasedState*) (state=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/restricted/abseil-cpp-tstring/y_absl/functional/internal/any_invocable.h:310
#58 0x000000000158392b in y_absl::lts_y_20240116::internal_any_invocable::Impl<void ()>::operator()() (this=0x16b4ff787bd0) at /actions-runner/_work/nbs/nbs/contrib/restricted/abseil-cpp-tstring/y_absl/functional/internal/any_invocable.h:868
#59 grpc_event_engine::experimental::PosixEventEngine::ClosureData::Run (this=0x16b4ff787bc0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/posix_engine/posix_engine.cc:413
#60 0x000000000159ef48 in y_absl::lts_y_20240116::internal_any_invocable::Impl<void ()>::operator()() (this=0x7fe5e2311b30) at /actions-runner/_work/nbs/nbs/contrib/restricted/abseil-cpp-tstring/y_absl/functional/internal/any_invocable.h:868
#61 grpc_event_engine::experimental::ThreadPool::Queue::Step (this=0x16b4ff787878) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/thread_pool.cc:170
#62 0x000000000159ed48 in grpc_event_engine::experimental::ThreadPool::ThreadFunc (state=std::__y1::shared_ptr (count 2, weak 0) = 0x16b4ff787878) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/thread_pool.cc:140
#63 0x000000000159ff2e in grpc_event_engine::experimental::ThreadPool::StartThread(std::__y1::shared_ptr<grpc_event_engine::experimental::ThreadPool::State>, grpc_event_engine::experimental::ThreadPool::StartThreadReason)::$_0::operator()(void*) const (this=<optimized out>, arg=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/thread_pool.cc:132
#64 grpc_event_engine::experimental::ThreadPool::StartThread(std::__y1::shared_ptr<grpc_event_engine::experimental::ThreadPool::State>, grpc_event_engine::experimental::ThreadPool::StartThreadReason)::$_0::__invoke(void*) (arg=0x16b4fda542c0) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/event_engine/thread_pool.cc:113
#65 0x000000000156428c in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::operator()(void*) const (v=<optimized out>, this=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gprpp/posix/thd.cc:135
#66 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) (v=<optimized out>) at /actions-runner/_work/nbs/nbs/contrib/libs/grpc/src/core/lib/gprpp/posix/thd.cc:117
#67 0x00007fe5e449caa4 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#68 0x00007fe5e4529c6c in ?? () from /lib/x86_64-linux-gnu/libc.so.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions