我们最近推出了我们的应用程序和升级实际上从以前的版本…
突然间,我们开始在大量的设备中看到这个错误...我们不知道发生了什么,日志也很模糊...
在这里附上日志。但任何帮助或一些线索可能会帮助我们调试问题。
修订:'10'
ABI:“ARM64”
PID:31610,TID:31610,名称:st.mediaManager>>><<<
中止消息:“sart/runtime/indirect_reference_table.cc:98]JNI错误(应用程序错误):本地引用表溢出(max=512)"
x0 0000000000000000 x1 0000000000007b7a x2 0000000000000006 x3 0000007fa219fe30
x4 0000007fa219fe30 x5 0000000000000005 x6 0000000000000001 x7 0000000000000020
x8 0000000000000083 x9 00000000000000ca x10 0000007fa1f2a000 x11 0000000000000001
x12 0000000000000001 x13 0000007fa1f2a000 x14 c4aa4c0daad90e20 x15 0000007f92002a31
x16 0000007fa1f2a610 x17 0000007fa1eca174 x18 0000000000000000 x19 0000007fa219fe30
x20 0000007fa21a00e8 x21 0000007fa1f30000 x22 0000000000000001 x23 0000000000000006
x24 0000007fee90e2d0 x25 0000007f9e0a6000 x26 0000007fee90e2c8 x27 0000007f9dffd520
x28 0000007f9e0a6000 x29 0000007fee90e150 x30 0000007fa1e8c264
sp 0000007fee90e150 pc 0000007fa1eca17c pstate 0000000060000000
回溯:
#00 pc 000000000005e17c /system/lib64/libc.so (tgkill+8)
#01 pc 0000000000020260 /system/lib64/libc.so (pthread_kill+160)
#02 pc 0000000000021794 /system/lib64/libc.so (raise+28)
#03 pc 000000000001b17c /system/lib64/libc.so (abort+60)
#04 pc 0000000000310534 /system/lib64/libart.so (art::Runtime::Abort()+300)
#05 pc 00000000000d5378 /system/lib64/libart.so (art::LogMessage::~LogMessage()+2684)
#06 pc 00000000001e7ff0 /system/lib64/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+416)
#07 pc 00000000002e28cc /system/lib64/libart.so (art::VMClassLoader_findLoadedClass(_JNIEnv*, _jclass*, _jobject*, _jstring*)+248)
#08 pc 000000000002a5dc /system/framework/arm64/boot.oat
生成指纹:“Verizon/trltevzw/trltevzw:5.1.1/lmy47x/n910vvru2bpa1:user/release-keys”修订版:“12”abi:“arm”pid:481,tid:481,名称:st.mediaManager>><<<信号6(SIGABRT),代码-6(SI_TKILL),错误地址-------中止消息:“sart/runtime/indirect_reference_table.cc:109]JNI错误(应用程序错误):本地引用表溢出(max=512)"r0 00000000 r1 000001e1 r2 00000006 r3
回溯:#00 pc 00038854/System/lib/libc.so(TGKILL+12)#01 pc 00014711/System/lib/libc.so(PThread_KILL+52)#02 pc 0001532F/System/lib/libc.so(RAISE+10)#03 pc 00011bc9/System/lib/libc.so(__libc_android_abort+36)#04 pc 0001003C/System/lib/libc.so(abort+4)#05 pc 00230CD1/System/lib/libt.so(ART::runtime::abort()+160)
建立指纹:“Verizon/Zenltevzw/Zenltevzw:5.1.1/LMY47X/G928VVRU2AOJ3:用户/释放键”修订版:'9'ABI:“ARM64”PID:18658,TID:18658,名称:st.mediaManager>>><<<信号6(SIGABRT),代码-6(SI_TKILL),故障地址------中止消息:“sart/runtime/indirect_reference_table.cc:109]JNI错误(应用程序错误):本地引用表溢出(max=512)"x0 000000000000000000000048E2 x2 0000000000000000000048E2 x2 0000000000000000000006 x3 0000007FA3887E30 x4 0000007FA3887E30 x5 0000000000000000000005 x6
回溯:
#00 pc 000000000005e0dc /system/lib64/libc.so (tgkill+8)
#01 pc 0000000000020220 /system/lib64/libc.so (pthread_kill+160)
#02 pc 0000000000021754 /system/lib64/libc.so (raise+28)
#03 pc 000000000001b13c /system/lib64/libc.so (abort+60)
#04 pc 00000000002ffca4 /system/lib64/libart.so (art::Runtime::Abort()+300)
#05 pc 00000000000d15b8 /system/lib64/libart.so (art::LogMessage::~LogMessage()+2684)
#06 pc 00000000002ad730 /system/lib64/libart.so (art::Monitor::VisitLocks(art::StackVisitor*, void (*)(art::mirror::Object*, void*), void*, bool)+952
#07 pc 0000000000314978 /system/lib64/libart.so (art::StackDumpVisitor::VisitFrame()+568)
#08 pc 000000000030ba08 /system/lib64/libart.so (art::StackVisitor::WalkStack(bool)+308)
#09 pc 0000000000313754 /system/lib64/libart.so (art::Thread::DumpJavaStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+268)
#10 pc 0000000000313968 /system/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+272)
#11 pc 000000000031e8dc /system/lib64/libart.so (art::ThreadList::DumpLocked(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+100)
#12 pc 00000000002ffd34 /system/lib64/libart.so (art::Runtime::Abort()+444)
#13 pc 00000000000d15b8 /system/lib64/libart.so (art::LogMessage::~LogMessage()+2684)
#14 pc 00000000001d7468 /system/lib64/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+416)
#15 pc 00000000002d2018 /system/lib64/libart.so (art::VMClassLoader_findLoadedClass(_JNIEnv*, _jclass*, _jobject*, _jstring*)+248)
#16 pc 000000000002a5dc /system/framework/arm64/boot.oat
构建指纹:“Verizon/KLTEVZW/KLTEVZW:5.0/LRX21T/G900VVRU2BOK3:用户/释放键”
修订:'14'
ABI:“手臂”
PID:32148,TID:32148,名称:st.mediaManager>>><<<
信号6(SIGABRT),代码-6(SI_TKILL),故障地址-------
中止消息:“art/runtime/indirect_reference_table.cc:113]JNI错误(应用程序错误):本地引用表溢出(max=512)"
r0 00000000 r1 00007d94 r2 00000006 r3 00000000
r4 b6f92114 r5 00000006 r6 00000016 r7 0000010c
r8 00000000 r9 b4e4f520 sl b4e07800 fp 000004ba
ip 00007d94 sp be8a3b38 lr b6f1bfd1 pc b6f40268 cpsr 60070010
回溯:
#00 pc 00038268 /system/lib/libc.so (tgkill+12)
#01 pc 00013fcd /system/lib/libc.so (pthread_kill+52)
#02 pc 00014beb /system/lib/libc.so (raise+10)
#03 pc 00011531 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 0000fcbc /system/lib/libc.so (abort+4)
#05 pc 0021d5d9 /system/lib/libart.so (art::Runtime::Abort()+160)
#06 pc 000a834b /system/lib/libart.so (art::LogMessage::~LogMessage()+1322)
#07 pc 001574b7 /system/lib/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+346)
#08 pc 002010d5 /system/lib/libart.so (art::VMClassLoader_findLoadedClass(_JNIEnv*, _jclass*, _jobject*, _jstring*)+136)
#09 pc 0001b151 /system/framework/arm/boot.oat
我没有一个完整的答案,但它太长的评论,所以我将它作为一个。
因此,错误正如您所预料的那样--它是对本机代码的调用,导致与本机共享的对象超过512个。通常是因为某处漏水。而且您不需要直接使用本机代码来实现它--框架在幕后进行了大量的本机调用。
从堆栈跟踪-我看到它的libart.so,而不是libdalvik.so。这发生在从Dalvik VM切换到ART的新设备上。堆栈跟踪看起来像是试图加载一个类,并为一些JNI代码添加一个对它的引用,但我不能确定这一点。我知道我们已经看到类加载错误在艺术工作上是不存在的Dalvik。
如果您有任何本机代码,我会确保您正确释放了对java内存和类的所有引用。如果你没有--这可能是Art中的一个bug,知道崩溃时应用程序在做什么会很有用。坠机事件是否一致?如果是,你在做什么?
问题内容: 我的功能如下所示。它执行了很多次。在某些时候,它在jobject nvarObject = env-> GetObjectField(var1,nvar1)时崩溃,给出错误JNI错误:本地引用表溢出512个条目。 任何人都可以调查这个问题并提出一些建议。 问题答案: 所有返回一个或类似对象引用的JNI方法都在引用表中创建本地引用。当您将控制权返回给JVM时,这些引用会自动清除,但是如果
问题内容: TL; DR: 将任何非内置函数添加到Array.prototype AND Function.prototype将导致IE8本机JSON解析器在解析包含数组的任何JSON时发生堆栈溢出,但仅当您还传递了reviver函数时放入JSON.parse()。 最初这是一个问题,但我回答了我自己的原始问题,所以现在我要问:有人能想到此IE8错误的解决方法,该方法不涉及消除所有修改Array.
我对这个新的Facebook界面感到非常困惑,它的沙盒按钮在运行中丢失了。 在开发一个应用程序的中间,所以我在沙箱模式-你想让这个应用程序和它的所有现场功能可供大众使用吗?设置为否(我只是在开发) 我以应用程序管理员的身份登录到我的iOS设备facebook帐户,我已经正确设置了iOS和bundle ID,正确设置了FBID,但每次尝试从设备登录facebook时,我都会。。。 “应用程序未设置:
我不明白这是什么意思,也不明白为什么只有有时候才会发生。如有任何帮助,我们将不胜感激。很乐意分享更多细节。 我们已经能够在Android7.0设备上重现这次崩溃。但并不一致。
在android中,我使用pthread_create来创建一个本地线程,然后在回调过程中,调用FindClass来获取一个Java类。但是它不起作用。我从android jni提示中获得提示,我从Android JNI中的任何线程中找到了FindClass中的解决方案 我为我的项目修改它,如下[编辑] 程序在env退出- 如果我删除
我试图使用javamail示例包中的ShowMsg.java读取gmail消息,但在运行时不断出现此错误。虽然程序编译得很好。 以下是错误消息: 我运行的命令是,编译它的命令是。javax.mail.jar包含在lib文件夹中 这是一些更短的替代代码,并得到相同的错误: