Java虚拟机多次崩溃

时间:2014-01-19 16:29:21

标签: java crash runtime-error

这是整个错误消息

http://pastebin.com/bDgye0rt

错误日志太大,我无法在此附加。我不是非常熟悉jvm在后台的工作方式以及它使用的寄存器。我希望有人可以查看这个错误日志并向我解释它的含义。

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffd18cbcafe, pid=29906, tid=140725158119168
#
# JRE version: 6.0_27-b27
# Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.12.6
# Distribution: Debian GNU/Linux 7.1 (wheezy), package 6b27-1.12.6-1~deb7u1
# Problematic frame:
# C  [libresolv.so.2+0x7afe]  __libc_res_nquery+0x19e
#
# If you would like to submit a bug report, please include
# instructions how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

我无法理解为什么以及如何创建它。它一直在发生。

PS: 我有我的机器中发生的另外3次崩溃的错误日志,如果您认为有必要,我可以分享。

修改

我有大约8个日志,在8个日志中清楚地表明程序崩溃之前的最后一次调用是

java.net.Inet6AddressImpl.lookupAllHostAddr

我不相信输入是那么相关,因为有一个静态的输入列表被串行解析,并且错误发生在不同的时间帧(有时在程序运行后1小时,其他时间为6小时) ,它似乎是随机的。

1 个答案:

答案 0 :(得分:0)

这是与glibc和IPv6相关的问题。

添加-Djava.net.preferIPv4Stack = true来要求JVM首先使用IPv4可以避免此问题,这是安全的。