简体   繁体   English

JNI ERROR(app bug):本地参考表溢出(max = 512),即使没有本机代码也是如此

[英]JNI ERROR (app bug): local reference table overflow (max=512) even with out Native Code

we recently launched our app and upgrade actually from previous version.. 我们最近推出了我们的应用程序并实际升级了以前的版

and suddenly we started to see this error in a ton of devices ..we have no clue whats happening and the logs are very vague .. 突然间,我们开始在很多设备上看到这个错误..我们没有发现什么事情发生了,而且日志非常模糊..

Attaching the logs here .But any help or some clue might help us debug the issue . 在这里附加日志。但是任何帮助或一些线索都可以帮助我们调试问题。


Build fingerprint: 'Verizon/zeroltevzw/zeroltevzw:5.1.1/LMY47X/G925VVRU4BOK7:user/release-keys' 构建指纹:'Verizon / zeroltevzw / zeroltevzw:5.1.1 / LMY47X / G925VVRU4BOK7:user / release-keys'

Revision: '10' 修订版:'10'

ABI: 'arm64' ABI:'arm64'

pid: 31610, tid: 31610, name: st.mediamanager >>> <<< pid:31610,tid:31610,name:st.mediamanager >>> <<<

signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 信号6(SIGABRT),代码-6(SI_TKILL),故障地址--------

Abort message: 'sart/runtime/indirect_reference_table.cc:98] JNI ERROR (app bug): local reference table overflow (max=512)' 中止消息:'sart / runtime / indirect_reference_table.cc:98] JNI错误(app bug):本地引用表溢出(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

backtrace: 回溯:

#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

Build fingerprint: 'Verizon/trltevzw/trltevzw:5.1.1/LMY47X/N910VVRU2BPA1:user/release-keys' Revision: '12' ABI: 'arm' pid: 481, tid: 481, name: st.mediamanager >>> <<< signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- Abort message: 'sart/runtime/indirect_reference_table.cc:109] JNI ERROR (app bug): local reference table overflow (max=512)' r0 00000000 r1 000001e1 r2 00000006 r3 00000000 r4 b6fc3e38 r5 00000006 r6 00000016 r7 0000010c r8 00000000 r9 b486f550 sl b4827800 fp 00000475 ip 000001e1 sp bebbaaf8 lr b6e22715 pc b6e46854 cpsr 60070010 构建指纹:'Verizon / trltevzw / trltevzw:5.1.1 / LMY47X / N910VVRU2BPA1:user / release-keys'修订版:'12'ABI:'arm'pid:481,tid:481,name:st.mediamanager >>> <<< signal 6(SIGABRT),code -6(SI_TKILL),fault addr -------- Abort message:'sart / runtime / indirect_reference_table.cc:109] JNI ERROR(app bug):本地参考表溢出(最大= 512)'r0 00000000 r1 000001e1 r2 00000006 r3 00000000 r4 b6fc3e38 r5 00000006 r6 00000016 r7 0000010c r8 00000000 r9 b486f550 sl b4827800 fp 00000475 ip 000001e1 sp bebbaaf8 lr b6e22715 pc b6e46854 cpsr 60070010

backtrace: #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/libart.so (art::Runtime::Abort()+160) #06 pc 000ac58b /system/lib/libart.so (art::LogMessage::~LogMessage()+1322) #07 pc 0016996d /system/lib/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+244) #08 pc 00214f43 /system/lib/libart.so (art::VMClassLoader_findLoadedClass(_JNIEnv*, _jclass*, _jobject*, _jstring*)+162) #09 pc 0001bd8d /system/framework/arm/boot.oat 回溯:#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/libart.so( art :: Runtime :: Abort()+ 160)#06 pc 000ac58b /system/lib/libart.so(art :: LogMessage :: ~LogMessage()+ 1322)#07 pc 0016996d /system/lib/libart.so (art :: IndirectReferenceTable :: Add(unsigned int,art​​ :: mirror :: Object *)+ 244)#08 pc 00214f43 /system/lib/libart.so(art :: VMClassLoader_findLoadedClass(_JNIEnv *,_ jclass *,_ jobject * ,_jstring *)+ 162)#09 pc 0001bd8d /system/framework/arm/boot.oat


Build fingerprint: 'Verizon/zenltevzw/zenltevzw:5.1.1/LMY47X/G928VVRU2AOJ3:user/release-keys' Revision: '9' ABI: 'arm64' pid: 18658, tid: 18658, name: st.mediamanager >>> <<< signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- Abort message: 'sart/runtime/indirect_reference_table.cc:109] JNI ERROR (app bug): local reference table overflow (max=512)' x0 0000000000000000 x1 00000000000048e2 x2 0000000000000006 x3 0000007fa3887e30 x4 0000007fa3887e30 x5 0000000000000005 x6 0000000000000001 x7 0000000000000020 x8 0000000000000083 x9 000000000000005e x10 0000007fa3613000 x11 0000000000000001 x12 0000000000000001 x13 0000007fa3613000 x14 24d3f27831b256ef x15 0000000000000001 x16 0000007fa3613610 x17 0000007fa35b30d4 x18 0000000000000000 x19 0000007fa3887e30 x20 0000007fa38880e8 x21 0000007fa3619000 x22 0000000000000001 x23 0000000000000006 x24 0000007fc7e2cbc0 x25 0000007f9f820d40 x26 0000000000000001 x27 0000007f8c101b60 x28 0000000000000000 x29 0000007fc7e2ca40 x30 0000007fa3575224 构建指纹:'Verizon / zenltevzw / zenltevzw:5.1.1 / LMY47X / G928VVRU2AOJ3:user / release-keys'修订版:'9'ABI:'arm64'pid:18658,tid:18658,name:st.mediamanager >>> <<< signal 6(SIGABRT),code -6(SI_TKILL),fault addr -------- Abort message:'sart / runtime / indirect_reference_table.cc:109] JNI ERROR(app bug):本地参考表溢出(最大值= 512)” X0 0000000000000000 X1 00000000000048e2 X2 0000000000000006 X3 0000007fa3887e30 X4 0000007fa3887e30 X5 0000000000000005 5233 0000000000000001 X7 0000000000000020 X8 0000000000000083 X9 000000000000005e X10 0000007fa3613000 X11 0000000000000001 X12 0000000000000001 X13 0000007fa3613000 X14 24d3f27831b256ef X15 0000000000000001 X16 0000007fa3613610 X17 0000007fa35b30d4 X18 0000000000000000 X19 0000007fa3887e30 X20 0000007fa38880e8 X21 0000007fa3619000 x22 0000000000000001 x23 0000000000000006 x24 0000007fc7e2cbc0 x25 0000007f9f820d40 x26 0000000000000001 x27 0000007f8c101b60 x28 0000000000000000 x29 0000007fc7e2ca40 x30 0000007fa3575224 sp 0000007fc7e2ca40 pc 0000007fa35b30dc pstate 0000000060000000 sp 0000007fc7e2ca40 pc 0000007fa35b30dc pstate 0000000060000000

backtrace: 回溯:

#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

Build fingerprint: 'Verizon/kltevzw/kltevzw:5.0/LRX21T/G900VVRU2BOK3:user/release-keys' 构建指纹:'Verizon / kltevzw / kltevzw:5.0 / LRX21T / G900VVRU2BOK3:user / release-keys'

Revision: '14' 修订版:'14'

ABI: 'arm' ABI:'手臂'

pid: 32148, tid: 32148, name: st.mediamanager >>> <<< pid:32148,tid:32148,name:st.mediamanager >>> <<<

signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 信号6(SIGABRT),代码-6(SI_TKILL),故障地址--------

Abort message: 'art/runtime/indirect_reference_table.cc:113] JNI ERROR (app bug): local reference table overflow (max=512)' 中止消息:'art / runtime / indirect_reference_table.cc:113] JNI错误(app bug):本地引用表溢出(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

backtrace: 回溯:

#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

I don't have a full answer, but its too lengthy for a comment so I'll post it as one. 我没有完整的答案,但是评论过于冗长,所以我会将其发布为一个。

So the error is just what you expect- its a call into native code that causes you to have more than 512 objects shared with native. 所以错误正是你所期望的 - 它调用本机代码会导致你有超过512个与native共享的对象。 Usually that happens because of a leak somewhere. 通常这是因为某处发生泄漏。 And you don't need to be using native code directly to do it- the framework makes a LOT of native calls behind the scenes. 而且您不需要直接使用本机代码来执行此操作 - 框架在幕后进行了大量本机调用。

From the stack trace- I see its libart.so, not libdalvik.so. 从堆栈跟踪 - 我看到它的libart.so,而不是libdalvik.so。 So this is happening on new devices which have switched from the Dalvik VM to Art. 所以这种情况发生在从Dalvik VM转向Art的新设备上。 The stack trace looks like it was trying to load a class and add a reference to it for some JNI code, but I can't be certain of that. 堆栈跟踪看起来像是在尝试加载一个类并为某些JNI代码添加对它的引用,但我无法确定。 I do know that we've seen class loading bugs at work on Art that didn't exist on dalvik. 我知道我们已经看到类加载在dalvik上不存在的Art上的类错误。

If you have any native code at all I'd make sure you were releasing all reference to java memory and classes properly. 如果你有任何本机代码我会确保你正确地释放所有对java内存和类的引用。 If you don't- this may be a bug in Art, knowing what the app was doing at the time of the crash would be useful. 如果你不这样做 - 这可能是艺术中的一个错误,知道应用程序在崩溃时正在做什么将是有用的。 Is the crash consistent? 崩溃是否一致? If so, what are you doing? 如果是这样,你在做什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JNI ERROR(app bug):本地参考表溢出(max = 512) - JNI ERROR (app bug): local reference table overflow (max=512) android - kotlin,自定义视图,绑定,膨胀 - JNI 错误(应用程序错误):本地引用表溢出(最大值 = 512) - android - kotlin, custom view, binding, inflating - JNI ERROR (app bug): local reference table overflow (max=512) E/dalvikvm: JNI ERROR (app bug): local reference table overflow (max=512) - E/dalvikvm: JNI ERROR (app bug): local reference table overflow (max=512) JNI错误(应用错误):本地参考表溢出(最大值= 512)Android - JNI ERROR (app bug): local reference table overflow (max=512) Android Android Webrtc JNI错误(应用程序错误):本地引用表溢出(最大值= 512) - Android Webrtc JNI ERROR (app bug): local reference table overflow (max=512) Android:JNI错误(app bug):本地引用表溢出(max = 512) - Android : JNI ERROR (app bug): local reference table overflow (max=512) Google ML Kit JNI ERROR (app bug): local reference table overflow (max=512) on rk3399 主板 - Google ML Kit JNI ERROR (app bug): local reference table overflow (max=512) on rk3399 motherboard JNI错误:本地引用表溢出512个条目 - JNI error : Local reference table overflow 512 entries JNI错误(应用程序错误):Xamarin.Android中弱的全局引用表溢出(最大值= 51200) - JNI ERROR (app bug): weak global reference table overflow (max=51200) in Xamarin.Android Unity JNI ERROR(应用程序错误):全局引用表溢出 - Unity JNI ERROR (app bug): global reference table overflow
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM