Rare hang (~1 in 3000) in grpc when using abseil sync primitives on Windows.
- Dominant language
- C++
- Stars
- 45.3k
- Forks
- 11.4k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 47
Description
When using opentelemetry-cpp, and the `otlp grpc` exporter, a rare hang can be observed (~1 in 3000) due to the use of `abseil` primitives
### What version of gRPC and what language are you using?
1.71.0
### What operating system (Linux, Windows,...) and version?
Windows
### What runtime / compiler are you using (e.g. python version or version of gcc)
Visual Studio Enterprise 2022, 10.0.26100.0 Windows SDK, and MSVC 14.43.34808, e.g.
```
C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.43.34808/bin/HostX64/x64/cl.exe
```
Compiled through bazel 8.2.1
### What did you do?
- A repro case and details (callstack, etc.) are provided here - https://github.com/malkia/grpc_absl_hang
### What did you expect to see?
No hangs.
### What did you see instead?
Hang. Granted only 1 in 3000, but that makes it even harder to spot. Not much impact for users, but we'll be hammered with lots of hanging job in our test clusters, where we use OpenTelemetry C++ to emit metrics.
See [TROUBLESHOOTING.md](https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md) for how to diagnose problems better.
### Anything else we should know about your project / environment?
bazel mod graph shows these (omitted others non-relevant here)
opentelemetry-cpp@1.19.0
grpc@1.71.0
abseil-cpp@20240722.0
Initially created similar issue for opentelemetry itself here - https://github.com/open-telemetry/opentelemetry-cpp/issues/3372
Contributor guide
Assessment
This issue has not been assessed yet.