2016-01-29 128 views
0

我们正在运行托管在tomcat7上的Web应用程序。但由于JVM崩溃,服务正在停止。这是JVM崩溃的堆栈跟踪。Web应用程序apache tomcat服务由于tomcat 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 

这里是标题部分。

# 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崩溃。我们在本地尝试模拟。谢谢你的帮助。

+1

似乎您使用导致崩溃的本机库'tcnative-1.dll'。 – Henry

+0

有什么办法可以在不使用tcnative-1.dll的情况下运行tomcat?不使用这个DLL的后果是什么?我读过这个DLL是可选的,但我不知道如何禁用它,以及禁用此DLL的影响是什么?请告诉我。 – AAjit

回答

0

尝试添加该属性:

org.apache.catalina.connector.RECYCLE_FACADES=true

到tomcat/conf目录/文件catalina.properties根据http://wiki.apache.org/tomcat/FAQ/KnownIssues#ImageIOIssues重新启动应用程序服务器。

+0

以上解决方案在我们的案例中不起作用。即使在应用以上解决方法之后,我们仍然能够看到崩溃。有什么其他的我们可以尝试? – AAjit

相关问题