diff options
| author | 2015-12-10 17:11:07 -0800 | |
|---|---|---|
| committer | 2015-12-10 17:11:07 -0800 | |
| commit | 0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc (patch) | |
| tree | bb82300941265c6f9093b699c5d4b8d75b97f827 /runtime/runtime.cc | |
| parent | a84784cab1021cb4b432dde2e4a7f421f9717cf0 (diff) | |
Skip DumpForSigQuit if debugger is active
Otherwise, the SIGQUIT dumping may get blocked on the mutator lock
and freeze the debugger.
Future work: Ideally we want to dump what we can instead of nothing.
Bug: 26118154
Change-Id: I365612a3a34ca6d3215892e6c54b649b93365c80
Diffstat (limited to 'runtime/runtime.cc')
| -rw-r--r-- | runtime/runtime.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index b6ba54f2b4..ee703eca39 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -1302,6 +1302,11 @@ void Runtime::RegisterRuntimeNativeMethods(JNIEnv* env) { } void Runtime::DumpForSigQuit(std::ostream& os) { + // Dumping for SIGQIT may cause deadlocks if the the debugger is active. b/26118154 + if (Dbg::IsDebuggerActive()) { + LOG(INFO) << "Skipping DumpForSigQuit due to active debugger"; + return; + } GetClassLinker()->DumpForSigQuit(os); GetInternTable()->DumpForSigQuit(os); GetJavaVM()->DumpForSigQuit(os); |