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

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

Open
simingweng opened this issue Aug 12, 2015 · 0 comments
Open

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

simingweng opened this issue Aug 12, 2015 · 0 comments

Comments

@simingweng
Copy link

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@[email protected]@[email protected] (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)

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