summaryrefslogtreecommitdiff
path: root/runtime/runtime_linux.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2016-03-09 17:30:50 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-03-09 17:30:50 +0000
commit2048b01dfec8877d672a4da41a158f68b12b5337 (patch)
treeba361d4a97c0bae5f51b9bf269d26ebb094d8afb /runtime/runtime_linux.cc
parentfa2cda44cb53f01a2bbfd410724a4bc314a236d1 (diff)
parent0d0ce279ce1404f8b00d861b2fce123a71bb3312 (diff)
Merge "ART: Enable native stack dumping on timeout"
Diffstat (limited to 'runtime/runtime_linux.cc')
-rw-r--r--runtime/runtime_linux.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/runtime_linux.cc b/runtime/runtime_linux.cc
index 8237b06a56..bc963c5b8c 100644
--- a/runtime/runtime_linux.cc
+++ b/runtime/runtime_linux.cc
@@ -36,6 +36,7 @@ namespace art {
static constexpr bool kDumpHeapObjectOnSigsevg = false;
static constexpr bool kUseSigRTTimeout = true;
+static constexpr bool kDumpNativeStackOnTimeout = true;
struct Backtrace {
public:
@@ -350,7 +351,9 @@ void HandleUnexpectedSignal(int signal_number, siginfo_t* info, void* raw_contex
if (runtime != nullptr) {
if (IsTimeoutSignal(signal_number)) {
// Special timeout signal. Try to dump all threads.
- runtime->GetThreadList()->DumpForSigQuit(LOG(INTERNAL_FATAL));
+ // Note: Do not use DumpForSigQuit, as that might disable native unwind, but the native parts
+ // are of value here.
+ runtime->GetThreadList()->Dump(LOG(INTERNAL_FATAL), kDumpNativeStackOnTimeout);
}
gc::Heap* heap = runtime->GetHeap();
LOG(INTERNAL_FATAL) << "Fault message: " << runtime->GetFaultMessage();