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

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

    Details

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                rnairsunw Raghu Nair (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: