2012-12-20 66 views
2

我很習慣崩潰我的tomcat服務器。但我認爲我沒有做任何改變,似乎完全打破了它。正在工作一分鐘,然後不是下一個。嚴重的Tomcat崩潰讓我難堪

我真的希望有人能幫助這裏是catalina.out的:

Dec 20, 2012 1:35:56 AM org.apache.catalina.startup.Embedded initDirs 
SEVERE: Cannot find specified temporary folder at 
Dec 20, 2012 1:35:57 AM org.apache.catalina.core.AprLifecycleListener init 
INFO: Loaded APR based Apache Tomcat Native library 1.1.23. 
Dec 20, 2012 1:35:57 AM org.apache.catalina.core.AprLifecycleListener init 
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 
Dec 20, 2012 1:35:57 AM org.apache.coyote.http11.Http11AprProtocol init 
INFO: Initializing Coyote HTTP/1.1 on http-8040 
Dec 20, 2012 1:35:57 AM org.apache.coyote.ajp.AjpAprProtocol init 
INFO: Initializing Coyote AJP/1.3 on ajp-8042 
Dec 20, 2012 1:35:57 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 587 ms 
Dec 20, 2012 1:35:57 AM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Dec 20, 2012 1:35:57 AM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.33 
Dec 20, 2012 1:35:57 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory docs 
Dec 20, 2012 1:35:57 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory ROOT 
Dec 20, 2012 1:35:57 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory myApp 
Dec 20, 2012 1:35:57 AM org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(/lhome/me/tomcat6/webapps/myApp/WEB-INF/lib/javax.servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 
Dec 20, 2012 1:35:58 AM org.apache.coyote.http11.Http11AprProtocol start 
INFO: Starting Coyote HTTP/1.1 on http-8040 
Dec 20, 2012 1:35:58 AM org.apache.coyote.ajp.AjpAprProtocol start 
INFO: Starting Coyote AJP/1.3 on ajp-8042 
Dec 20, 2012 1:35:58 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 880 ms 
Error Reading TLE line 1: java.lang.Exception: TLE line 1 not valid first line 
Error Creating SGP4 Satellite 
Dec 20, 2012 1:36:26 AM org.apache.coyote.http11.Http11AprProtocol pause 
INFO: Pausing Coyote HTTP/1.1 on http-8040 
Dec 20, 2012 1:36:26 AM org.apache.coyote.ajp.AjpAprProtocol pause 
INFO: Pausing Coyote AJP/1.3 on ajp-8042 
Dec 20, 2012 1:36:27 AM org.apache.catalina.core.StandardService stop 
INFO: Stopping service Catalina 
Dec 20, 2012 1:36:30 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: The web application [/myApp] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Dec 20, 2012 1:36:30 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 
SEVERE: The web application [/myApp] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. 
Dec 20, 2012 1:36:30 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 
SEVERE: The web application [/myApp] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak. 
Dec 20, 2012 1:36:30 AM org.apache.coyote.http11.Http11AprProtocol destroy 
INFO: Stopping Coyote HTTP/1.1 on http-8040 
Dec 20, 2012 1:36:30 AM org.apache.coyote.ajp.AjpAprProtocol destroy 
INFO: Stopping Coyote AJP/1.3 on ajp-8042 
Dec 20, 2012 1:37:12 AM org.apache.catalina.startup.Catalina stopServer 
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:208) 
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416) 

而且我已經創建的,我從來沒見過一個新的日誌,但它似乎認爲它的東西嚴重。一個漫長的,但在這裏它是:

Massive Error Log I've never seen before

+0

你爲什麼在你的web應用程序中包含servlet jar?它負責提供網絡應用程序容器。 – Perception

+0

你知道我不是100%確定它爲什麼在那裏,我應該刪除它嗎? –

+0

是的,刪除它並重新測試。 – Perception

回答

0

感謝所有在這裏給予幫助的人。

但是我倒了,我應該回答我自己的問題。儘管我仍然不完全明白爲什麼會造成這樣嚴重的例外。這個問題似乎在於我在我的數據庫上放了一個表,表示程序正在讀取。該表中充滿了程序用於編譯其他數據的數據。一旦我重新填充這張桌子就沒事了。

我不知道爲什麼這麼簡單會導致如此多的錯誤,並且從未出現在日誌中作爲表未找到錯誤。不過,我只能假設該程序試圖運行空白數據,而這個人造成了嚴重的錯誤。

再次感謝那些提供幫助的人!

+0

我很高興你能再次運行,但我會保持謹慎。失敗的表不應該導致SIGBUS。託管代碼和本地代碼相距太遠(除非您使用本地RDBMS驅動程序)。我仍然會檢查你的機器內存和磁盤。比對不起更安全。 –

4

你的JVM的得到SIGBUS。這可能是硬件問題,也可能是低級的JVM代碼錯誤。

siginfo:si_signo=SIGBUS: si_errno=0, 
si_code=2 (BUS_ADRERR), si_addr=0x00007f0a9bb06fe5 

在您的啓動中有一個可疑條目是-Djava.io.tmpdir =(即temp dir是空字符串)。可以對JVM做些有趣的事情,儘管我沒有對它進行測試。可能是這樣的。

jvm_args: -Dcatalina.base=/lhome/me/tomcat6 
-Dcatalina.home=/usr/share/tomcat6 
-Djava.endorsed.dirs= 
-Djava.io.tmpdir= 
-Djava.util.logging.config.file=/lhome/me/tomcat6/conf/logging.properties 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 

底線:我相信你的硬件出問題了。備份一切。

+1

+1只是令人震驚的底線。:-) –

1

炸彈似乎都發生在本地方法java.util.zip.ZipFile.getZipMessage()這是由getEntry()調用。 ZipFile曾經歷過一個錯誤,並試圖構造一個異常消息。在停止正在運行的webapp作爲重新加載的一部分時會發生這種情況

您是否移動.war文件?這可能會導致問題。

這些類型的問題很難診斷和修復。但是,問題很可能是java.io.tmpdir沒有正確設置http://efod.se/blog/archive/2011/05/02/java-sigbus是一個類似的問題。

如果不起作用,使用apt-get升級的zlib和OpenJDK的,和力ZipFile.getEntry()來解釋:

-X:CompileCommand=exclude,java/util/zip/ZipFile,getEntry 

由於OSB統計說,不信任你的硬件(雖然它不是可能是硬件問題)。