2012-12-20 8 views
2

저는 Tomcat 서버를 파손하는 데 익숙합니다. 그러나 나는 전혀 변경하지 않았다고 생각하고 그것을 완전히 망가 뜨린 것 같습니다. 1 분 일하고 나서 다음 일을하지 못했습니다.심각한 Tomcat 충돌로 인해 나를 곤란 해했습니다.

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) 

그리고 나는, 내가 전에 그것을 본 적이 생성 된 새 로그를 가지고 있지만 그것 뭔가 심각한 생각하는 것 : 정말 누군가가 여기에 도움 수 있기를 바랍니다

는 Catalina.out입니다 . 긴 하나 그러나 여기있다 :

Massive Error Log I've never seen before

+0

웹 앱에 서블릿 병을 포함시키는 이유가 무엇입니까? 그것을 제공하는 웹 애플 컨테이너의 책임. – 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 = 시동에 (즉, 임시 디렉토리가 빈 문자열)입니다. 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

getEntry()이라는 기본 메서드 java.util.zip.ZipFile.getZipMessage()에서 폭탄이 발생한 것 같습니다. ZipFile에 오류가 발생하여 예외 메시지를 작성하려고했습니다. 이것은 재로드의 일부로 실행중인 webapp을 중지하는 동안 발생합니다.

.war 파일을 이동 했습니까? 이로 인해 문제가 발생할 수 있습니다.

이러한 종류의 문제는 진단하고 수정하기가 어렵습니다. 그러나이 문제는 java.io.tmpdir이 제대로 설정되어 있지 않은 것 같습니다.. http://efod.se/blog/archive/2011/05/02/java-sigbus도 비슷한 문제입니다. 그래도 문제가 해결되지 않으면

, 해석 ZLIB 및 오픈 JDK, 힘 ZipFile.getEntry()을 업그레이드 apt-get을 사용

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

가 OSB 통계가 말했듯이, 그렇지 않은 있지만 (하드웨어를 신뢰하지 않는 가능성이있는 하드웨어 문제).

관련 문제