我有java应用程序,它开始崩溃,没有例外。但有时JVM会创建崩溃日志文件,其名称类似于:“hs_err_pid10930.log”。任何人都可以阅读并告诉我有什么问题吗?我无法找出错误的原因。我在这里找到的唯一合理的信息是交换大小为0.我有问题吗?它怎么会发生?
感谢。
Libor的
答案 0 :(得分:2)
每当你遇到这样的崩溃时,几乎从来都不是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版本,所以我怀疑提交一个bug会有什么好处,除非你在Ubuntu 10.04或10.10上测试它。我不知道您是否能够升级到更新的版本,但您的问题可能已经修复。