荫面向JVM崩溃cosistently同时使hotdeploy(上启动JAVA_OPTS -Xmx4096m -XX使用以下Java选项:MetaspaceSize =512米-XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath =崩溃 - XX:ThreadStackSize = 512 -XX:+ UseConcMarkSweepGC -XX:ParallelGCThreads = 5 -XX:NewRatio = 2 -XX:+ UnlockDiagnosticVMOptions -XX:-UseLoopPredicate -Xdebug -Xrunjdwp:transport = dt_socket,address = $ DEBUG_PORT,server = y,暂停= N -XX:NewRatio = 2 -Dspringloaded.synchronize =真JAVA_OPTS =`回声$ JAVA_OPTS -Dspringloaded.synchronize =真-javaagent:弹簧式-1.2.1.jar -noverify )JVM崩溃有问题的框架:Canonicalizer :: do_If
环境:JDK 1.8 U 66,RHEL 6.7
# # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007faee9a1e27c, pid=27208, tid=140379827795712 # # JRE version: Java(TM) SE Runtime Environment (8.0_66-b17) (build 1.8.0_66-b17) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.66-b17 mixed mode linux-amd64) # Problematic frame: # V [libjvm.so+0x35027c] Canonicalizer::do_If(If*)+0x1c # # Core dump written. Default location: core.27208 # # An error report file with more information is saved as: # hs_err_pid27208.log # [ timer expired, abort... ]
感谢您的快速回复,如果我启用字节码校验器有几个问题,现在是否有任何其他解决方法。 – sailukar
如果您的代码在字节码验证程序下失败,那么您已经有问题。你只是通过禁用它来延迟发生的错误。 – the8472
@ user3895269尝试'-XX:-TieredCompilation'。它可能会解决此问题,但如果字节码未能通过验证,则不要期望应用程序正常工作。最好远离错误代理库。 – apangin