2

私はTomcatサーバーをクラッシュさせることにかなり慣れています。しかし、私はまったく変更を加えていないと思い、完全に壊したようです。1分間働いていたが、次は働いていなかった。

誰かがここで助けてくれることを本当に願っています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)

そして、私は作成された新しいログを持っています、私はそれを前に見たことがありませんが、それは何か厳しいものだと思っているようです。長いものですが、ここにあります:

今まで見たことがない大規模なエラーログ

4

3 に答える 3

4

JVMにはSIGBUSがあります。これは、ハードウェアの問題か、低レベルのJVMコードのバグのいずれかです。

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

疑わしいエントリの1つは、スタートアップの-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 

結論:ハードウェアがダウンしたと思います。すべてをバックアップします。

于 2012-12-20T03:10:40.890 に答える
1

爆弾は、java.util.zip.ZipFile.getZipMessage()によって呼び出されるネイティブメソッドで発生したようgetEntry()です。 ZipFileエラーが発生し、例外メッセージを作成しようとしていました。これは、リロードの一部として実行中のWebアプリを停止しているときに発生します。

.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 Statsが言ったように、ハードウェアを信用しないでください(ハードウェアの問題ではない可能性がありますが)。

于 2012-12-20T04:39:15.233 に答える
0

ここで助けてくれたすべての人に感謝します。

しかし、私は落ちました。私は自分の質問に答えなければなりません。なぜそれがそのような重大な例外を引き起こしたのか、私はまだ完全には理解していませんが。問題は、プログラムが読み取っているテーブルをデータベースにドロップしたことにあるようです。このテーブルは、プログラムが他のデータをコンパイルするために使用したデータでいっぱいでした。このテーブルを再入力すると、問題ありませんでした。

なぜこんなに単純なことがこんなにたくさんのエラーを引き起こし、テーブルが見つからないというエラーとしてログに表示されなかったのかわかりません。ただし、プログラムが空白のデータで実行しようとしていて、この誰かが重大なエラーを引き起こしたと推測することしかできません。

それで、助けを提供してくれた人々にもう一度感謝します!

于 2012-12-20T15:00:12.330 に答える