信号 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

SIGBUS(Bus error singal 7)

SIGBUS(Bus error singal 7)

GCD dispatch_after 调用导致 SIGBUS 信号

kill命令详解