diff options
Diffstat (limited to 'runtime/runtime_common.cc')
-rw-r--r-- | runtime/runtime_common.cc | 9 |
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(); } } } |