java GCTaskThread JVM崩溃
我的JVM(7.0_21-b11)正在随机崩溃(有时在1天后,有时在1个月后)。我们正在使用一个进行JNI调用的API。基于快速搜索,这种情况似乎要么是因为错误的JNI调用,要么是因为错误的RAM/磁盘。 我们正在运行一些测试,并启用了-Xcheck:jni,可以消除上述两点
在这些情况下,是否还有其他原因会导致JVM崩溃
以下是hs_err_pid日志文件中的前几行
**# JRE version: 7.0_21-b11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.21-b01 mixed mode windows-amd64 )
# Problematic frame:
# V [jvm.dll+0x31e6ec]
#
# Core dump written. Default location: c:\app\bin\hs_err_pid9099.mdmp
--------------- T H R E A D ---------------
Current thread (0x0000000001cdc000): GCTaskThread [stack: 0x0000000000000000,0x0000000000000000] [id=90672]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000220**
# 1 楼答案
您使用的是非常旧版本的Java JDK7 update 21。GC中发生了崩溃。GC问题是由损坏堆内存的任何错误引起的。这可能是GC、编译器和糟糕的本机代码的问题。如果没有复制器,很难调试。您是否有任何特定的测试用例可以重现这个问题,然后可能会有解决方案。建议的解决方案是升级java版本