diff options
| -rw-r--r-- | runtime/runtime.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index a8ccf89cb2..a67a6aaeaa 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -417,6 +417,12 @@ struct AbortState { return; } Thread* self = Thread::Current(); + + // Dump all threads first and then the aborting thread. While this is counter the logical flow, + // it improves the chance of relevant data surviving in the Android logs. + + DumpAllThreads(os, self); + if (self == nullptr) { os << "(Aborting thread was not attached to runtime!)\n"; DumpKernelStack(os, GetTid(), " kernel: ", false); @@ -432,7 +438,6 @@ struct AbortState { } } } - DumpAllThreads(os, self); } // No thread-safety analysis as we do explicitly test for holding the mutator lock. |