Print mark stack address in ~Thread()
Print thread-local mark stack's address in the assertion that it
shouldn't exist in Thread destructor. This is to confirm if there is
memory corruption causing the bug.
Bug: 140119552
Test: art/test/testrunner/testrunner.py
Change-Id: Iad6998a64f240a8e621e5d3e46baad7b56833f19
diff --git a/runtime/thread.cc b/runtime/thread.cc
index 10a4365..59a38e1 100644
--- a/runtime/thread.cc
+++ b/runtime/thread.cc
@@ -2463,9 +2463,10 @@
CHECK_EQ(tls32_.is_transitioning_to_runnable, false);
if (kUseReadBarrier) {
- CHECK(tlsPtr_.thread_local_mark_stack == nullptr);
Runtime::Current()->GetHeap()->ConcurrentCopyingCollector()
->AssertNoThreadMarkStackMapping(this);
+ gc::accounting::AtomicStack<mirror::Object>* tl_mark_stack = GetThreadLocalMarkStack();
+ CHECK(tl_mark_stack == nullptr) << "mark-stack: " << tl_mark_stack;
}
// Make sure we processed all deoptimization requests.
CHECK(tlsPtr_.deoptimization_context_stack == nullptr) << "Missed deoptimization";