由于 tomcat JVM 崩溃,Web 应用程序 apache tomcat 服务正在重新启动

Web Application apache tomcat service is getting restarted due to tomcat JVM crash

我们 运行 Web 应用程序托管在 tomcat7 上。但是由于 JVM 崩溃,服务正在停止。这是 JVM 崩溃的堆栈跟踪。

Stack: [0x3aa40000,0x3aa60000],  sp=0x3aa5fb64,  free space=126k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [tcnative-1.dll+0x6da6]
J 2140  org.apache.tomcat.jni.Poll.poll(JJ[JZ)I (0 bytes) @ 0x0133ce94 [0x0133cde0+0xb4]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 2140  org.apache.tomcat.jni.Poll.poll(JJ[JZ)I (0 bytes) @ 0x0133ce50 [0x0133cde0+0x70]
J 2139% C2 org.apache.tomcat.util.net.AprEndpoint$Poller.run()V (2291 bytes) @ 0x012f4420 [0x012f3f80+0x4a0]
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

这是其中的 header 部分。

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x35a86da6, pid=2756, tid=4612
#
# JRE version: Java(TM) SE Runtime Environment (7.0_65-b19) (build 1.7.0_65-b19)
# Java VM: Java HotSpot(TM) Server VM (24.65-b04 mixed mode windows-x86 )
# Problematic frame:
# C  [tcnative-1.dll+0x6da6]

我们发现在崩溃之前只有一个来自我们自己的应用程序的线程 运行 但不确定该线程将如何导致 tomcat 崩溃。我们正在本地尝试模拟。感谢您的帮助。

尝试添加此属性:

org.apache.catalina.connector.RECYCLE_FACADES=true

到tomcat/conf/catalina.properties文件,按照http://wiki.apache.org/tomcat/FAQ/KnownIssues#ImageIOIssues.

重启应用服务器