2012-12-20 63 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统计说,不信任你的硬件(虽然它不是可能是硬件问题)。