【问题标题】:Fatal signal 7 (SIGBUS) at 0x00000000 (code=2)致命信号 7 (SIGBUS) 在 0x00000000 (code=2)
【发布时间】:2012-10-16 04:19:02
【问题描述】:

在 Android 上使用 OSGi 平台时,我收到了这个错误消息:

致命信号 7 (SIGBUS) 位于 0x595302e0(代码=2)

我认为我的应用不需要那么多内存空间或需要大量计算能力。 它只是具有 20 个捆绑包的 OSGi 平台。

在那之后我的应用总是重新启动。

有什么想法吗?

【问题讨论】:

  • 嗨,我遇到了同样的错误..运气好吗? libc(16581):致命信号 7 (SIGBUS) 位于 0xab5a4068 (code=2),线程 16590 (FinalizerDaemon)
  • 不,很抱歉。没有进展。
  • ok :( thnks :) ...你能告诉我你到底哪里出错了吗?

标签: android osgi runtime-error apache-felix libc


【解决方案1】:

即使我也发现了一个类似的问题,并且恰好是(代码=128)关于错误。似乎是数据对齐错误。为了解决这个问题,我尝试了这样的代码:

    *Data = (*Data)(Temp+i) becomes     
    Temp1 = *(Temp+i);     
    *Data = Temp1;     

在函数调用之前和之后,使用与上述相同的方法传回数据。碰巧NDK编译器的工作方式有所不同。 NDK用于c和c++的混合编码。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。它是由可绘制文件夹中的 png 文件引起的。我刚才去看了,最大的图是什么,找到了,删了,换成更小的,问题就解决了。

    【讨论】:

      【解决方案3】:

      这是Data Alignment 的问题,如error code 所示。您的代码的某些部分或您正在使用的库中的代码可能无法将数据结构放在正确的位置 - 但是,这可能是由很多事情引起的,例如应该返回某些内容但没有返回的函数不。

      【讨论】:

        猜你喜欢
        • 2014-07-09
        • 2012-06-02
        • 2012-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-21
        • 2015-07-01
        相关资源
        最近更新 更多