title: Java applet deadlock on Chrome on Win 7 64 with either JRE 1.6.0.29 or 1.7.0.1
body: <p>I'm writing an an applet and it sometimes hangs before it even enters init() when running under Chrome (14.0.835.202 m) on Windows 7 64.</p>
  
  <p>I'm using the following bit of code to create the applet (created within the &lt;body&gt; element), and under FF (and even Chrome when running on XP 32-bit) it runs fine:</p>
  
  <pre><code>&lt;script type="text/javascript"&gt;
  var attributes = {
      id: 'JavaUploader',
      code: 'com.foo.Uploader.class',
      archive: '/java/uploader_0.0.4.jar',
      width: 1,
      height: 1,
  };
  var parameters = {};
  var version = '1.6';
  deployJava.runApplet(attributes, parameters, version);
  &lt;/script&gt;
  </code></pre>
  
  <p>When it hangs it seems to deadlock when trying to get the cookie before fetching the JAR file. Here's the log (including stack dump):</p>
  
  <pre><code>Java Plug-in 10.1.0.8
  Using JRE version 1.7.0_01-b08 Java HotSpot(TM) Client VM
  
  &lt;snip&gt;
  
  security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.
  security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws
  security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws
  security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws,com.sun.deploy
  security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws,com.sun.deploy
  security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
  security: property package.definition value null
  security: property package.definition new value com.sun.javaws
  security: property package.definition value com.sun.javaws
  security: property package.definition new value com.sun.javaws,com.sun.deploy
  security: property package.definition value com.sun.javaws,com.sun.deploy
  security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp
  security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
  security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
  security: property package.definition value com.sun.javaws,com.sun.deploy,com.sun.jnlp
  security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
  preloader: Construct preloader delegate
  preloader: Setting default preloader and progress monitor for non JNLP applets
  basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@942eb
  preloader: Installing progress monitor true
  preloader: Using preloader class: null com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter@1283826
  preloader: Using default preloader
  preloader: Requested to use preloader class: null
  basic: Plugin2ClassLoader.addURL parent called for http://foo.com/java/uploader_0.0.4.jar
  preloader: GrayBox: parent = sun.plugin2.main.client.PluginEmbeddedFrame[frame0,0,0,1x1,layout=java.awt.BorderLayout,title=,resizable,normal]
  preloader: Added pending event 1: AppletInitEvent[type=CallConstructor]
  preloader: Delivering: AppletInitEvent[type=CallConstructor]
  preloader: Skipped all (0) download events prior to null
  preloader: Start progressCheck thread
  security: Blacklist revocation check is enabled
  security: Trusted libraries list check is enabled
  network: Cache entry found [url: http://foo.com/java/uploader_0.0.4.jar, version: null] prevalidated=false/0
  preloader: Stop progressCheck thread
  
  &lt;it stops here&gt;
  
  Dump thread stack ...
  ----------------------------------------------------
  2011-10-25 16:50:26
  Full thread dump Java HotSpot(TM) Client VM (21.1-b02 mixed mode, sharing):
  
  "Thread-12" daemon prio=4 tid=0x05478400 nid=0x1b58 waiting on condition [0x095ef000]
     java.lang.Thread.State: TIMED_WAITING (sleeping)
     at java.lang.Thread.sleep(Native Method)
     at com.sun.deploy.uitoolkit.impl.awt.AWTAnimationPanel2.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
  
  "D3D Screen Updater" daemon prio=8 tid=0x05477c00 nid=0x1554 in Object.wait() [0x08a2f000]
     java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x2982e5e8&gt; (a java.lang.Object)
     at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
     - locked &lt;0x2982e5e8&gt; (a java.lang.Object)
     at java.lang.Thread.run(Unknown Source)
  
  "TimerQueue" daemon prio=6 tid=0x05477800 nid=0x1174 waiting on condition [0x08b6f000]
     java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  &lt;0x24700468&gt; (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" daemon prio=6 tid=0x05476000 nid=0x1208 in Object.wait() [0x0896f000]
     java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x29825358&gt; (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
     at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
     - locked &lt;0x29825358&gt; (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
  
  "thread applet-com.foo.Uploader.class-1" prio=4 tid=0x05476400 nid=0x1958 in Object.wait() [0x0844d000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x247005f8&gt; (a sun.plugin2.message.Queue)
     at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
     - locked &lt;0x247005f8&gt; (a sun.plugin2.message.Queue)
     at sun.plugin2.message.Pipe.receive(Unknown Source)
     at sun.plugin2.main.client.MessagePassingExecutionContext.getProxyList(Unknown Source)
     at sun.plugin2.main.client.PluginProxySelector.select(Unknown Source)
     - locked &lt;0x298c6bd0&gt; (a sun.plugin2.main.client.PluginProxySelector)
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
     at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
     - locked &lt;0x247006f0&gt; (a sun.net.www.protocol.http.HttpURLConnection)
     at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
     at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
     at com.sun.deploy.cache.DeployCacheHandler.get(Unknown Source)
     - locked &lt;0x24700968&gt; (a java.lang.Object)
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
     at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
     - locked &lt;0x247009c0&gt; (a sun.net.www.protocol.http.HttpURLConnection)
     at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     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 &lt;0x24702b38&gt; (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
     - locked &lt;0x24702b38&gt; (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$1000(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.&lt;init&gt;(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 &lt;0x29825d50&gt; (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 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 &lt;0x298c6be8&gt; (a sun.plugin2.applet.Applet2ClassLoader)
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
     - locked &lt;0x298c6c88&gt; (a sun.plugin2.applet.Applet2ClassLoader)
     at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
     - locked &lt;0x298c6c88&gt; (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" prio=6 tid=0x05474c00 nid=0x181c waiting on condition [0x082ee000]
     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$2.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$000(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$1.doIntersectionPrivilege(Unknown Source)
     at java.security.ProtectionDomain$1.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$1.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)
  
  "JVM[id=1]-Heartbeat" daemon prio=6 tid=0x05475800 nid=0x1834 in Object.wait() [0x0851f000]
     java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c6f68&gt; (a sun.plugin2.main.client.PluginMain$Heartbeat)
     at sun.plugin2.main.server.HeartbeatThread.run(Unknown Source)
     - locked &lt;0x298c6f68&gt; (a sun.plugin2.main.client.PluginMain$Heartbeat)
  
  "AWT-EventQueue-2" prio=4 tid=0x05475000 nid=0x19b4 waiting on condition [0x083af000]
     java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  &lt;0x298c7058&gt; (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)
  
  "Applet 1 LiveConnect Worker Thread" prio=4 tid=0x05474400 nid=0x1adc in Object.wait() [0x0833f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c7138&gt; (a java.lang.Object)
     at java.lang.Object.wait(Object.java:503)
     at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
     - locked &lt;0x298c7138&gt; (a java.lang.Object)
     at java.lang.Thread.run(Unknown Source)
  
  "Browser Side Object Cleanup Thread" prio=6 tid=0x05474000 nid=0x17a8 in Object.wait() [0x0826f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c71c0&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     - locked &lt;0x298c71c0&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source)
  
  "CacheCleanUpThread" daemon prio=6 tid=0x05473800 nid=0x1a2c in Object.wait() [0x07f7f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c71e0&gt; (a com.sun.deploy.cache.CleanupThread)
     at java.lang.Object.wait(Object.java:503)
     at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
     - locked &lt;0x298c71e0&gt; (a com.sun.deploy.cache.CleanupThread)
  
  "CacheMemoryCleanUpThread" daemon prio=6 tid=0x05459c00 nid=0x156c in Object.wait() [0x0812f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c72d0&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     - locked &lt;0x298c72d0&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
  
  "SysExecutionTheadCreator" daemon prio=6 tid=0x05431000 nid=0xc8c in Object.wait() [0x080cf000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c72f0&gt; (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)
     at java.lang.Object.wait(Object.java:503)
     at sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run(Unknown Source)
     - locked &lt;0x298c72f0&gt; (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)
  
  "AWT-EventQueue-0" prio=6 tid=0x05429000 nid=0x19f0 waiting on condition [0x07eaf000]
     java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for  &lt;0x298c73d0&gt; (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" daemon prio=6 tid=0x05424c00 nid=0xb00 runnable [0x0110f000]
     java.lang.Thread.State: RUNNABLE
     at sun.awt.windows.WToolkit.eventLoop(Native Method)
     at sun.awt.windows.WToolkit.run(Unknown Source)
  
  "AWT-Shutdown" prio=6 tid=0x05424400 nid=0x1ac0 in Object.wait() [0x07c6f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c7538&gt; (a java.lang.Object)
     at java.lang.Object.wait(Object.java:503)
     at sun.awt.AWTAutoShutdown.run(Unknown Source)
     - locked &lt;0x298c7538&gt; (a java.lang.Object)
     at java.lang.Thread.run(Unknown Source)
  
  "Java2D Disposer" daemon prio=10 tid=0x05423c00 nid=0x1c4 in Object.wait() [0x07cdf000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c75c8&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     - locked &lt;0x298c75c8&gt; (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)" daemon prio=6 tid=0x05421c00 nid=0x17a0 runnable [0x07bff000]
     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" prio=6 tid=0x05401800 nid=0xb88 in Object.wait() [0x078af000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c7900&gt; (a java.util.TaskQueue)
     at java.lang.Object.wait(Object.java:503)
     at java.util.TimerThread.mainLoop(Unknown Source)
     - locked &lt;0x298c7900&gt; (a java.util.TaskQueue)
     at java.util.TimerThread.run(Unknown Source)
  
  "traceMsgQueueThread" daemon prio=6 tid=0x053af000 nid=0xd24 in Object.wait() [0x04d9f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x2980afd8&gt; (a java.util.ArrayList)
     at java.lang.Object.wait(Object.java:503)
     at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
     - locked &lt;0x2980afd8&gt; (a java.util.ArrayList)
     at java.lang.Thread.run(Unknown Source)
  
  "Service Thread" daemon prio=6 tid=0x00989c00 nid=0x11cc runnable [0x00000000]
     java.lang.Thread.State: RUNNABLE
  
  "C1 CompilerThread0" daemon prio=10 tid=0x00988c00 nid=0xd14 waiting on condition [0x00000000]
     java.lang.Thread.State: RUNNABLE
  
  "Attach Listener" daemon prio=10 tid=0x00987000 nid=0x1214 runnable [0x00000000]
     java.lang.Thread.State: RUNNABLE
  
  "Signal Dispatcher" daemon prio=10 tid=0x00983c00 nid=0x1764 runnable [0x00000000]
     java.lang.Thread.State: RUNNABLE
  
  "Finalizer" daemon prio=8 tid=0x00963800 nid=0x15f0 in Object.wait() [0x04e3f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c7b88&gt; (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     - locked &lt;0x298c7b88&gt; (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=0x00962000 nid=0x600 in Object.wait() [0x04a0f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c6ba0&gt; (a java.lang.ref.Reference$Lock)
     at java.lang.Object.wait(Object.java:503)
     at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
     - locked &lt;0x298c6ba0&gt; (a java.lang.ref.Reference$Lock)
  
  "main" prio=6 tid=0x0024dc00 nid=0x530 in Object.wait() [0x0039f000]
     java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on &lt;0x298c7c10&gt; (a sun.plugin2.message.Queue)
     at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
     - locked &lt;0x298c7c10&gt; (a sun.plugin2.message.Queue)
     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" prio=10 tid=0x00960c00 nid=0xe34 runnable 
  
  "VM Periodic Task Thread" prio=10 tid=0x0098d000 nid=0x17ec waiting on condition 
  
  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" prio=10 tid=0x00960c00 nid=0xe34 runnable 
  
  "VM Periodic Task Thread" prio=10 tid=0x0098d000 nid=0x17ec waiting on condition 
  
  
  ----------------------------------------------------
  Done.
  </code></pre>
  
  <p>Looking at the stack dump, my guess is that it's trying to get the cookie before fetching the applet jar (to send with the HTTP request) but the getCookie() call hangs.</p>
  
  <p>I've searched online for anyone else who might have come across this problem, but haven't been able to find anything.</p>
  
  <p>Has anyone else seen this? If so - is there a workaround?</p>
  
  <p><strong>NOTE:</strong> When this happens the Chrome page becomes totally unresponsive and I get a "Kill Page" prompt.</p>
  
  <p>This happens with either JRE 1.6.0.29 or 1.7.0.1</p>
  
  <p><strong>UPDATE:</strong> I forgot to mention that if I test this on a local server (Apache running on Linux in VirtualBox on my development machine) I don't get any problems.</p>