What version of gRPC and what language are you using?
v1.71.0(vcpkg-v1.71.0-294d60a403) C++
What operating system (Linux, Windows,...) and version?
Windows 10.0.19044(5965) Kernel: 6.2.19041.5965
What runtime / compiler are you using (e.g. python version or version of gcc)
MSVC 19.42.34433.0
What did you do?
Normal use of gRPC.
What did you expect to see?
The process runs stably.
What did you see instead?
The process aborted.
[0x0] ntdll!NtDelayExecution+0x14 0x523defec68 0x7fffc4fc629e
[0x1] KERNELBASE!SleepEx+0x9e 0x523defec70 0x7ff6262be6fe
[0x2] app_name!crashpad::`anonymous namespace'::UnhandledExceptionHandler+0xee 0x523defed10 0x7ff6262bb90a
[0x3] app_name!crashpad::`anonymous namespace'::HandleAbortSignal+0xaa 0x523defee60 0x7ff6274c14de
[0x4] app_name!raise+0x23e 0x523deff420 0x7ff627455f5c
[0x5] app_name!abort+0x18 0x523deff490 0x7ff627376450
[0x6] app_name!absl::lts_20250127::log_internal::LogMessage::FailWithoutStackTrace+0x10 0x523deff4c0 0x7ff6273763a6
[0x7] app_name!absl::lts_20250127::log_internal::LogMessage::Die+0x26 0x523deff4f0 0x7ff627376a11
[0x8] app_name!absl::lts_20250127::log_internal::LogMessage::SendToLog+0x13c (Inline Function) (Inline Function)
[0x9] app_name!absl::lts_20250127::log_internal::LogMessage::Flush+0x321 0x523deff520 0x7ff627374eb9
[0xa] app_name!absl::lts_20250127::log_internal::LogMessageFatal::~LogMessageFatal+0x9 0x523deff650 0x7ff626c7f51b
[0xb] app_name!grpc_event_engine::experimental::WinSocket::~WinSocket+0x15b 0x523deff680 0x7ff626abc214
[0xc] app_name!grpc_event_engine::experimental::WindowsEventEngine::ConnectionState::~ConnectionState+0xe4 0x523deff770 0x7ff626ac239c
[0xd] app_name!std::_Ref_count_base::_Decref+0x19 (Inline Function) (Inline Function)
[0xe] app_name!std::_Ptr_base<grpc_event_engine::experimental::WindowsEventEngine::ConnectionState>::_Decref+0x1b (Inline Function) (Inline Function)
[0xf] app_name!std::shared_ptr<grpc_event_engine::experimental::WindowsEventEngine::ConnectionState>::{dtor}+0x1b (Inline Function) (Inline Function)
[0x10] app_name!std::shared_ptr<grpc_event_engine::experimental::WindowsEventEngine::ConnectionState>::reset+0x2c (Inline Function) (Inline Function)
[0x11] app_name!grpc_event_engine::experimental::WindowsEventEngine::ConnectionState::DeadlineTimerCallback::Run+0x6c 0x523deff7a0 0x7ff626ac27a5
[0x12] app_name!absl::lts_20250127::internal_any_invocable::Impl<void __cdecl(void)>::operator()+0xa (Inline Function) (Inline Function)
[0x13] app_name!grpc_event_engine::experimental::WindowsEventEngine::TimerClosure::Run+0x175 0x523deff7e0 0x7ff626d904e9
[0x14] app_name!grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::Step+0x2b9 0x523deff8e0 0x7ff626d90838
[0x15] app_name!grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::ThreadBody+0x278 0x523deff980 0x7ff626d875a7
[0x16] app_name!grpc_event_engine::experimental::WorkStealingThreadPool::WorkStealingThreadPoolImpl::StartThread::__l2::<lambda_1d00dca3b95e322e89ca645f3f2b2959>::operator()+0x5 (Inline Function) (Inline Function)
[0x17] app_name!<lambda_1d00dca3b95e322e89ca645f3f2b2959>::<lambda_invoker_cdecl>+0x17 0x523deffa00 0x7ff627324989
[0x18] app_name!`anonymous namespace'::ThreadInternalsWindows::thread_body+0xb9 0x523deffa30 0x7fffc5297374
[0x19] KERNEL32!BaseThreadInitThunk+0x14 0x523deffa80 0x7fffc557cc91
[0x1a] ntdll!RtlUserThreadStart+0x21 0x523deffab0 0x0
Anything else we should know about your project / environment?
I took a quick look at the source code and found that the assertion failed during WinSocket destructor.
WinSocket::~WinSocket() {
CHECK(is_shutdown_.load());
// ...
}
https://github.com/grpc/grpc/blob/v1.71.0/src/core/lib/event_engine/windows/win_socket.cc#L48
What version of gRPC and what language are you using?
v1.71.0(vcpkg-v1.71.0-294d60a403) C++
What operating system (Linux, Windows,...) and version?
Windows 10.0.19044(5965) Kernel: 6.2.19041.5965
What runtime / compiler are you using (e.g. python version or version of gcc)
MSVC 19.42.34433.0
What did you do?
Normal use of gRPC.
What did you expect to see?
The process runs stably.
What did you see instead?
The process aborted.
Anything else we should know about your project / environment?
I took a quick look at the source code and found that the assertion failed during WinSocket destructor.