这是我第一次在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吗?
发布于 2012-09-06 07:55:12
/tmp/hs_err_pid4327.log文件应该包含内核发生位置的堆栈跟踪。除非您正在进行JNI调用,否则它可能是一个Java bug。
发布于 2012-09-06 07:06:21
核心转储告诉您应该做什么……
如果您想提交错误报告,请包括如何重现错误的说明,并访问:https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
发布于 2012-09-06 07:39:46
快速浏览一下,我会认为这已经被报道过了。
就其本身而言,错误可能不在您的代码中。这很可能是一个环境问题--可能是JVM错误,也可能是一些不寻常的情况,最有可能的是两者兼而有之--这是一种在奇怪的环境下很少出现的错误。
谷歌搜索消息中的关键元素(例如"safepoint.cpp:100"),查看其他报告,并查找可能适用的共同点或变通方法。在这种情况下,一组报告表明,繁重的多线程可能是问题的原因。
https://stackoverflow.com/questions/12290952
复制相似问题