zoukankan      html  css  js  c++  java
  • 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在做编译优化的时候处理 某个方法时出错。
    本利的错误是这个方法

    Java代码  收藏代码
    1. org.hibernate.cfg.annotations.SimpleValueBinder.setType  


    解决办法:让jvm跳过该方法的编译优化

    在jvm启动参数中添加启动参数
    Java代码  收藏代码
    1. -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
    找到
    1. set JAVA_OPTS=%JAVA_OPTS%  %LOGGING_CONFIG%  


    修改为
    1. 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的时候,控制台输出了这样的字样:


  • 相关阅读:
    竞赛备考建议
    谷山丰的一生
    从首个IMO季军谈起 作者 : 付云皓
    孔庆东:单刀赴高考
    LaTeX 技巧 802:国内期刊 CCT 模板编译经验
    数学书籍推荐
    翻译
    printf中用法详解
    黎活明给程序员的忠告【转】
    log4j2配置文件log4j2.xml详解(转载)
  • 原文地址:https://www.cnblogs.com/cuker919/p/4878521.html
Copyright © 2011-2022 走看看