summaryrefslogtreecommitdiff
path: root/lib/tsan/dd
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-03-18 12:53:05 +0000
committerDmitry Vyukov <dvyukov@google.com>2014-03-18 12:53:05 +0000
commitbdac124f2d8fb16f88c8e5f1abf525aa673088ee (patch)
treec73e58b3b6cab10f387b636e1b1078ee4174cb6f /lib/tsan/dd
parent86dc858403e5d177ef6b6b0ad18ebb05d5639902 (diff)
downloadcompiler-rt-bdac124f2d8fb16f88c8e5f1abf525aa673088ee.tar.gz
tsan: deadlock detector: print 2 stacks per deadlock edge
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204149 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan/dd')
-rw-r--r--lib/tsan/dd/dd_rtl.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/tsan/dd/dd_rtl.cc b/lib/tsan/dd/dd_rtl.cc
index aed9debef..38716d5c3 100644
--- a/lib/tsan/dd/dd_rtl.cc
+++ b/lib/tsan/dd/dd_rtl.cc
@@ -45,8 +45,12 @@ static void ReportDeadlock(Thread *thr, DDReport *rep) {
Printf("Thread %d locks mutex %llu while holding mutex %llu:\n",
rep->loop[i].thr_ctx, rep->loop[i].mtx_ctx1, rep->loop[i].mtx_ctx0);
PrintStackTrace(thr, rep->loop[i].stk[1]);
+ Printf("Mutex %llu was acquired here:\n",
+ rep->loop[i].mtx_ctx0);
+ PrintStackTrace(thr, rep->loop[i].stk[0]);
}
Printf("==============================\n");
+ Die();
}
Callback::Callback(Thread *thr)