summaryrefslogtreecommitdiff
path: root/runtime/runtime_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/runtime_linux.cc')
-rw-r--r--runtime/runtime_linux.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/runtime_linux.cc b/runtime/runtime_linux.cc
index 424dcf85cf..6313553255 100644
--- a/runtime/runtime_linux.cc
+++ b/runtime/runtime_linux.cc
@@ -20,6 +20,7 @@
#include <iostream>
+#include "base/memory_tool.h"
#include "runtime_common.h"
namespace art {
@@ -63,6 +64,16 @@ void HandleUnexpectedSignalLinux(int signal_number, siginfo_t* info, void* raw_c
}
void Runtime::InitPlatformSignalHandlers() {
+ constexpr bool kIsASAN =
+#ifdef ADDRESS_SANITIZER
+ true;
+#else
+ false;
+#endif
+ if (!kIsTargetBuild && kIsASAN) {
+ // (Temporarily) try and let ASAN print abort stacks, as our code sometimes fails. b/31098551
+ return;
+ }
// On the host, we don't have debuggerd to dump a stack for us when something unexpected happens.
InitPlatformSignalHandlersCommon(HandleUnexpectedSignalLinux,
nullptr,