我有一个我正在工作的学校项目,在那里我用数据填充两个小数组。为此,我使用了java.util的Arrays.fill方法,大约十秒后会导致java完全崩溃。
一旦我通过注释代码确定问题直到它起作用,这很容易解决,但我想知道究竟是什么导致了java崩溃。
我试图在一个较小的项目中重现崩溃,但我不能这样做。因此,我已经将项目包含在其中。
我正在运行lubuntu 14.04.2 x86,崩溃发生在Oracle JDK 7.76和Oracle JDK 8.40下。
程序因此消息失败,输出文件包含在存档中:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb6dd9d37, pid=4458, tid=2236009280
#
# JRE version: Java(TM) SE Runtime Environment (8.0_40-b25) (build 1.8.0_40-b25)
# Java VM: Java HotSpot(TM) Server VM (25.40-b25 mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x653d37] PhaseIdealLoop::match_fill_loop(IdealLoopTree*, Node*&, Node*&, Node*&, Node*&)+0x257
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
下载存档的链接: https://www.dropbox.com/s/wmv8xe82cwn15dg/JavaCrash.tar.gz?dl=1
那么,有人可以解释发生了什么吗?这是我的错,还是我无法控制的?
答案 0 :(得分:1)
(编辑见评论)这是JVM 8 rev中的一个错误。 40,仅在3天前发布。 DCom库只是一个纯Java Swing包装器。
在Mac OS JVM 6上,没有崩溃;在使用JVM 6的同一台Linux机器上,没有崩溃。它发生了。 OP将尝试报告。