首先贴一下错误代码以及日志
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c1_Optimizer.cpp:271), pid=4560, tid=5860
# guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp
#
# JRE version: 6.0_33-b05
# Java VM: Java HotSpot(TM) Client VM (20.8-b03 mixed mode windows-x86 )
# An error report file with more information is saved as:
# D:\Program Files\tomcat6\bin\hs_err_pid4560.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
上面是错误代码,问题大概是运行环境的错误!
Current thread (0x0000012047885800): JavaThread "https-jsse-nio-8443-exec-4" daemon [_thread_in_native, id=9272, stack(0x0000000d0eb00000,0x0000000d0ec00000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000049f70d88
Registers:
RAX=0x0000000049f70c50, RBX=0x0000012049c902f0, RCX=0x00000120478859f8, RDX=0x0000000d0ebfb6f8
RSP=0x0000000d0ebfb550, RBP=0x0000000d0ebfb6d8, RSI=0x0000000000200021, RDI=0x0000000082049298
R8 =0x0000000000000032, R9 =0x00000000de379018, R10=0x0000000000000582, R11=0x000000005afc6a1c
R12=0x0000000000000000, R13=0x0000012049da7d78, R14=0x0000000d0ebfb700, R15=0x0000012047885800
RIP=0x0000000010014ed4, EFLAGS=0x0000000000010206
这是日志。
网上大多数教的方法
让jvm跳过该方法的编译
jvm启动添加如下参数
-XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType
如果是tomcat直接启动,在可以在/bin/catalina.bat添加如下参数
set JAVA_OPTS=%JAVA_OPTS% -XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType %LOGGING_CONFIG%
ps:可以试一下这个方法,很多人都解决了,但是我的还是报错,然后经过一天的各种查资料,最好在一个java群里面找到了一个碰到过这个朋友的大佬,给了我思路!
我的解决办法
我的是jdk1.8_261版本,如果想解决问题,就需要往前换版本,于是我换了哥jdk1.8_191的版本
我的博客里有jdk 1.8_191的资源,可以免费拿
安装好以后
更换jdk
如果你的是idea系统版本jdk,可以试着换成自己的jdk,然后调试一下,如果错误了再换版本191的
这些jdk版本全部更换了
rebuild一下
清理一下缓存
接着重新启动,项目就不会报错了
(我的项目是可以正常启动了,此方法不代表一定能解决,仅供参考)