- - PR -
TOMCAT終了時のエラー
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-29 11:44
最近、TOMCATの負荷が高くなってからか、以下のようなエラーが出て、TOMCATが終了できなくなりました。毎回ではなく、時々で、長時間(2か月ぐらい)稼働すると発生しています。
・Red Hat Enterprise Linux ES release 4 ・Javaは1.5.0_05-b05 ・Tomcat/5.5.12 ・以前は問題なく動いていた。(最近負荷が高くなってきたのが影響?) ・Probeを導入。Oracleとの接続するシステムが稼働 ・Apache停止→PSで停止を確認→TOMCAT停止を行っているが下記エラー ・エラー後にPSで数分監視したが、正常停止するわけではない。 ・最終的にはKILLで終了している。その後起動は問題なく行われる。 Apacheとのコネクション周りかな?と思って調査しましたが、Apache側でのエラーは出てなく、正常終了でした。 複数環境を作っていますが、どの環境でも時々発生しています。 今後の方針としてはVMのバージョンあげたり、TOMCATバージョンを変えて調査しようと思っています。 同様の現象が出た方などおられるとご教授ください。 情報: サービス Catalina を停止します java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.NullPointerException at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:883) at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1159) at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1131) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1053) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1065) at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447) at org.apache.catalina.core.StandardService.stop(StandardService.java:512) at org.apache.catalina.core.StandardServer.stop(StandardServer.java:714) at org.apache.catalina.startup.Catalina.stop(Catalina.java:586) at org.apache.catalina.startup.Catalina.start(Catalina.java:561) ... 6 more [ メッセージ編集済み 編集者: きよ 編集日時 2008-08-29 11:48 ] [ メッセージ編集済み 編集者: きよあや 編集日時 2008-08-29 11:56 ] | ||||||||
|
投稿日時: 2008-08-29 12:30
負荷が増えてからというならば、JConsoleを使ってメモリの使用状況(遷移)やデットロックがないかなど、まずは測定するべきかな、と思います。
また、Probeは導入したことがないので詳しくは解りませんが、先に停止しなければならないなどの制限もないか確認したほうがいいと思います。 | ||||||||
|
投稿日時: 2008-08-29 20:21
バグデータベースを検索してみてはいかがでしょう。
https://issues.apache.org/bugzilla/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Tomcat+5&content=InvocationTargetException+nullpointerexception メモリの利用状況にギモンがあるようであれば -XX:+PrintGCDetails と -XX:+PrintGCTimeStamps オプションを付けて標準/標準エラー出力をリダイレクトしておくことをお勧めします。 [ メッセージ編集済み 編集者: インギ 編集日時 2008-08-29 23:03 ] | ||||||||
|
投稿日時: 2008-09-01 11:41
ご回答ありがとうございます。
>わたなべ様 >インギ様 まずはメモリ回りの状況を把握してみるようにします。 JConsole導入及び、起動オプションの変更で対応および、MRTGあたりでOS のメモリ遷移も把握しておこうと思います。 助言ありがとうございます。 | ||||||||
|
投稿日時: 2008-09-03 09:30
良くは知りませんが、あてずっぽうで答えると、まずスタックトレースに NullPointerException がありますので、内部状態がおかしくなっていると考えられます。 おっしゃる2か月の間にほかのエラーはまったく出ていないことは確認されましたか?もしなにか出ていたら、この終了時のエラーはそれの副次的なエラーにすぎないのかもしれません。 |
1