首页 > 学院 > 操作系统 > 正文

JVM经典问题EXCEPTION_ACCESS_VIOLATION(JDK-8149428)

2024-06-28 16:01:35
字体:
来源:转载
供稿:网友

在客户一台机器上出现JVM挂掉的问题,大概是一个月就会发生一次。在JVM自动生成的hs_err文件,看到以下内容.

# A fatal error has been detected by the java Runtime Environment:##  EXCEPTION_access_VIOLATION (0xc0000005) at pc=0x000000226b53ea00, pid=3880, tid=3182## JRE version: Java(TM) SE Runtime Environment (8.0_72-b15) (build 1.8.0_72-b15)# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.72-b15 mixed mode windows-amd64 comPRessed oops)# Problematic frame:# V  [jvm.dll+0xaea10]## Core dump written. Default location: D:/hs_err_pid3880.mdmp## If you would like to submit a bug report, please visit:#   http://bugreport.java.com/bugreport/crash.jsp

从hs_err文件中可以看到,好像是在执行垃圾收集的时候报错的,可能是JVM本身的问题。在网上查找了好久,找到了JDK-8149428(https://bugs.openjdk.java.net/browse/JDK-8149428),由些怀疑是JVM的bug.有同事给Oracle的java研发人员发邮件,对方回复说是java的bug,但由于不能重现,也没什么好的解决方法,建议我们加内存。加内存我们尝试过,可客户不同意,还坚持要我们解决掉这个问题。涉及到JVM底层的bug,直接解决可不容易。经过多次纠结的讨论、沟通,由于当前使用的是G1垃圾收集,决定尝试不使用G1,退回到以前的CMS垃圾收集。客户使用CMS之后,一个多月没出现问题,终于得到圆满解决。团队的力量就是强大。不过在客户环境上,什么奇怪的问题都有,这个问题也只是发生在这一个客户上面。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表