3

Tomcat サーバーが予期せず終了しました。(Windows サービスとして実行されます。システム イベント ログに次のエラーが表示されます: イベント ID 7034)。

JVM クラッシュのダンプ、または Tomcat サービスが実際に実行を停止した理由を示す情報はどこにありますか?

アプリケーション ログに多数の例外が表示されます (Web フレームワークである Wicket は、NotSerializableException のために一部のページをディスクにシリアル化できません)。これらは、サービスがシャットダウンしようとしたことの副作用であると推測しています (ページにシリアル化できないオブジェクトがあるため)。何がサービスのシャットダウンを引き起こしたのか、私には明らかではありません。

以下の場所を確認しました。

  • アプリケーションログ
  • アクセスログ
  • 標準出力ログ
  • stderr ログ
  • tomcat.log
  • jakarta_service ログ

Tomcat がシャットダウン中であること、または VM エラーが発生したことを示すものは何も表示されません。Windows アプリケーション イベントで SQL Server 関連のネットワーク エラーがいくつか見られますが、これらは約 20 分後に発生しました。

ヒントはありますか?

4

2 に答える 2

0

私も同じ問題を抱えてる。(ネイティブ コードへの) jni 呼び出しが行われ、そこでエラーが発生した場合 (たとえば、メモリへの不正アクセスやセグメンテーション違反など)、hs_err ファイルを取得します。hs_err ファイルが見つからず、その状況で通常行われるように stderr にエラーが表示されません。Tomcat プロセスの終了ステータスが 134 (x86) であったことはわかっていますが、これはアボート シグナルを示していると考えられます。これは、コードで stdlib の「abort()」メソッドを呼び出すと発生します。jni ネイティブ コードのどこかで「abort()」を呼び出していると思います。残念ながら、場所を見つける良い方法はないようです。Tomcat が終了したときにコア ダンプを生成できれば、何かを続けることができます。

スローされた Java 例外によって Tomcat がシャットダウンされることはほとんどありません。JNI コードはありますか?abort() を呼び出している可能性はありますか? また、System.exit() への Java 呼び出しがどこかにある可能性はありますか?

于 2010-04-20T22:41:40.980 に答える
0

Ensure your tomcat isn't running in debug mode. If it is, you have to disable debugging to stop your tomcat service.

You can see that in your tomcat6.conf. You have to comment the line similar to this:

#JAVA_OPTS="-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4142,suspend=n"

The you can stop/restart your tomcat.

Bye

于 2012-03-19T09:31:59.270 に答える