JDK-6723985 : Java Process hangs when re-loading applet multipletimes using Kernel JRE
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows
  • CPU: x86
  • Submitted: 2008-07-09
  • Updated: 2011-03-13
  • Resolved: 2011-03-13
Related Reports
Relates :  
Relates :  
Relates :  
Description
Java Process hangs while reloading applets multiple times using Kernel JRE.

Build - b27 PIT. 
I was reloading an Applet - http://sqindia.india.sun.com/disk13/jcg/builds/1.6.0_10/b26/binaries/windows-i586/demo/applets/MoleculeViewer/example1.html
multiple times. I got into this issue. 

Here is thread dump while browser hanging. 

2008-07-09 16:55:18
Full thread dump Java HotSpot(TM) Kernel VM (11.0-b11 mixed mode):

"JRE 1.6.0.10 Heartbeat Thread" prio=6 tid=0x05616800 nid=0xc8c waiting on condi
tion [0x0653f000..0x0653fa54]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at sun.plugin2.main.server.JVMInstance$HeartbeatThread.run(Unknown Sourc
e)

"JRE 1.6.0.10 Output Reader Thread" prio=6 tid=0x055ad800 nid=0xcc0 runnable [0x
072ff000..0x072ffb54]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at sun.plugin2.main.server.JVMInstance$StreamMonitor.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

"JRE 1.6.0.10 Output Reader Thread" prio=6 tid=0x055f8c00 nid=0x6c8 runnable [0x
071ff000..0x071ffbd4]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.fill(Unknown Source)
        at java.io.BufferedInputStream.read1(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        - locked <0x081a6648> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(Unknown Source)
        at sun.plugin2.main.server.JVMInstance$StreamMonitor.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

"Thread-7" prio=6 tid=0x055f8800 nid=0xeb0 runnable [0x070ff000..0x070ffc54]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ProcessImpl.waitFor(Native Method)
        at sun.plugin2.jvm.JVMLauncher$JVMWatcher.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Java Plug-In Pipe Worker Thread (Server-Side)" prio=6 tid=0x0561f000 nid=0x21c
runnable [0x06fff000..0x06fffcd4]
   java.lang.Thread.State: RUNNABLE
        at sun.plugin2.os.windows.Windows.ReadFile0(Native Method)
        at sun.plugin2.os.windows.Windows.ReadFile(Unknown Source)
        at sun.plugin2.ipc.windows.WindowsNamedPipe.read(Unknown Source)
        at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read(
Unknown Source)
        at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readB
yte(Unknown Source)
        at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source)
        at sun.plugin2.message.transport.SerializingTransport.read(Unknown Sourc
e)
        at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source)

"traceMsgQueueThread" daemon prio=6 tid=0x055bd800 nid=0xa44 in Object.wait() [0
x05f3f000..0x05f3fa54]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x08632a90> (a java.util.ArrayList)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
        - locked <0x08632a90> (a java.util.ArrayList)
        at java.lang.Thread.run(Unknown Source)

"Thread-1" daemon prio=6 tid=0x055ff800 nid=0xb24 waiting on condition [0x05e2f0
00..0x05e2fad4]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x08632b18> (a java.util.concurrent.locks.Abstra
ctQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
.await(Unknown Source)
        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x05589000 nid=0x8d8 runnable [0x0000000
0..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x05587400 nid=0x8e0 waiting on condition [
0x00000000..0x05b2f880]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x05586c00 nid=0xca0 waiting on condition
 [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x05575400 nid=0xa04 in Object.wait() [0x0592f000.
.0x0592fa54]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x082c89e8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x082c89e8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x05570800 nid=0xc70 in Object.wait() [0x
0582f000..0x0582fad4]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x082c8a70> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x082c8a70> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x02419000 nid=0xf60 runnable [0x00000000..0x017ffb90]
   java.lang.Thread.State: RUNNABLE

"VM Thread" prio=10 tid=0x0556d000 nid=0xae0 runnable

"VM Periodic Task Thread" prio=10 tid=0x0558a800 nid=0xc68 waiting on condition


JNI global references: 960

Heap
 def new generation   total 960K, used 616K [0x08150000, 0x08250000, 0x08280000)

  eden space 896K,  62% used [0x08150000, 0x081dbc90, 0x08230000)
  from space 64K,  90% used [0x08230000, 0x0823e6c0, 0x08240000)
  to   space 64K,   0% used [0x08240000, 0x08240000, 0x08250000)
 tenured generation   total 4096K, used 4060K [0x08280000, 0x08680000, 0x0915000
0)
   the space 4096K,  99% used [0x08280000, 0x08677238, 0x08677400, 0x08680000)
 compacting perm gen  total 12288K, used 4163K [0x09150000, 0x09d50000, 0x0d1500
00)
   the space 12288K,  33% used [0x09150000, 0x09560c80, 0x09560e00, 0x09d50000)
No shared spaces configured.
Per submitter, the loading of applets is hanging, but the browser is not hanging. This indicates the same root cause as 6723194.