- - PR -
java.exeが落ちてしまいます
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-12 18:15
以下の環境で、あるVMが途中で止まってしまいます(exeptionもcoreもなく、
java.exeが終了する)。 WindowsXP SP1 j2sdk1.4.2_02 oracle9i スレッドダンプを採取したのですが、見方がよく分からないこともあり なぜこのような事象になるのかの想像もつかない状態です。 何でも結構ですのでご存じの方、ご教授ください。 以下、その時のスレッドダンプです。 --------------------------------- Full thread dump Java HotSpot(TM) Server VM (1.4.2_02-b03 mixed mode): "IdleTT9470766" daemon prio=5 tid=0x07417b10 nid=0xd44 in Object.wait() [852f000..852fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x1771be28> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzTransactionThread.run(TzTransactionThread.java:165) - locked <0x1771be28> (a java.lang.Object) "IdleTT24964246" daemon prio=5 tid=0x07474418 nid=0xb48 in Object.wait() [84ef000..84efdb4] at java.lang.Object.wait(Native Method) - waiting on <0x1771be30> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzTransactionThread.run(TzTransactionThread.java:165) - locked <0x1771be30> (a java.lang.Object) "IdleTT27826089" daemon prio=5 tid=0x074742b8 nid=0xd60 in Object.wait() [84af000..84afdb4] at java.lang.Object.wait(Native Method) - waiting on <0x1771be38> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzTransactionThread.run(TzTransactionThread.java:165) - locked <0x1771be38> (a java.lang.Object) "IdleTT24244617" daemon prio=5 tid=0x07652e08 nid=0xd90 in Object.wait() [846f000..846fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x1771be40> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzTransactionThread.run(TzTransactionThread.java:165) - locked <0x1771be40> (a java.lang.Object) "IdleTT13986615" daemon prio=5 tid=0x07b2de70 nid=0xd88 in Object.wait() [842f000..842fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x1771be48> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzTransactionThread.run(TzTransactionThread.java:165) - locked <0x1771be48> (a java.lang.Object) "RMI TCP Connection(2)-10.0.3.20" daemon prio=5 tid=0x0790c850 nid=0xd70 runnable [83ef000..83efdb4] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) at java.io.BufferedInputStream.read(BufferedInputStream.java:201) - locked <0x15074348> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:66) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:442) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) "RMI ConnectionExpiration-[localhost:1099]" daemon prio=5 tid=0x07ae1b70 nid=0xc8c waiting on condition [83af000..83afdb4] at java.lang.Thread.sleep(Native Method) at sun.rmi.transport.tcp.TCPChannel$Reaper.run(TCPChannel.java:447) at java.lang.Thread.run(Thread.java:534) "RMI LeaseChecker" daemon prio=5 tid=0x079e9d10 nid=0xd6c waiting on condition [836f000..836fdb4] at java.lang.Thread.sleep(Native Method) at sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:307) at java.lang.Thread.run(Thread.java:534) "RMI TCP Connection(1)-10.0.3.21" daemon prio=5 tid=0x07b34688 nid=0xd68 runnable [832f000..832fdb4] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) at java.io.BufferedInputStream.read(BufferedInputStream.java:201) - locked <0x15074c90> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:66) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:442) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) "Thread-5" prio=5 tid=0x07653228 nid=0xc78 in Object.wait() [82ef000..82efdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14ebb250> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at jp.buildsystem.aladdin.server.transaction.TzRemoteTransactionProviderImpl$MainLoop.run(TzRemoteTransactionProviderImpl.java:237) - locked <0x14ebb250> (a java.lang.Object) at java.lang.Thread.run(Thread.java:534) "GC Daemon" daemon prio=2 tid=0x078a5598 nid=0xd5c in Object.wait() [7fef000..7fefdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14eba558> (a sun.misc.GC$LatencyLock) at sun.misc.GC$Daemon.run(GC.java:100) - locked <0x14eba558> (a sun.misc.GC$LatencyLock) "RMI Reaper" prio=5 tid=0x078a5348 nid=0xd58 in Object.wait() [7faf000..7fafdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14eb99c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x14eb99c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:330) at java.lang.Thread.run(Thread.java:534) "Thread-4" daemon prio=5 tid=0x071048f8 nid=0xcc4 in Object.wait() [7f6f000..7f6fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14eb9d50> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:429) - locked <0x14eb9d50> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:382) "RMI TCP Accept-0" daemon prio=5 tid=0x075fac40 nid=0xce0 runnable [7f2f000..7f2fdb4] at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353) - locked <0x14eb9a98> (a java.net.PlainSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:448) at java.net.ServerSocket.accept(ServerSocket.java:419) at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334) at java.lang.Thread.run(Thread.java:534) "Thread-3" daemon prio=5 tid=0x0710bd38 nid=0xd20 in Object.wait() [7eef000..7eefdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14ea3510> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:429) - locked <0x14ea3510> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:382) "Thread-1" daemon prio=5 tid=0x07040d10 nid=0x6d0 in Object.wait() [726f000..726fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14de4ff8> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:429) - locked <0x14de4ff8> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:382) "Signal Dispatcher" daemon prio=10 tid=0x00a55a80 nid=0xc30 waiting on condition [0..0] "JDWP Event Helper Thread" daemon prio=5 tid=0x00a6e820 nid=0xd14 runnable [0..0] "JDWP Transport Listener: dt_socket" daemon prio=5 tid=0x00a6dde0 nid=0xd10 runnable [0..0] "Finalizer" daemon prio=9 tid=0x00a53918 nid=0xc88 in Object.wait() [2e1f000..2e1fdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14dd0378> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x14dd0378> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x009f27a0 nid=0xd04 in Object.wait() [2ddf000..2ddfdb4] at java.lang.Object.wait(Native Method) - waiting on <0x14dd02a0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x14dd02a0> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00035818 nid=0xcfc runnable [7f000..7fc00] at sun.io.ByteToCharDoubleByte.convert(ByteToCharDoubleByte.java:133) at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:247) at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:297) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182) - locked <0x166d9668> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.readLine(BufferedReader.java:299) - locked <0x166d9668> (a java.io.InputStreamReader) at java.io.BufferedReader.readLine(BufferedReader.java:362) at com.takazono.sl4j.r2.searcher.onmem.loader.csv.TzSl4jCsvLoaderBase.load(TzSl4jCsvLoaderBase.java:79) at com.takazono.sl4j.r2.searcher.onmem.TzSl4jOnmemSearcherBase.init(TzSl4jOnmemSearcherBase.java:61) - locked <0x1651e108> (a com.takazono.sl4j.r2.searcher.onmem.TzSl4jKwdIdxL1OnmemSearcher) at com.takazono.sl4j.r2.core.TzSl4jCore.initSearchers(TzSl4jCore.java:226) - locked <0x3c216de0> (a java.lang.Class) at com.takazono.sl4j.r2.core.TzSl4jCore.<init>(TzSl4jCore.java:185) at com.takazono.sl4j.r2.TzSl4j.<init>(TzSl4j.java:76) at jp.buildsystem.sakura.common.tpr.SkSl4jServer.startService(SkSl4jServer.java:123) at jp.buildsystem.aladdin.common.service.TzServiceManager.startServices(TzServiceManager.java:181) at jp.buildsystem.aladdin.server.common.TzServerMain.serverMain(TzServerMain.java:99) - locked <0x14de29d8> (a jp.buildsystem.aladdin.server.common.TzServerMain) at jp.buildsystem.aladdin.server.common.TzServerMain.main(TzServerMain.java:183) "VM Thread" prio=5 tid=0x009f1d88 nid=0xd00 runnable "VM Periodic Task Thread" prio=10 tid=0x00a5a190 nid=0xf80 waiting on condition "Suspend Checker Thread" prio=10 tid=0x00a55000 nid=0xc98 runnable | ||||||||
|
投稿日時: 2004-03-12 19:16
VM が落ちたらスレッドダンプはとれないです。落ちたタイミングで何かメッセージがでていないですか?
それとも落ちたのではなくハングでしょうか? 特に固まっている様子はありませんね。スレッドダンプの見方は以下のページがよくかかれています。 http://www1.jpn.hp.com/products/software/development/java/tips/tune/p23.html 複数回取得して動きを確認すると良いでしょう。 ↓手前味噌ですがスレッドダンプ解析ツールです。 http://yusuke.homeip.net/myportal/ThreadAnalyzer.jnlp アクセスすると JavaWebStart で自動的にインストール/起動できます。標準出力をリダイレクトしてファイルに落としたらドラッグ&ドロップで解析できます。 | ||||||||
|
投稿日時: 2004-03-15 10:48
インギさん、早速のレスありがとうございました。
何分、よく分からない状態で質問を投稿しました。 >VM が落ちたらスレッドダンプはとれないです。落ちたタイミングで何かメッセージが >でていないですか? ログを採取しているのですが、若干怪しげな情報がありましたのでそこから追ってみようかと思います。 >それとも落ちたのではなくハングでしょうか? ハングではなく、VM自体が終了しています。 >特に固まっている様子はありませんね。スレッドダンプの見方は以下のページがよくか >かれています。 ありがとうございます。参考にさせて頂きます。 >↓手前味噌ですがスレッドダンプ解析ツールです。 是非、使用させて頂きたいと思っています。 またよろしくお願いします。 | ||||||||
|
投稿日時: 2004-03-17 13:17
unibon です。こんにちわ。
#遅い回答ですが。
(ちなみに、メモリ例外などではカレントスレッドだけ(メモリ例外を起こしたそのひとつのスレッドだけ)ならば、スタックトレースが出たかもしれません。しかし、この場合でも、すべてのスレッドの分はダンプされなかったような気がします。) 本当に終了しているのでしょうか。無限ループになっているのではないでしょうか。 こう思うのも、
を拝見すると、 http://java.sun.com/j2se/1.4.2/ja/ReleaseNotes.html の中の 4879522 退行: ISO2022_JP$Decoder.decodeArrayLoop() で無限ループ http://developer.java.sun.com/developer/bugParade/bugs/4879522.html に似ているようだからです。 ただ、クラス名やメソッド名が違いますね。 | ||||||||
|
投稿日時: 2004-03-19 17:41
unibonさん こんにちは。
色々な可能性のご指摘ありがとうございました。 ちなみに、無限ループではありませんでした。 怪しげなExceptionが何度か発生していたのでこれを修正した所、事象が でなくなりました。(何の因果関係があるのかは分かりませんが) Exceptionが発生すると必ずではなかったし、VM自身が落ちない事もあった ため、現状においても根本的な原因はよく分かっていません。 以上 | ||||||||
1
