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

Deadlock of Image Fetcher thread and applet thread when using HTTPS

    XMLWordPrintable

Details

    • x86_64
    • windows_7
    • Verified

    Description

      FULL PRODUCT VERSION :
      Java Plug-in 11.65.2.17
      Using JRE version 1.8.0_65-b17 Java HotSpot(TM) 64-Bit Server VM

      ADDITIONAL OS VERSION INFORMATION :
      MS Windows 7 Enterprise SP1: Microsoft Windows [Version 6.1.7601]

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      The application is accessed using HTTPS in the Internet Explorer (IE11) browser.

      A DESCRIPTION OF THE PROBLEM :
      Trying to start an applet based application in the browser often fails while the applet jars are being loaded. The failure is that the Java plug-in gets stuck and does not respond any more.

      REGRESSION. Last worked in version 8u45

      ADDITIONAL REGRESSION INFORMATION:
      When using Java 8u25, the problem does not happen. The described problem occurs since Java 8u31.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Start the application using the described bootstrap HTML (see below under Source code for an executable test case)

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Application starts when the plug-in completes to load the applet jars.
      ACTUAL -
      Applet jars not loaded and browser not responsive; browser needs to be killed using Windows Task Manager,.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      IMPORTANT! It can be observed in the thread dump that a thread is waiting to lock <0x00000000ff152d00> (a com.sun.deploy.security.X509Extended7DeployTrustManager) while another thread has locked it!

      Java Console trace with thread dump:

      Java Plug-in 11.65.2.17
      Using JRE version 1.8.0_65-b17 Java HotSpot(TM) 64-Bit Server VM
      User home directory = C:\Users\avdlugt
      ----------------------------------------------------
      c: clear console window
      f: finalize objects on finalization queue
      g: garbage collect
      h: display this help message
      l: dump classloader list
      m: print memory usage
      o: trigger logging
      q: hide console
      r: reload policy configuration
      s: dump system and deployment properties
      t: dump thread list
      v: dump thread stack
      x: clear classloader cache
      0-5: set trace level to <n>
      ----------------------------------------------------
      basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@3c60d4fa
      security: Expected Main URL: https://myserver.mycompany.com:8445/myapplication/applets/application1.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application1.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application2.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application3.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application4.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application5.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application6.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application7.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application8.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application9.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application10.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application11.jar
      basic: Plugin2ClassLoader.addURL parent called for https://myserver.mycompany.com:8445/myapplication/applets/application12.jar
      network: Connecting https://myserver.mycompany.com:8445/myapplication/applets/ with proxy=DIRECT
      network: Connecting https://myserver.mycompany.com:8445/myapplication/applets/application1.jar with proxy=DIRECT
      network: Connecting http://myserver.mycompany.com:8445/ with proxy=DIRECT
      network: Connecting http://myserver.mycompany.com:8445/ with proxy=DIRECT
      security: Loading SSL Root CA certificates from C:\Program Files\Java\jre1.8.0_65\lib\security\cacerts
      security: Loaded SSL Root CA certificates from C:\Program Files\Java\jre1.8.0_65\lib\security\cacerts
      security: Obtain certificate collection in SSL Root CA certificate store
      security: Obtain certificate collection in SSL Root CA certificate store
      security: Loading certificates from Deployment session certificate store
      security: Loaded certificates from Deployment session certificate store
      security: Loading certificates from Internet Explorer ROOT certificate store
      security: Loaded certificates from Internet Explorer ROOT certificate store
      security: Loading certificates from Internet Explorer DISALLOWED certificate store
      security: Loaded certificates from Internet Explorer DISALLOWED certificate store
      security: Loaded blacklisted.certs file: C:\Users\avdlugt\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs
      security: SHA-256Certificate finger print: 7EA766602CBA16AC5FEACAB965F979A47A0BC2D27C15F72C24C6475F8F17B2DB
      security: Checking if certificate is in Internet Explorer DISALLOWED certificate store
      security: SHA-256Certificate finger print: E1C7B3FA0E02A8E774B9E90F43D0E1A143EE5A56A07CFC8FF1AF0934F13EF291
      security: Checking if certificate is in Internet Explorer DISALLOWED certificate store
      security: Checking if SSL certificate is in Deployment permanent certificate store
      security: Loading certificates from Internet Explorer ROOT certificate store
      security: Loaded certificates from Internet Explorer ROOT certificate store
      security: Loading certificates from Deployment session certificate store
      security: Loaded certificates from Deployment session certificate store
      security: Failing over to CRLs: Certificate does not specify OCSP responder
      Dump thread stack ...
      ----------------------------------------------------
      2015-10-27 10:25:19
      Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.65-b01 mixed mode):

      "TimerQueue" #47 daemon prio=5 os_prio=0 tid=0x0000000016196800 nid=0x4b4 waiting on condition [0x0000000019c0f000]
         java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)
      - parking to wait for <0x00000000ff1096e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
      at java.util.concurrent.locks.LockSupport.park(Unknown Source)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
      at java.util.concurrent.DelayQueue.take(Unknown Source)
      at javax.swing.TimerQueue.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      "ConsoleTraceListener" #44 daemon prio=5 os_prio=0 tid=0x0000000016192800 nid=0x2924 in Object.wait() [0x0000000019a1f000]
         java.lang.Thread.State: TIMED_WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff151800> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
      at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
      - locked <0x00000000ff151800> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)

      "Image Fetcher 0" #43 daemon prio=4 os_prio=-1 tid=0x0000000016194000 nid=0x2048 waiting for monitor entry [0x00000000193ab000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Unknown Source)
      at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
      at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
      at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
      at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
      at javax.naming.InitialContext.init(Unknown Source)
      at javax.naming.InitialContext.<init>(Unknown Source)
      at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
      at sun.security.provider.certpath.ldap.LDAPCertStore.createInitialDirContext(Unknown Source)
      at sun.security.provider.certpath.ldap.LDAPCertStore.<init>(Unknown Source)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at java.security.Provider$Service.newInstance(Unknown Source)
      at sun.security.jca.GetInstance.getInstance(Unknown Source)
      at sun.security.jca.GetInstance.getInstance(Unknown Source)
      at java.security.cert.CertStore.getInstance(Unknown Source)
      at sun.security.provider.certpath.ldap.LDAPCertStore.getInstance(Unknown Source)
      - locked <0x00000000fb757790> (a java.lang.Class for sun.security.provider.certpath.ldap.LDAPCertStore)
      at sun.security.provider.certpath.ldap.LDAPCertStoreHelper.getCertStore(Unknown Source)
      at sun.security.provider.certpath.URICertStore.<init>(Unknown Source)
      at sun.security.provider.certpath.URICertStore.getInstance(Unknown Source)
      - locked <0x00000000fb756d20> (a java.lang.Class for sun.security.provider.certpath.URICertStore)
      at sun.security.provider.certpath.DistributionPointFetcher.getCRL(Unknown Source)
      at sun.security.provider.certpath.DistributionPointFetcher.getCRLs(Unknown Source)
      at sun.security.provider.certpath.DistributionPointFetcher.getCRLs(Unknown Source)
      at sun.security.provider.certpath.DistributionPointFetcher.getCRLs(Unknown Source)
      at com.sun.deploy.security.RevocationChecker$3.run(Unknown Source)
      at com.sun.deploy.security.RevocationChecker$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.security.RevocationChecker.getCRLsPrivileged(Unknown Source)
      at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
      at com.sun.deploy.security.RevocationChecker.check(Unknown Source)
      at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
      at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
      at com.sun.deploy.security.RevocationCheckHelper.checkRevocationStatus(Unknown Source)
      at com.sun.deploy.security.X509TrustManagerDelegate.checkTrusted(Unknown Source)
      - locked <0x00000000ff152ba0> (a com.sun.deploy.security.X509Extended7DeployTrustManagerDelegate)
      at com.sun.deploy.security.X509Extended7DeployTrustManagerDelegate.checkServerTrusted(Unknown Source)
      at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
      - locked <0x00000000ff152d00> (a com.sun.deploy.security.X509Extended7DeployTrustManager)
      at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
      at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
      at sun.security.ssl.Handshaker.processLoop(Unknown Source)
      at sun.security.ssl.Handshaker.process_record(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
      - locked <0x00000000ff152c50> (a sun.security.ssl.SSLSocketImpl)
      - locked <0x00000000ff152eb0> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
      - locked <0x00000000ff152ec0> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
      - locked <0x00000000ff152f60> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      - locked <0x00000000ff152f60> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
      - locked <0x00000000ff1531e8> (a sun.net.www.protocol.https.HttpsURLConnectionImpl)
      at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
      at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
      at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
      at sun.awt.image.ImageFetcher.run(Unknown Source)

      "Thread-13" #42 daemon prio=4 os_prio=-1 tid=0x0000000016195800 nid=0x2810 in Object.wait() [0x000000001963f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff1e0c38> (a java.awt.MediaTracker)
      at java.awt.MediaTracker.waitForID(Unknown Source)
      - locked <0x00000000ff1e0c38> (a java.awt.MediaTracker)
      at java.awt.MediaTracker.waitForID(Unknown Source)
      at com.sun.deploy.uitoolkit.impl.awt.AWTGrayBoxPainter.loadCustomImage(Unknown Source)
      at com.sun.deploy.uitoolkit.impl.awt.AWTGrayBoxPainter.beginPainting(Unknown Source)
      - locked <0x00000000ff1e0928> (a com.sun.deploy.uitoolkit.impl.awt.AWTGrayBoxPainter)
      at com.sun.deploy.uitoolkit.impl.awt.AWTDefaultPreloader$GrayBoxPainterStarter.run(Unknown Source)

      "thread applet-com.mycompany.application.client.init.MyApplication.class-1" #39 prio=4 os_prio=-1 tid=0x0000000016193800 nid=0x1a94 waiting for monitor entry [0x000000001919b000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
      - waiting to lock <0x00000000ff152d00> (a com.sun.deploy.security.X509Extended7DeployTrustManager)
      at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
      at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
      at sun.security.ssl.Handshaker.processLoop(Unknown Source)
      at sun.security.ssl.Handshaker.process_record(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
      - locked <0x00000000ff2f9870> (a sun.security.ssl.SSLSocketImpl)
      - locked <0x00000000ff2f9a58> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
      - locked <0x00000000ff2f9a68> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
      at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source)
      at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
      at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
      at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
      at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
      at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
      at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
      at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
      - locked <0x00000000ff2f9c88> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
      at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
      - locked <0x00000000ff2f9c88> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
      - locked <0x00000000ff16b668> (a com.sun.deploy.security.DeployURLClassPath)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
      at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
      - locked <0x00000000ff16b398> (a sun.plugin2.applet.Applet2ClassLoader)
      at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
      - locked <0x00000000ff16b2f0> (a sun.plugin2.applet.Applet2ClassLoader)
      at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
      - locked <0x00000000ff16b2f0> (a sun.plugin2.applet.Applet2ClassLoader)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
      at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
      at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      "AWT-EventQueue-1" #35 prio=6 os_prio=0 tid=0x0000000016190800 nid=0x1690 waiting on condition [0x000000001743c000]
         java.lang.Thread.State: RUNNABLE
      at com.sun.deploy.uitoolkit.ui.ConsoleHelper.dumpAllStacksImpl(Native Method)
      at com.sun.deploy.uitoolkit.ui.ConsoleHelper.dumpAllStacks(Unknown Source)
      at com.sun.deploy.uitoolkit.impl.awt.ui.SwingConsoleWindow$3.actionPerformed(Unknown Source)
      at javax.swing.JComponent$ActionStandin.actionPerformed(Unknown Source)
      at javax.swing.SwingUtilities.notifyAction(Unknown Source)
      at javax.swing.JComponent.processKeyBinding(Unknown Source)
      at javax.swing.KeyboardManager.fireBinding(Unknown Source)
      at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
      at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
      at javax.swing.JComponent.processKeyBindings(Unknown Source)
      at javax.swing.JComponent.processKeyEvent(Unknown Source)
      at java.awt.Component.processEvent(Unknown Source)
      at java.awt.Container.processEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
      at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
      at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
      at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
      at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Window.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$500(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue$4.run(Unknown Source)
      at java.awt.EventQueue$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)

      "AWT-EventQueue-2" #34 prio=4 os_prio=-1 tid=0x0000000016192000 nid=0x1d3c waiting on condition [0x0000000017dce000]
         java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)
      - parking to wait for <0x00000000ff1e19d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
      at java.util.concurrent.locks.LockSupport.park(Unknown Source)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
      at java.awt.EventQueue.getNextEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)

      "JVM[id=1]-Heartbeat" #33 daemon prio=5 os_prio=0 tid=0x0000000016191000 nid=0x1ae4 in Object.wait() [0x0000000017bef000]
         java.lang.Thread.State: TIMED_WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff1862a0> (a sun.plugin2.message.Queue)
      at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
      - locked <0x00000000ff1862a0> (a sun.plugin2.message.Queue)
      at sun.plugin2.message.Pipe$2.run(Unknown Source)
      at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
      at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
      at sun.plugin2.message.Pipe.receive(Unknown Source)
      at sun.plugin2.main.server.HeartbeatThread.run(Unknown Source)

      "Applet 1 LiveConnect Worker Thread" #31 prio=4 os_prio=-1 tid=0x000000001618f800 nid=0x2968 in Object.wait() [0x000000001718f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff1e1df8> (a java.lang.Object)
      at java.lang.Object.wait(Unknown Source)
      at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
      - locked <0x00000000ff1e1df8> (a java.lang.Object)
      at java.lang.Thread.run(Unknown Source)

      "Browser Side Object Cleanup Thread" #29 prio=5 os_prio=0 tid=0x000000001618f000 nid=0xfa4 in Object.wait() [0x000000001783f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff372c18> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      - locked <0x00000000ff372c18> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source)

      "CacheMemoryCleanUpThread" #26 daemon prio=5 os_prio=0 tid=0x000000001618e000 nid=0x1940 in Object.wait() [0x000000001757f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff372ee0> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      - locked <0x00000000ff372ee0> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

      "MemoryCache-DelayedCleanup" #27 daemon prio=5 os_prio=0 tid=0x0000000014f92000 nid=0xb7c in Object.wait() [0x000000001699f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff372fa0> (a java.util.TaskQueue)
      at java.lang.Object.wait(Unknown Source)
      at java.util.TimerThread.mainLoop(Unknown Source)
      - locked <0x00000000ff372fa0> (a java.util.TaskQueue)
      at java.util.TimerThread.run(Unknown Source)

      "SysExecutionTheadCreator" #22 daemon prio=5 os_prio=0 tid=0x0000000014ec8800 nid=0x2abc in Object.wait() [0x0000000016b8e000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff3733d8> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)
      at java.lang.Object.wait(Unknown Source)
      at sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run(Unknown Source)
      - locked <0x00000000ff3733d8> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)

      "AWT-EventQueue-0" #21 prio=6 os_prio=0 tid=0x0000000014ec7800 nid=0x26fc waiting on condition [0x000000001730f000]
         java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)
      - parking to wait for <0x00000000ff16b100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
      at java.util.concurrent.locks.LockSupport.park(Unknown Source)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
      at java.awt.EventQueue.getNextEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)

      "AWT-Windows" #18 daemon prio=6 os_prio=0 tid=0x0000000014ebe800 nid=0x22cc runnable [0x00000000026df000]
         java.lang.Thread.State: RUNNABLE
      at sun.awt.windows.WToolkit.eventLoop(Native Method)
      at sun.awt.windows.WToolkit.run(Unknown Source)

      "AWT-Shutdown" #17 prio=5 os_prio=0 tid=0x0000000014ebb800 nid=0x22a4 in Object.wait() [0x0000000016ecf000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff1089b0> (a java.lang.Object)
      at java.lang.Object.wait(Unknown Source)
      at sun.awt.AWTAutoShutdown.run(Unknown Source)
      - locked <0x00000000ff1089b0> (a java.lang.Object)
      at java.lang.Thread.run(Unknown Source)

      "Java2D Disposer" #16 daemon prio=10 os_prio=2 tid=0x0000000014ebb000 nid=0x26e4 in Object.wait() [0x0000000016cbf000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff19a8d8> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      - locked <0x00000000ff19a8d8> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      at sun.java2d.Disposer.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      "Java Plug-In Pipe Worker Thread (Client-Side)" #15 daemon prio=5 os_prio=0 tid=0x0000000016126000 nid=0x1380 runnable [0x0000000015e1e000]
         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.readByte(Unknown Source)
      at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source)
      at sun.plugin2.message.transport.SerializingTransport.read(Unknown Source)
      at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source)

      "Timer-0" #12 prio=5 os_prio=0 tid=0x0000000014da2000 nid=0x1cf4 in Object.wait() [0x0000000015ffe000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff1e2188> (a java.util.TaskQueue)
      at java.lang.Object.wait(Unknown Source)
      at java.util.TimerThread.mainLoop(Unknown Source)
      - locked <0x00000000ff1e2188> (a java.util.TaskQueue)
      at java.util.TimerThread.run(Unknown Source)

      "traceMsgQueueThread" #10 daemon prio=5 os_prio=0 tid=0x0000000014c71800 nid=0x2998 in Object.wait() [0x0000000015c9f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff526c08> (a java.util.ArrayList)
      at java.lang.Object.wait(Unknown Source)
      at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
      - locked <0x00000000ff526c08> (a java.util.ArrayList)
      at java.lang.Thread.run(Unknown Source)

      "Service Thread" #9 daemon prio=9 os_prio=0 tid=0x0000000014c30800 nid=0x1210 runnable [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000001383e000 nid=0x23c4 waiting on condition [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000013837000 nid=0x28c0 waiting on condition [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000014ba5800 nid=0x1938 waiting on condition [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000014ba4800 nid=0x1ee0 runnable [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000013835000 nid=0x2570 runnable [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE

      "Finalizer" #3 daemon prio=8 os_prio=1 tid=0x00000000137e0800 nid=0x2a4c in Object.wait() [0x0000000014b9f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff374b58> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(Unknown Source)
      - locked <0x00000000ff374b58> (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" #2 daemon prio=10 os_prio=2 tid=0x00000000137d9800 nid=0x1dc in Object.wait() [0x000000001498f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff374d60> (a java.lang.ref.Reference$Lock)
      at java.lang.Object.wait(Unknown Source)
      at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
      - locked <0x00000000ff374d60> (a java.lang.ref.Reference$Lock)

      "main" #1 prio=5 os_prio=0 tid=0x00000000003cb000 nid=0x1a38 in Object.wait() [0x0000000002a9f000]
         java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      - waiting on <0x00000000ff185c50> (a sun.plugin2.message.Queue)
      at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
      - locked <0x00000000ff185c50> (a sun.plugin2.message.Queue)
      at sun.plugin2.message.Pipe$1.run(Unknown Source)
      at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
      at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
      at sun.plugin2.message.Pipe.receive(Unknown Source)
      at sun.plugin2.main.client.PluginMain.mainLoop(Unknown Source)
      at sun.plugin2.main.client.PluginMain.run(Unknown Source)
      at sun.plugin2.main.client.PluginMain.main(Unknown Source)

      "VM Thread" os_prio=2 tid=0x00000000137d2000 nid=0x163c runnable

      "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000003df800 nid=0x150c runnable

      "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000003e1000 nid=0x18c8 runnable

      "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000003e3800 nid=0x1d9c runnable

      "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000003e6800 nid=0x2bb8 runnable

      "VM Periodic Task Thread" os_prio=2 tid=0x0000000014c39000 nid=0x24b4 waiting on condition

       tid=0x00000000003df800 nid=0x150c runnable

      "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000003e1000 nid=0x18c8 runnable

      "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000003e3800 nid=0x1d9c runnable

      "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000003e6800 nid=0x2bb8 runnable

      "VM Periodic Task Thread" os_prio=2 tid=0x0000000014c39000 nid=0x24b4 waiting on condition


      ----------------------------------------------------
      Done.

      REPRODUCIBILITY :
      This bug can be reproduced often.

      ---------- BEGIN SOURCE ----------
      The bootstrap HTML as shown below is used to load the application. The line
             <PARAM NAME='image' VALUE=''>
      serves to SUPPRESS the plug-in's internal loading image.

      <html xmlns='http://www.w3.org/1999/xhtml&#39;>
         <head>
            <title>My Application Name</title>
            <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
            <meta name='ROBOTS' content='NOINDEX, NOFOLLOW' />
         </head>
         <body style='margin:0; width=100%; height=100%' scroll='no' onfocus='gotFocus()' >
            <div style='width:100%; height:100%; position:absolute; z-index:50;' id='mydiv' >
      <object name='Framework' id='Framework' classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' width=100% height=100% MAYSCRIPT codebase='https://java.sun.com/update/1.7.0/jinstall-7u72-windows-i586.cab&#39;>
                  <PARAM NAME='codebase' VALUE='../applets'>
                  <PARAM NAME='code' VALUE='com.mycompany.application.client.init.MyApplication.class'>
                  <PARAM NAME='cache_archive' VALUE='application1.jar,application2.jar,application3.jar,application4.jar,application5.jar,application6.jar,application7.jar,application8.jar,application9.jar,application10,application11.jar,application12.jar'>
                  <PARAM NAME='image' VALUE=''>
                  <DIV style='font-family:verdana'>My Application requires a Java 7 (or higher) plugin. You can download this plugin <A href='http://java.com/download&#39;&gt;here&lt;/A&gt;.&lt;/DIV>
               </object>
            </div>
         </body>
      </html>

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      The workaround is to REMOVE the following statement from the bootstrap HTML:
            <PARAM NAME='image' VALUE=''>

      Attachments

        Issue Links

          Activity

            People

              pardesha Pardeep Sharma
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: