How to disable DeadlockCheck in ABSL ? #1969
Unanswered
dembekadam
asked this question in
Q&A
Replies: 2 comments
-
This suggests that have more than one copy of Abseil linked into your program. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
We are building shared abseil library .so. The application does not use abseil directly but is using grpc and prtobuf shared libraries that require absl. In the past each grpc and protobuf used it own abseil linked staticaly but this was causing some problems. Now both should use the same shared library. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
W use GRPC 1.74.0 build with ABSL 2025_05_12 .
In case of problems with connection we sporadically see ABORT called from DeadlockCheck in production code.
ABSL_RAW_LOG(FATAL, "dying due to potential deadlock");
base on grpc community issues it does not look like any real deadlock
grpc/grpc#39461
grpc/grpc#40390
We tried to disable this check by setting
absl::SetMutexDeadlockDetectionMode(absl::OnDeadlockCycle::kReport); in application code
compiling ABSL library with cmake DCMAKE_BUILD_TYPE=Release to define NDEBUG
-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=OFF -DCMAKE_CXX_STANDARD=17 -DABSL_PROPAGATE_CXX_STD=ON -DBUILD_SHARED_LIBS=ON
However it looks like DeadlockCheck still calls ABSL_RAW_LOG(FATAL, "dying due to potential deadlock");
Is there other way to disable this abort and leave only logs ? Should we set
absl::SetMutexDeadlockDetectionMode(absl::OnDeadlockCycle::kIgnore);
Beta Was this translation helpful? Give feedback.
All reactions