这是我第一次使用Java。
Java只是核心转储,出现以下错误:
#
# A fatal error has been detected by the Java Runtime Environment:
#
[thread 140213457409792 also had an error]# Internal Error (safepoint.cpp:300), pid=4327
, tid=140213211031296
# guarantee(PageArmed == 0) failed: invariant
#
# JRE version: 6.0_24-b24
# Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.11.4
# Distribution: Ubuntu 12.04 LTS, package 6b24-1.11.4-1ubuntu0.12.04.1
# An error report file with more information is saved as:
# /tmp/hs_err_pid4327.log
#
# 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/
当我尝试在mac os上运行它时,核心转储在同一个地方(JRE必须不同)...所以它必须是与代码相关的东西。我不知道如何调试它,这不是一个例外,那里指定的日志文件并没有给我太多的信息。有什么想法我可以做些什么来找到这个bug?
答案 0 :(得分:0)
核心转储告诉你应该做什么......
如果您想提交错误报告,请附上 说明如何重现错误并访问: https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
答案 1 :(得分:0)
快速浏览一下让我觉得这已经报道了。
该错误可能不在您的代码中。这很可能是一个环境问题 - 也许是一个JVM错误,也许是一些不寻常的情况,而且很可能是两者 - 在奇怪的情况下很少发生的错误。
Google了解邮件中的关键元素(例如“safepoint.cpp:100”),查看其他报告,查找可能适用的共同内容或变通方法。在这种情况下,一组报告表明重度多线程可能会导致问题。
答案 2 :(得分:0)
/tmp/hs_err_pid4327.log文件应包含核心发生位置的堆栈跟踪。除非您正在进行JNI调用,否则它可能是Java错误。
答案 3 :(得分:0)
检查应用程序目录中是否有hprof文件。您可以选择使用
随意转储 jmap -dump:file=<file_name> <pid>
然后使用MAT http://www.eclipse.org/mat/
分析转储您还可以考虑此处引用的其他工具: