Skip to content

Android ART VM aborted on BridJ.register() #75

Description

@simingweng

It's a Android Lollipop device. I used JNAerator to generate the mapping code, but BridJ.register() will cause the ART runtime to abort immediately. Below is the trace stack causing the problem. Is it due to somewhat the more restrict JNI checking added in Lollipop for ART runtime?

08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: jfieldID was NULL
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] in call to GetBooleanField
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] from long org.bridj.JNI.bindJavaMethodsToCFunctions(org.bridj.MethodCallInfo[])
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] "Binder_2" prio=5 tid=8 Runnable
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x12c6e080 self=0xaea06400
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] | sysTid=32261 nice=0 cgrp=apps sched=0/0 handle=0xae97a080
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] | state=R schedstat=( 98825987 16838804 98 ) utm=9 stm=0 core=0 HZ=100
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] | stack=0xb3f46000-0xb3f48000 stackSize=1012KB
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #00 pc 00004640 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext_)+23)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #1 pc 00002e8d /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext_)+8)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #2 pc 00248971 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::1::char_traits >&, int, char const, art::mirror::ArtMethod)+68)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #3 pc 0022d5d3 /system/lib/libart.so (art::Thread::Dump(std::1::basic_ostream<char, std::1::char_traits >&) const+146)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #4 pc 000b18db /system/lib/libart.so (art::JniAbort(char const
, char const
)+582)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #5 pc 000b2015 /system/lib/libart.so (art::JniAbortF(char const
, char const
, ...)+60)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #6 pc 000b4051 /system/lib/libart.so (art::ScopedCheck::CheckInstanceFieldID(jobject, jfieldID)+560)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #7 pc 000b7a3f /system/lib/libart.so (art::CheckJNI::GetBooleanField(JNIEnv, jobject, _jfieldID*)+50)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #8 pc 0000e658 /data/app/com.jdsu.drivetest.dcimanager-1/lib/arm/libbridj.so (Java_org_bridj_JNI_bindJavaMethodsToCFunctions+852)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] native: #9 pc 00127c45 /data/dalvik-cache/arm/data@app@com.jdsu.drivetest.dcimanager-1@base.apk@classes.dex (Java_org_bridj_JNI_bindJavaMethodsToCFunctions___3Lorg_bridj_MethodCallInfo_2+100)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.JNI.bindJavaMethodsToCFunctions(Native method)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.NativeEntities.addDefinitions(NativeEntities.java:149)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.CRuntime.register(CRuntime.java:468)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.CRuntime.register(CRuntime.java:345)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.BridJ.register(BridJ.java:355)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at org.bridj.BridJ.register(BridJ.java:192)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] - locked <0x31a7d87e> (a java.lang.Class<org.bridj.BridJ>)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at com.jdsu.drivetest.diag.DiagLibrary.(DiagLibrary.java:25)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at com.jdsu.drivetest.dcimanager.DiagService.initialize(DiagService.java:159)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] - locked <0x37e1c1df> (a com.jdsu.drivetest.dcimanager.DiagService)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at com.jdsu.drivetest.dcimanager.DiagService.access$1000(DiagService.java:48)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at com.jdsu.drivetest.dcimanager.DiagService$DiagBinder.init(DiagService.java:348)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at com.jdsu.drivetest.dcimanager.api.IDCIManager$Stub.onTransact(IDCIManager.java:48)
08-12 17:40:12.319 32246-32261/com.jdsu.drivetest.dcimanager A/art﹕ sart/runtime/check_jni.cc:65] at android.os.Binder.execTransact(Binder.java:446)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions