summaryrefslogtreecommitdiff
path: root/runtime/runtime_common.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/runtime_common.cc')
-rw-r--r--runtime/runtime_common.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/runtime_common.cc b/runtime/runtime_common.cc
index eae2505ce9..5676577696 100644
--- a/runtime/runtime_common.cc
+++ b/runtime/runtime_common.cc
@@ -371,6 +371,11 @@ static bool IsTimeoutSignal(int signal_number) {
#pragma GCC diagnostic ignored "-Wframe-larger-than="
#endif
+std::string GetFaultMessageForAbortLogging() {
+ Runtime* runtime = Runtime::Current();
+ return (runtime != nullptr) ? runtime->GetFaultMessage() : "";
+}
+
static void HandleUnexpectedSignalCommonDump(int signal_number,
siginfo_t* info,
void* raw_context,
@@ -427,9 +432,9 @@ static void HandleUnexpectedSignalCommonDump(int signal_number,
}
if (dump_on_stderr) {
- std::cerr << "Fault message: " << runtime->GetFaultMessage() << std::endl;
+ std::cerr << "Fault message: " << GetFaultMessageForAbortLogging() << std::endl;
} else {
- LOG(FATAL_WITHOUT_ABORT) << "Fault message: " << runtime->GetFaultMessage();
+ LOG(FATAL_WITHOUT_ABORT) << "Fault message: " << GetFaultMessageForAbortLogging();
}
}
}