信号 7 (SIGBUS),代码 2 (BUS_ADRERR)
Posted
技术标签:
【中文标题】信号 7 (SIGBUS),代码 2 (BUS_ADRERR)【英文标题】:signal 7 (SIGBUS), code 2 (BUS_ADRERR) 【发布时间】:2018-05-21 15:37:17 【问题描述】:突然这些类型的错误开始出现在所有设备上,出现在我的开发者控制台中的所有 android 版本上。
我已经检查了这些答案,但没有找到解决此错误的方法:
Fatal signal 7 (SIGBUS) at 0x00000000 (code=2)
What's exactly meaning of "Fatal signal 7 (SIGBUS) at 0x5937abd0 (code=2)" on Android platform?
Fatal signal 7 (SIGBUS), code 2, fault addr 0x8e020c98
Catch native crash: signal 7 (SIGBUS), code 2 (BUS_ADRERR)
Android 5.1 crash -- glDrawArrays GL_POINTS -- Fatal signal 7 (SIGBUS), code 2
android using Renderscript for blur effect crashes causes A/libc﹕ Fatal signal 7 (SIGBUS), code 2, fault addr 0x9e6fa000 in tid 482 (AsyncTask #1)
App random crashes with Fatal signal 7 (SIGBUS), code 2 or Fatal signal 11 (SIGSEGV), code 1
和其他人。
我没有使用 NDK。
这是痕迹:
signal 7 (SIGBUS), code 2 (BUS_ADRERR)
memcpy
#00 pc 000000000001ae6c /system/lib64/libc.so (memcpy+356)
#01 pc 0000000000105bd4 /system/lib64/libandroid_runtime.so
#02 pc 0000000001abeab0 /system/framework/arm64/boot-framework.oat (android.graphics.Bitmap.nativeCopyPixelsToBuffer+156)
#03 pc 0000000001ac0a88 /system/framework/arm64/boot-framework.oat (android.graphics.Bitmap.copyPixelsToBuffer+468)
#04 pc 00000000000218b0 /dev/ashmem/dalvik-jit-code-cache (deleted)
signal 7 (SIGBUS), code 2 (BUS_ADRERR)
memcpy
#00 pc 000000000001c3ac /system/lib64/libc.so (memcpy+356)
#01 pc 00000000000eff3c /system/lib64/libandroid_runtime.so
#02 pc 0000000002b7034c /data/dalvik-cache/arm64/system@framework@boot.oat
signal 7 (SIGBUS), code 2 (BUS_ADRERR)
__memcpy_base
#00 pc 0000000000016afc /system/lib/libc.so (__memcpy_base+104)
#01 pc 000000000008f8ff /system/lib/libandroid_runtime.so
#02 pc 000000000242b859 /system/framework/arm/boot.oat
signal 7 (SIGBUS), code 2 (BUS_ADRERR)
memcpy
#00 pc 000000000001abec /system/lib64/libc.so (memcpy+356)
#01 pc 000000000011104c /system/lib64/libandroid_runtime.so
#02 pc 0000000075aa04a0 /data/dalvik-cache/arm64/system@framework@boot-framework.oat
我完全不知道这是从哪里来的。上周我一直在互联网上搜索,但没有找到解决这些错误的方法。
这是否与在我的应用中使用 Kotlin 有某种联系?
【问题讨论】:
我有类似的报告,但我没有使用 Kotlin,所以我认为它与它无关。就我而言,它只影响 7.1 和大多数摩托罗拉设备。 (我刚刚注意到你在上面链接了我的问题) 也许您没有使用 ndk,但您的依赖项中的某些库可以使用?无论如何,这看起来像是与本机代码相关的内存问题,而不是 Kotlin 问题是因为我试图将可移动 sd 卡用作我的应用程序的额外 RAM,并且在没有外部 sd 卡的设备上发生了这种情况。 @lxknvlk 我遇到了这类问题,但在我的情况下,当我从我的第二台电脑运行时,它在 nougat 7 及更高版本的设备上崩溃并显示错误,当我从其他电脑运行时,它工作正常.所以,在我的 7 台电脑中只有 1 台可以完美运行我无法理解这是我的电脑或代码的问题。 @bdevloper 可能那台出错的电脑的 ram 内存坏了或类似的东西 【参考方案1】:这是因为您没有将正确的值传递给函数。 OpenGL 必须需要正确的传递。
在此链接https://github.com/NativeCodeSamples/native-app-samples查看示例
使用 GL_POINTS,您可以根据给定值绘制点或线。
【讨论】:
但我没有使用opengl,也没有使用ndk【参考方案2】:清除根目录中的空间对我有帮助
【讨论】:
以上是关于信号 7 (SIGBUS),代码 2 (BUS_ADRERR)的主要内容,如果未能解决你的问题,请参考以下文章
应用随机崩溃与致命信号7(SIGBUS),代码2或致命信号11(SIGSEGV),代码1
Android RenderScript 信号 7 (SIGBUS),代码 1 (BUS_ADRALN),故障地址 0x76f458b4 Adreno 306、320