Tomcat启动报A fatal error has been detected by the Java Runtime Environment
# 
 # A fatal error has been detected by the Java Runtime Environment:
 #
 #  SIGSEGV (0xb) at pc=0x00002ba9d88e02da, pid=17844, tid=1076017472
 #
 # JRE version: 6.0_29-b11
 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode linux-amd64 compressed oops)
 # Problematic frame:
 # C  [libc.so.6+0x732da]  short+0x3a
 #
 # An error report file with more information is saved as:
 # /home/iptv/bss/apache-tomcat-6.0.26/bin/hs_err_pid17844.log
 #
 # If you would like to submit a bug report, please visit:
 #   http://java.sun.com/webapps/bugreport/crash.jsp
#
问题的原因就在于 显示JIT在做编译优化的时候处理 某个方法时出错。
 本利的错误是这个方法
- org.hibernate.cfg.annotations.SimpleValueBinder.setType
解决办法:让jvm跳过该方法的编译优化
 在jvm启动参数中添加启动参数
- -XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType
如果是
eclipse下启动服务,则在eclipse-preference-java-installed jres 里面设置,
 在 defalt vm arguments 填入上面的代码就可以了。
 如果是
直接通过startup 启动tomcat,则需要修改以下文件
 Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh
 找到
- set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
修改为
- set JAVA_OPTS=%JAVA_OPTS% -XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType %LOGGING_CONFIG%

在Default VM Arguments中加入:
-XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType
这句就可以了,确实加入就可以了,但是怎么感觉有点莫名其妙呢,也没说出错的原因,哪位碰到过,这个问题到底是由什么原因造成的呢?
补充:
加上这句话后,启动tomcat的时候,控制台输出了这样的字样:

Tomcat启动报A fatal error has been detected by the Java Runtime Environment的更多相关文章
- A fatal error has been detected by the Java Runtime Environment(jdk 1.6的一个BUG)
		几天做项目,生成一堆注解的实体,当实体数超过86个时,jvm报错: # # A fatal error has been detected by the Java Runtime Environmen ... 
- Java服务突然失败:A fatal error has been detected by the Java Runtime Environment的总结
		服务启动以后过段时间自动失败:A fatal error has been detected by the Java Runtime Environment 控制台中的错误信息 A fatal err ... 
- eplise中运行提示  A fatal error has been detected by the java runtime environment
		今天一同事出现运行项目时,提示 A fatal error has been detected by the java runtime environment,具体表现是使用我们框架,不能正常的打印日 ... 
- A fatal error has been detected by the Java Runtime Environment:
		在Eclipse中运行项目 遇到如下错误: ## A fatal error has been detected by the Java Runtime Environment:## EXCEPTIO ... 
- centos6的kibana7.1无法启动报错 FATAL  Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理
		centos6的kibana7.1无法启动报错 FATAL Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理 ... 
- 启动eclipse出现“Error opening registry key 'software\Javasoft\Java Runtime Environment'”
		启动eclipse出现“Error opening registry key 'software\Javasoft\Java Runtime Environment'”,“java was start ... 
- Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll
		java -jar yxCollector-1.1.0.jarError: opening registry key 'Software\JavaSoft\Java Runtime Environme ... 
- java command line error opening registry key 'Software\JavaSoft\Java Runtime Environment' java.dll
		C:\Users\huxxxxchan>javaError: opening registry key 'Software\JavaSoft\Java Runtime Environment'E ... 
- 安装JDK出现问题 Error opening registry key'software\Javasoft\Java Runtime Environment'
		第一次安装JDK测试是否安装成功,打开cmd输入java -version 回车的时候出现如下错误: Error opening registry key'software\Javasoft\Java ... 
- Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'  could not find java.dll
		Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'Error: could not find java.d ... 
随机推荐
- 11月21日内容总结——多进程实现TCP服务端并发、互斥锁、线程及代码实现、GIL全局解释器锁、信号量、event事件、进程池和线程池、协程
			目录 一.多进程实现TCP服务端并发 二.互斥锁代码实操 1.互斥锁的概念 2.互斥锁的使用 3.死锁现象 4. 小结 三.线程理论 进程 线程 线程简介 为什么要使用多线程? 多线程概念 多进程的优 ... 
- 重学SpringBoot. step2 Spring AOP
			Spring AOP AOP的原理,就是生成对象的代理,然后通过在代理的执行中,添加一些钩子来扩展功能. @Aspect public class MyAspect { @Pointcut(" ... 
- layedit 清空 编辑器
			使用layedit.setContent(index,"") 即可以清除 layui.use('layedit', function(){ var layedit = layui. ... 
- fast planner总结
			一.前端 kinodynamic A*算法动力学路径搜索 1.1 路径搜索的主要函数为kinodynamicAstar类的search函数 int KinodynamicAstar::search(E ... 
- C++练习5 对引用进行初始化
			1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 const int cInt = 3;//定义常量cInt并 ... 
- C++练习-1 简单输入输出
			首先完整代码如下: #include <iostream> #include <string> using namespace std; int main() { int on ... 
- Winform程序制作安装包
			记录一下Winform程序打包过程 参考文章:VS2017 WinFrom打包设置与教程 下载 Visual Studio Installer 拓展插件 从VS2017开始VS已默认不再集成Insta ... 
- 【雅礼联考DAY02】Magic
			#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> us ... 
- GPS地图生成02之经典算法体验
			经典的利用轨迹生成地图的算法与数据集可寻找于:Mapconstruction by pfoser Mapconstruction by pfoser数据集中,雅典数据集投影坐标系为(UTM, GGRS ... 
- C与Java中的动态数组
			1. 引言 在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定.对于这种问题,用静态数组的办法很难解决. 动态数组,是相对于静态数组而言.静态数组的长度是预先定义 ... 
