An out of process isolate does not terminate after exiting main()
jstack output the hanging isolate
2010-04-09 10:58:11
Full thread dump Java HotSpot(TM) Client VM with MultiApp Extensions enabled (16.0-b70-internal mixed mode):
"Attach Listener" daemon prio=10 tid=0x08dbd800 nid=0x282e waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" prio=10 tid=0x08dbbc00 nid=0x280a waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Thread-0" prio=10 tid=0x08d60800 nid=0x2818 runnable (task id: 0 ) [0xa05e1000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:238)
at javax.isolate.outofprocess.OutOfProcessIsolate$PumpIn.run(OutOfProcessIsolate.java:381)
"Low Memory Detector" daemon prio=10 tid=0x08d47400 nid=0x2813 runnable (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x08d3c000 nid=0x2812 waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x08d3a400 nid=0x2811 runnable (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x08d26c00 nid=0x280d in Object.wait() (task id: 0 ) [0xa086d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xa0c56738> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0xa0c56738> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:160)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:266)
"Reference Handler" daemon prio=10 tid=0x08d25400 nid=0x280c in Object.wait() (task id: 0 ) [0xa08be000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xa0c55e80> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:155)
- locked <0xa0c55e80> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x08d21c00 nid=0x280b runnable
"VM Periodic Task Thread" prio=10 tid=0x08d49800 nid=0x2814 waiting on condition
JNI global references: 709
jstack output the hanging isolate
2010-04-09 10:58:11
Full thread dump Java HotSpot(TM) Client VM with MultiApp Extensions enabled (16.0-b70-internal mixed mode):
"Attach Listener" daemon prio=10 tid=0x08dbd800 nid=0x282e waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" prio=10 tid=0x08dbbc00 nid=0x280a waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Thread-0" prio=10 tid=0x08d60800 nid=0x2818 runnable (task id: 0 ) [0xa05e1000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:238)
at javax.isolate.outofprocess.OutOfProcessIsolate$PumpIn.run(OutOfProcessIsolate.java:381)
"Low Memory Detector" daemon prio=10 tid=0x08d47400 nid=0x2813 runnable (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x08d3c000 nid=0x2812 waiting on condition (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x08d3a400 nid=0x2811 runnable (task id: 0 ) [0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x08d26c00 nid=0x280d in Object.wait() (task id: 0 ) [0xa086d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xa0c56738> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0xa0c56738> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:160)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:266)
"Reference Handler" daemon prio=10 tid=0x08d25400 nid=0x280c in Object.wait() (task id: 0 ) [0xa08be000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xa0c55e80> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:155)
- locked <0xa0c55e80> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x08d21c00 nid=0x280b runnable
"VM Periodic Task Thread" prio=10 tid=0x08d49800 nid=0x2814 waiting on condition
JNI global references: 709