Tomcat启动报A fatal error has been detected by the Java Runtime Environment

哎哎哎哎啊 发布于 2013/05/06 18:13
阅读 411
收藏 0

    之前项目启动都好好的,但是今天启动的时候报了这样的一个错误:

这个错误莫名其妙,就我一个人有,其他人都没有,换了jdk版本,重新安装了MyEclipse还是没法解决,查看了bin下面的错误日志,能看懂的就是这句话了:

Current CompileTask:
C1:  40609 1444      org.hibernate.cfg.annotations.SimpleValueBinder.setType(Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;)V (921 bytes)

网上说这样配置一下:

在Default VM Arguments中加入:

-XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType

这句就可以了,确实加入就可以了,但是怎么感觉有点莫名其妙呢,也没说出错的原因,哪位碰到过,这个问题到底是由什么原因造成的呢?

补充:

    加上这句话后,启动tomcat的时候,控制台输出了这样的字样:

意思就是不编译后面的那个是吧?不编译的话不会有什么问题吗?怎么感觉心慌呢

加载中
0
南湖船老大
南湖船老大

问题的原因就在于JIT在做编译优化的时候处理某个方法时出错,触发了JVM的编译器的BUG导致的。

估计是某个特定的小版本才会有。

0
南湖船老大
南湖船老大

不编译不会有任何后果,因为JVM在server模式下为了提高效率是编译模式,可以退化到解释模式下。一般默认就是解释模式的,只不过跑server是编译模式。

这样对性能影响极小。

返回顶部
顶部