[compiler-rt] d53abf8 - sanitizer_common: fix deadlock detector output
Dmitry Vyukov via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 26 07:11:56 PDT 2021
Author: Dmitry Vyukov
Date: 2021-10-26T16:11:52+02:00
New Revision: d53abf834c4fde7a904b9cb7b1913ee38c768f21
URL: https://github.com/llvm/llvm-project/commit/d53abf834c4fde7a904b9cb7b1913ee38c768f21
DIFF: https://github.com/llvm/llvm-project/commit/d53abf834c4fde7a904b9cb7b1913ee38c768f21.diff
LOG: sanitizer_common: fix deadlock detector output
Print PC of the previous lock, not the current one.
The current one will be printed during unwind.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112533
Added:
Modified:
compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
index 1c177d8e7cca..40fe56661250 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
@@ -174,7 +174,7 @@ struct InternalDeadlockDetector {
if (max_idx != MutexInvalid && !mutex_can_lock[max_idx][type]) {
Printf("%s: internal deadlock: can't lock %s under %s mutex\n", SanitizerToolName,
mutex_meta[type].name, mutex_meta[max_idx].name);
- PrintMutexPC(pc);
+ PrintMutexPC(locked[max_idx].pc);
CHECK(0);
}
locked[type].seq = ++sequence;
More information about the llvm-commits
mailing list