【问题标题】:Java Crashed application - how to read crash file generated by JVM?Java Crashed 应用程序 - 如何读取 JVM 生成的崩溃文件?
【发布时间】:2011-01-31 15:42:53
【问题描述】:

我有 java 应用程序,它开始突然崩溃,无一例外。但有时 JVM 会创建崩溃日志文件,其名称如下:“hs_err_pid10930.log”。任何人都可以阅读并告诉我有什么问题吗?我无法找出问题所在。我在这里找到的唯一合理信息是交换大小为 0。我有问题吗?怎么会这样?

您可以在此处找到该文件:http://chessfriends-release.s3.amazonaws.com/logs/hs_err_pid10930.log?AWSAccessKeyId=AKIAJP5BYGKOCMCDVZHA&Expires=1305128715&Signature=XEZMuJ0xNSM6YTcdwsI04ahhiYk%3D

谢谢。

Libor

【问题讨论】:

    标签: java memory-leaks crash jvm


    【解决方案1】:

    每当您遇到这样的崩溃时,几乎都不是 Java 程序员的错,因为 JVM 崩溃了,这是不应该的。通过查看您的日志文件,它看起来像是在 OpenJDK 的 JVM 中某处崩溃了;我不知道具体是什么原因造成的。我建议你试试 Oracle 的官方 JDK 而不是 OpenJDK。

    我不是阅读此类故障转储的专家,但这是我用来确定问题原因的部分:

    # Problematic frame:
    # V  [libjvm.so+0x64d62d]
    

    这是在转储的顶部。它并不总是 libjvm.so;我见过一些类似 libGL.so 的。

    如果您想提交错误,转储中包含以下语句:

    # If you would like to submit a bug report, please include
    # instructions how to reproduce the bug and visit:
    #   https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
    

    我不知道你在做什么导致崩溃,也许有一个解决方法。但是在任何情况下 JVM 都不应该崩溃,所以这是您使用的 JVM 中的一个错误。

    编辑
    日志显示您正在运行 Ubuntu 9.10;从那时起已经有两个 Ubuntu 版本,所以我怀疑提交错误会不会有任何好处,除非你在 Ubuntu 10.04 或 10.10 上进行测试。我不知道您是否能够升级到较新的版本,但您的问题可能已经解决了。

    【讨论】:

    • 查看 hs_err 堆栈跟踪中的几行代码,崩溃来自 org.mortbay.io.nio.ChannelEndPoint.flush(org.mortbay.io.Buffer)org.mortbay.jetty.HttpGenerator.flush() 调用的代码
    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 2010-09-13
    • 2013-05-22
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    相关资源
    最近更新 更多