diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2014-03-18 12:53:05 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2014-03-18 12:53:05 +0000 |
commit | bdac124f2d8fb16f88c8e5f1abf525aa673088ee (patch) | |
tree | c73e58b3b6cab10f387b636e1b1078ee4174cb6f /lib/tsan/dd | |
parent | 86dc858403e5d177ef6b6b0ad18ebb05d5639902 (diff) | |
download | compiler-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.cc | 4 |
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) |