whale icon indicating copy to clipboard operation
whale copied to clipboard

instrumentation.cc:986] Check failed: !method->IsNative()

Open c3ph3us opened this issue 6 years ago • 1 comments

often when debugging app breakpoins make app crash

     A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 18249 (JDWP Transport ), pid 18216 (xxxx)
     *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
     android.os.Build fingerprint: 'Android/sdk_phone_x86_64/generic_x86_64:10/QPP6.190730.005.B1/5775370:userdebug/test-keys'
     Revision: '0'
     ABI: 'x86_64'
     Timestamp: 2020-02-09 21:43:50+0100
     pid: 18216, tid: 18249, name: JDWP Transport  >>> xxxx <<<
    uid: 10106
     signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
     Abort message: 'Check failed: !method->IsNative() '
         rax 0000000000000000  rbx 0000000000004728  rcx 00007a26882a63f8  rdx 0000000000000006
         r8  00007a25fa409940  r9  0000000000000000  r10 00007a25aefc5660  r11 0000000000000246
         r12 000000000000005d  r13 00007a2689bf0258  r14 00007a25aefc56e8  r15 0000000000004749
         rdi 0000000000004728  rsi 0000000000004749
         rbp 00007a25fa409940  rsp 00007a25aefc5658  rip 00007a26882a63f8
    backtrace:
     #00 pc 00000000000943f8  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+24) (BuildId: a08a19770d6696739c847e29c3f5f650)
     #01 pc 0000000000097146  /apex/com.android.runtime/lib64/bionic/libc.so (abort+182) (BuildId: a08a19770d6696739c847e29c3f5f650)
     #02 pc 000000000055321f  /apex/com.android.runtime/lib64/libart.so (art::Runtime::Abort(char const*)+2399) (BuildId: 8bb3225e7c408f2ca23abac3db0417f2)
     #03 pc 000000000000c873  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+611) (BuildId: 40d2b536dbf0730fdc31abd2b469f94f)
     #04 pc 0000000000303329  /apex/com.android.runtime/lib64/libart.so (art::instrumentation::android.app.Instrumentation::Undeoptimize(art::ArtMethod*)+761) (BuildId: 8bb3225e7c408f2ca23abac3db0417f2)
     #05 pc 000000000002fe17  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::DeoptManager::PerformLimitedUndeoptimization(art::Thread*, art::ArtMethod*)+199) (BuildId: fcb5650c971027b975909ccf15919720)
     #06 pc 000000000002fa2c  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::DeoptManager::RemoveMethodBreakpoint(art::ArtMethod*)+444) (BuildId: fcb5650c971027b975909ccf15919720)
     #07 pc 000000000005095c  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::BreakpointUtil::ClearBreakpoint(_jvmtiEnv*, _jmethodID*, long)+956) (BuildId: fcb5650c971027b975909ccf15919720)
     #08 pc 000000000002a811  /apex/com.android.runtime/lib64/libjdwp.so (eventFilterRestricted_deinstall+481) (BuildId: 0832054aa2d4fc0bb61a3ed135cfa687)
     #09 pc 000000000002afe9  /apex/com.android.runtime/lib64/libjdwp.so (eventHandler_freeByID+265) (BuildId: 0832054aa2d4fc0bb61a3ed135cfa687)
     #10 pc 000000000001b1de  /apex/com.android.runtime/lib64/libjdwp.so (clearCommand+78) (BuildId: 0832054aa2d4fc0bb61a3ed135cfa687)
     #11 pc 00000000000286f6  /apex/com.android.runtime/lib64/libjdwp.so (debugLoop_run+566) (BuildId: 0832054aa2d4fc0bb61a3ed135cfa687)
     #12 pc 000000000003af00  /apex/com.android.runtime/lib64/libjdwp.so (acceptThread+256) (BuildId: 0832054aa2d4fc0bb61a3ed135cfa687)
     #13 pc 00000000000aa58d  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::AgentCallback(void*)+1133) (BuildId: fcb5650c971027b975909ccf15919720)
     #14 pc 0000000000100fce  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+30) (BuildId: a08a19770d6696739c847e29c3f5f650)
     #15 pc 0000000000098fe7  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55) (BuildId: a08a19770d6696739c847e29c3f5f650)


 instrumentation.cc:986] xxxxx.runnable.Check failed: !method->IsNative() 
 runtime.cc:630] Runtime aborting...
 runtime.cc:630] Skipping all-threads dump as mutator lock is exclusively held.Aborting thread:
 runtime.cc:630] "JDWP Transport Listener: dt_fd_forward" prio=5 tid=16 Suspended
 runtime.cc:630]   | group="" sCount=0 dsCount=0 flags=0 obj=0x12c40ba8 self=0x7a25fa464400
 runtime.cc:630]   | sysTid=18249 nice=0 cgrp=default sched=0/0 handle=0x7a25aefc5d50
 runtime.cc:630]   | state= xxx.R schedstat=( 1186341590 717812868 4312 ) utm=91 stm=26 core=1 HZ=100
 runtime.cc:630]   | stack=0x7a25aeecf000-0x7a25aeed1000 stackSize=991KB
 runtime.cc:630]   | held mutexes= "abort lock"
 runtime.cc:630]   native: #00 pc 000000000048df0e  /apex/com.android.runtime/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+126)
 runtime.cc:630]   native: #01 pc 00000000005a77b3  /apex/com.android.runtime/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+675)
 runtime.cc:630]   native: #02 pc 0000000000565f4f  /apex/com.android.runtime/lib64/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, art::Thread*) const+47)
 runtime.cc:630]   native: #03 pc 000000000055326d  /apex/com.android.runtime/lib64/libart.so (art::Runtime::Abort(char const*)+2477)
 runtime.cc:630]   native: #04 pc 000000000000c873  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+611)
 runtime.cc:630]   native: #05 pc 0000000000303329  /apex/com.android.runtime/lib64/libart.so (art::instrumentation::android.app.Instrumentation::Undeoptimize(art::ArtMethod*)+761)
 runtime.cc:630]   native: #06 pc 000000000002fe17  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::DeoptManager::PerformLimitedUndeoptimization(art::Thread*, art::ArtMethod*)+199)
 runtime.cc:630]   native: #07 pc 000000000002fa2c  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::DeoptManager::RemoveMethodBreakpoint(art::ArtMethod*)+444)
 runtime.cc:630]   native: #08 pc 000000000005095c  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::BreakpointUtil::ClearBreakpoint(_jvmtiEnv*, _jmethodID*, long)+956)
 runtime.cc:630]   native: #09 pc 000000000002a811  /apex/com.android.runtime/lib64/libjdwp.so (eventFilterRestricted_deinstall+481)
 runtime.cc:630]   native: #10 pc 000000000002afe9  /apex/com.android.runtime/lib64/libjdwp.so (eventHandler_freeByID+265)
 runtime.cc:630]   native: #11 pc 000000000001b1de  /apex/com.android.runtime/lib64/libjdwp.so (clearCommand+78)
 runtime.cc:630]   native: #12 pc 00000000000286f6  /apex/com.android.runtime/lib64/libjdwp.so (debugLoop_run+566)
 runtime.cc:630]   native: #13 pc 000000000003af00  /apex/com.android.runtime/lib64/libjdwp.so (acceptThread+256)
 runtime.cc:630]   native: #14 pc 00000000000aa58d  /apex/com.android.runtime/lib64/libopenjdkjvmti.so (openjdkjvmti::AgentCallback(void*)+1133)
 runtime.cc:630]   native: #15 pc 0000000000100fce  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+30)
 runtime.cc:630]   native: #16 pc 0000000000098fe7  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55)
 runtime.cc:630]   (no managed stack frames)
 runtime.cc:630]
        

c3ph3us avatar Feb 09 '20 20:02 c3ph3us

failing method stack:

art::instrumentation::Instrumentation::Undeoptimize(art::ArtMethod*) openjdkjvmti::DeoptManager::PerformLimitedUndeoptimization(art::Thread*, openjdkjvmti::DeoptManager::RemoveMethodBreakpoint(art::ArtMethod*) openjdkjvmti::BreakpointUtil::ClearBreakpoint(_jvmtiEnv*, _jmethodID*, long)

failing method body:

void Instrumentation::Undeoptimize(ArtMethod* method) { CHECK(!method->IsNative()); CHECK(!method->IsProxyMethod()); CHECK(method->IsInvokable());

source: on master https://android.googlesource.com/platform/art/+/master/runtime/instrumentation.cc#1036 or when master will change https://android.googlesource.com/platform/art/+/android-6.0.0_r26/runtime/instrumentation.cc#740

c3ph3us avatar Apr 16 '20 14:04 c3ph3us