Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6723985

Java Process hangs when re-loading applet multipletimes using Kernel JRE

XMLWordPrintable

      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.

            Unassigned Unassigned
            rnairsunw Raghu Nair
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: