Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
c3ph3us opened this issue Feb 9, 2020 · 1 comment
Open

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

c3ph3us opened this issue Feb 9, 2020 · 1 comment

Comments

@c3ph3us
Copy link

c3ph3us commented Feb 9, 2020

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
Copy link
Author

c3ph3us commented Apr 16, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant