当前位置: 首页 > 知识库问答 >
问题:

InDirectReancceTable Android JNI崩溃

计寒
2023-03-14

我正在尝试修复崩溃,例如:

1:

  #00  pc 000000000006a548  /system/lib64/libc.so (tgkill+8)
  #01  pc 0000000000067cd8  /system/lib64/libc.so (pthread_kill+68)
  #02  pc 0000000000024b78  /system/lib64/libc.so (raise+28)
  #03  pc 000000000001f318  /system/lib64/libc.so (abort+60)
  #04  pc 000000000043471c  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+324)
  #05  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #06  pc 0000000000131cc8  /system/lib64/libart.so (_ZN3art7BarrierD2Ev+296)
  #07  pc 0000000000469364  /system/lib64/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+212)
  #08  pc 0000000000434804  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+556)
  #09  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #10  pc 000000000027165c  /system/lib64/libart.so (_ZN3art22IndirectReferenceTable3AddEjPNS_6mirror6ObjectE+372)
  #11  pc 00000000022ef904  /system/framework/arm64/boot.oat

2:

  #00  pc 000000000006a548  /system/lib64/libc.so (tgkill+8)
  #01  pc 0000000000067cd8  /system/lib64/libc.so (pthread_kill+68)
  #02  pc 0000000000024b78  /system/lib64/libc.so (raise+28)
  #03  pc 000000000001f318  /system/lib64/libc.so (abort+60)
  #04  pc 000000000043471c  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+324)
  #05  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #06  pc 0000000000131cc8  /system/lib64/libart.so (_ZN3art7BarrierD2Ev+296)
  #07  pc 0000000000469364  /system/lib64/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+212)
  #08  pc 0000000000434804  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+556)
  #09  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #10  pc 000000000027165c  /system/lib64/libart.so (_ZN3art22IndirectReferenceTable3AddEjPNS_6mirror6ObjectE+372)
  #11  pc 000000000053e224  /system/lib64/libart.so (artQuickProxyInvokeHandler+1044)
  #12  pc 0000000000127b74  /system/lib64/libart.so (art_quick_proxy_invoke_handler+84)
  #13  pc 0000000000fda44c  /data/app/package_name-1/oat/arm64/base.odex

三:

 #00  pc 000000000006a548  /system/lib64/libc.so (tgkill+8)
  #01  pc 0000000000067cd8  /system/lib64/libc.so (pthread_kill+68)
  #02  pc 0000000000024b78  /system/lib64/libc.so (raise+28)
  #03  pc 000000000001f318  /system/lib64/libc.so (abort+60)
  #04  pc 000000000043471c  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+324)
  #05  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #06  pc 0000000000131cc8  /system/lib64/libart.so (_ZN3art7BarrierD2Ev+296)
  #07  pc 0000000000469364  /system/lib64/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+212)
  #08  pc 0000000000434804  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+556)
  #09  pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  #10  pc 000000000027165c  /system/lib64/libart.so (_ZN3art22IndirectReferenceTable3AddEjPNS_6mirror6ObjectE+372)
  #11  pc 000000000036f1e8  /system/lib64/libart.so (_ZN3art3JNI12NewByteArrayEP7_JNIEnvi+416)

我已经复习了IndirectReferenceTable()的源代码https://android.googlesource.com/platform/art//kitkat dev/runtime/indirect\u reference\u表。cc),它似乎因为表溢出而崩溃。

据我所知,我正在正确删除所有本地引用。

问题是否可能与当地参考文献无关?有什么假设吗?

共有1个答案

宫铭
2023-03-14

我一开始使用弹出/推送本地帧JNI API,应用程序就停止报告崩溃报告。

所以我想它是以某种方式泄露了本地引用,但我不明白是怎么回事。

在我的设备上,应用程序没有崩溃,因此这一点可能与JNI的所有实现无关。

 类似资料:
  • 我试图在solaris机箱中使用远程Weblogic服务器配置jProfiler。服务器正常启动,但是当我将jProfiler GUI连接到服务器时,出现以下错误,服务器崩溃。tmp目录具有足够的访问权限和空间。我可以看到一些文件,比如jpcOYaysx,是在tmp目录中创建的。有人能帮我解决这个问题吗?我们是否有特定于jProfiler的日志,如何配置它? 我找不到任何帮助页面/文档编辑jPro

  • 问题内容: 在Swift,iOS 8,Xcode 6 Beta 6中,我从tableView中删除一行时遇到了一些麻烦。每次尝试删除一行时,都会出现以下错误: / [UITableView _endCellAnimationsWithContext:],/ SourceCache / UIKit_Sim / UIKit-3302.3.1 / UITableView.m:1581 2014-08-3

  • 问题内容: 今天在工作中,我的日食开始反复崩溃。只需打开它并开始编辑文件,几分钟后即可崩溃。我重新安装了所有内容:Eclipse,Workspace,Java,但没有任何帮助。由于我目前无法工作,请尝试确定问题的根源。 (…) 问题答案: 这是C2编译器中的一个已知JVM错误:JDK-8154831。 尝试添加以下JVM参数:

  • 仅供参考;这不需要回答。 我在一个负载很重的Postgres服务器上工作,发出了一个挂起的GRANT命令。它没有被任何其他命令阻止。我有几个打开的连接,并且能够用一个普通的pg_cancel_backend(SIGTERM)命令杀死几个进程,但我的GRANT命令没有响应该命令或pg_ terminate_backde(SIGINT)。我最后尝试了“kill-9(pid)”(SIGKILL),服务器

  • Project My Application11在运行Gradle时使用以下JDK位置:C:/Program Files/Android/Android Studio1/jre在不同进程上使用不同的JDK位置可能会导致Gradle生成多个守护进程,例如,在使用Android Studio时从终端执行Gradle任务。更多信息。。。 显示此错误后自动关闭而不显示任何错误。 尝试了jdk 8和13,并

  • 崩溃(Crash),即闪退,多指在移动设备(如:iOS、Android设备)中,在打开应用程序时出现的突然退出中断的情况。 如果App应用的线上版本发生过多的崩溃,会影响用户体验,导致用户流失,以及可能减少收益。 诸葛io的「App崩溃分析」功能,可以帮助产品、运营人员对App应用发生崩溃的次数、影响的人数进行监测,也可以查看崩溃路径,还原崩溃场景,了解用户是如何一步一步发生的崩溃。同时,可以协助

  • 我正在使用内置于Web View的Android开发浏览器。其中我面临的一个问题是,当我访问http://crashmybrowser.com测试浏览器上的选项卡崩溃时,我的整个浏览器应用程序都会崩溃。但是,当在chrome或Opera上进行相同的测试时,这些浏览器会在崩溃中幸存下来,并且只有特定的选项卡崩溃是由于访问上述网站而预期的结果。有人能帮助理解我如何在使用Webview的浏览器上处理此崩

  • 问题内容: 我的JVM一直在libzip.so上持续崩溃,并且出乎意料。我已经将该错误提交给了Oracle,但决定看看这里是否有人遇到过该问题,如果是,您如何处理它?这是一个正在运行的网络应用 Linux 2.6.34-gentoo-r6#1 SMP Fri Sep 24 00:15:06 EDT 2010 i686 Intel(R)Xeon(R)CPU X5460 @ 3.16GHz 真正的带j