summaryrefslogtreecommitdiff
path: root/runtime/art_method.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2023-10-07 18:20:55 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2023-10-10 08:51:40 +0000
commit30ec3a148e19fba2d54cdf482b16a9b82bec6da4 (patch)
tree7027e78d73932971beb05db30ad0c6bfaaa7cb5c /runtime/art_method.cc
parentc3ff31ceac2021fc0dca3ea159813c776a908dcb (diff)
Add debugging info for crash on bots.
Test: test.py Change-Id: I08674ce18031c3bb0cfdd150e3265132f7f946a7
Diffstat (limited to 'runtime/art_method.cc')
-rw-r--r--runtime/art_method.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/art_method.cc b/runtime/art_method.cc
index 5872a66d10..7fc3ad4d5a 100644
--- a/runtime/art_method.cc
+++ b/runtime/art_method.cc
@@ -647,7 +647,15 @@ const OatQuickMethodHeader* ArtMethod::GetOatQuickMethodHeader(uintptr_t pc) {
OatFile::OatMethod oat_method =
FindOatMethodFor(this, class_linker->GetImagePointerSize(), &found);
if (!found) {
- CHECK(IsNative()) << PrettyMethod();
+ if (!IsNative()) {
+ PrintFileToLog("/proc/self/maps", LogSeverity::FATAL_WITHOUT_ABORT);
+ MemMap::DumpMaps(LOG_STREAM(FATAL_WITHOUT_ABORT), /* terse= */ true);
+ LOG(FATAL)
+ << PrettyMethod()
+ << " pc=" << pc
+ << ", entrypoint= " << std::hex << reinterpret_cast<uintptr_t>(existing_entry_point)
+ << ", jit= " << jit;
+ }
// We are running the GenericJNI stub. The entrypoint may point
// to different entrypoints or to a JIT-compiled JNI stub.
DCHECK(class_linker->IsQuickGenericJniStub(existing_entry_point) ||