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 ...
随机推荐
- JAVA虚拟机07-垃圾回收-分代收集理论和垃圾收集算法
1.分代收集理论 1.1分代收集理论假说 1.2分代收集理论奠定的垃圾收集器原则 1.3基于分代收集理论的内存划分-跨代引用假说 2.垃圾回收 3.垃圾收集算法 3.1标记-清除算法 3.2标记-复制 ...
- STM32F1库函数初始化系列:串口DMA空闲接收_DMA发送
1 void USART3_Configuration(void) //串口3配置---S 2 { 3 DMA_InitTypeDef DMA_InitStructure; 4 USART_InitT ...
- 简要介绍WASAPI播放音频的方法
正文 填一下之前挖的坑,这回就说说怎么用WASAPI播放声音吧. 本文完整代码可以在以下链接找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/ ...
- 2022年4月第十三届蓝桥杯省赛C组C语言 习题解析(每日一道)
本题总分:5 分[问题描述]小蓝要把一个字符串中的字母按其在字母表中的顺序排列.LANQIAO 排列后为 AAILNOQ.//用的冒泡排序 https://blog.csdn.net/superman ...
- [代码审计基础 02]-SQL注入和预编译和预编译绕过
SQL注入 thinkphp基本没得SQL注入,除非魔改 ORM框架的错误使用 一个专门用来防御SQL注入的框架 错误写法-java/mybatis <select id = "fin ...
- Postgresql 锁等待检测及处理
背景 对于多数数据库,dba技能之一就是查找锁.锁的存在有效合理的在多并发场景下保证业务有序进行.下面我们看一下Postgresql中查找阻塞的方法. 1.找到"被阻塞者",获取被 ...
- vue中h函数的使用
1. h() 函数是一个用于创建 vnode,其实在vue中是createVNode 函数的简写 h()函数接受三个参数 参数1. 标签名或组件 参数2. 标签的属性或事件 参数3. 内容使用: // ...
- go常见的坑
1. for循环中使用短变量声明初始值 案例1: type Data struct { d *int } func main() { list := make([]Data, 0) for i := ...
- VSCode 自动编译 typescript 为 javascript
1.我们默认你已经安装了node.js通过npm安装typescript npm install -g typescript 2.VSCode 里,点击"终端" "新建终 ...
- P7213 [JOISC2020] 最古の遺跡 3
这个题刚好是一个月前我们学校联赛组的人考的题的 T4 .今天有幸看见原题. 我当时顺便看了他们的题.想了一个小时,才想出来了如下的麻烦做法. 然后教练让我来讲这个题,我讲得很累,大家也都没有改. 题意 ...