【问题标题】:Android Fatal signal 11 (SIGSEGV) onFinishAndroid 致命信号 11 (SIGSEGV) onFinish
【发布时间】:2016-04-24 19:11:41
【问题描述】:

当我完成我的应用程序 5 秒(大约)时,我遇到了这个异常:

04-24 20:05:17.293 ... E/Surface: getSlotFromBufferLocked: unknown buffer: 0xe89c73f0
04-24 20:05:22.296 ... A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x695fa3bc in tid 31152 (FinalizerDaemon)

如果我杀了它什么都不会发生,但是如果我按“返回”直到它关闭并进入后台,几秒钟后或者如果我再次打开它就会崩溃......

我突然注意到这个,我不知道是哪个代码导致它,我已经评论了很多。 我知道这些信息没有多大帮助,但我在哪里可以查看它? Logcat 对凋谢没有多大帮助,它只输出这两行。

感谢您的宝贵时间。

编辑: 这是我在使用 Android 5.1.0 进行测试时得到的输出:

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 3815 (FinalizerDaemon)

没有getSlotFromBufferLocked,我在 Android 6.0 中进行测试时得到的。但正如我在下面的评论中提到的,我认为getSlotFromBufferLocked 与此问题无关。

【问题讨论】:

  • 这些消息相隔 5 秒,中间没有发生任何事情吗?如果您认为第一条消息是第二条消息的原因,那么应该将其作为上述链接问题的副本关闭,该问题已经涵盖了 getSlotFromBufferLocked 问题。
  • @ChrisStratton 什么也没发生,但我注意到当应用程序进入后台时总是出现第一条消息,我认为它与问题无关。要去检查那个链接。我已经更新了我的问题,谢谢。
  • 在这种情况下,您没有发布足够多的错误日志来获得任何有意义的帮助。

标签: android segmentation-fault finalizer


【解决方案1】:

问题解决了。我有一个对象,它应该将他的一些字段声明为瞬态。其中一些字段是Paint,当我尝试serialize/deserialize该对象时,这导致了SIGSEVG。这个错误只发生在 onFinish() 有点奇怪,因为在应用程序运行期间它可以管理那些序列化操作...
哦,好的,问题已解决,感谢您的宝贵时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多