Lock Java applet in Chrome on Win 7 64 using JRE 1.6.0.29 or 1.7.0.1

I write an applet and it sometimes freezes before it even enters init () when running under Chrome (14.0.835.202 m) on Windows 7 64.

I use the following bit of code to create an applet (created in the <body> element), and under FF (and even Chrome when running on a 32-bit version of XP) it works fine:

<script type="text/javascript"> 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); </script> 

When it freezes, it seems like it has come to a standstill trying to get a cookie before retrieving the JAR file. Here's the log (including the stack dump):

 Java Plug-in 10.1.0.8 Using JRE version 1.7.0_01-b08 Java HotSpot(TM) Client VM <snip> 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 <it stops here> 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 <0x2982e5e8> (a java.lang.Object) at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source) - locked <0x2982e5e8> (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 <0x24700468> (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 <0x29825358> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer) at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source) - locked <0x29825358> (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 <0x247005f8> (a sun.plugin2.message.Queue) at sun.plugin2.message.Queue.waitForMessage(Unknown Source) - locked <0x247005f8> (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 <0x298c6bd0> (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 <0x247006f0> (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 <0x24700968> (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 <0x247009c0> (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 <0x24702b38> (a sun.plugin.net.protocol.jar.CachedJarURLConnection) at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source) - locked <0x24702b38> (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.<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 <0x29825d50> (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 <0x298c6be8> (a sun.plugin2.applet.Applet2ClassLoader) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) - locked <0x298c6c88> (a sun.plugin2.applet.Applet2ClassLoader) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) - locked <0x298c6c88> (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 <0x298c6f68> (a sun.plugin2.main.client.PluginMain$Heartbeat) at sun.plugin2.main.server.HeartbeatThread.run(Unknown Source) - locked <0x298c6f68> (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 <0x298c7058> (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 <0x298c7138> (a java.lang.Object) at java.lang.Object.wait(Object.java:503) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source) - locked <0x298c7138> (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 <0x298c71c0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x298c71c0> (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 <0x298c71e0> (a com.sun.deploy.cache.CleanupThread) at java.lang.Object.wait(Object.java:503) at com.sun.deploy.cache.CleanupThread.run(Unknown Source) - locked <0x298c71e0> (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 <0x298c72d0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x298c72d0> (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 <0x298c72f0> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator) at java.lang.Object.wait(Object.java:503) at sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run(Unknown Source) - locked <0x298c72f0> (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 <0x298c73d0> (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 <0x298c7538> (a java.lang.Object) at java.lang.Object.wait(Object.java:503) at sun.awt.AWTAutoShutdown.run(Unknown Source) - locked <0x298c7538> (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 <0x298c75c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x298c75c8> (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 <0x298c7900> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:503) at java.util.TimerThread.mainLoop(Unknown Source) - locked <0x298c7900> (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 <0x2980afd8> (a java.util.ArrayList) at java.lang.Object.wait(Object.java:503) at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source) - locked <0x2980afd8> (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 <0x298c7b88> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x298c7b88> (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 <0x298c6ba0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:503) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x298c6ba0> (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 <0x298c7c10> (a sun.plugin2.message.Queue) at sun.plugin2.message.Queue.waitForMessage(Unknown Source) - locked <0x298c7c10> (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. 

Looking at the stack dump, I assume that it is trying to get a cookie before retrieving the applet (send it using an HTTP request), but the call to getCookie () hangs.

I searched online for anyone who might run into this problem but couldn't find anything.

Has anyone else seen this? If so, is there a workaround?

NOTE. . When this happens, the Chrome page completely stops responding, and I get the “Kill Page” prompt.

This happens with either JRE 1.6.0.29 or 1.7.0.1

UPDATE: I forgot to mention that if I check this on a local server (Apache running Linux on VirtualBox on my development machine), I am not getting any problems.

+4
source share
3 answers

Looking at your dump, I don’t think you are facing a dead end (at least not at the thread level), your main thread seems to be waiting for an endless message:

 "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 <0x298c7c10> (a sun.plugin2.message.Queue) ... 

googling a bit for this problem I found this:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6668033

error using LiveConnect (bridge between applet and javascript engine browser). I would try disabling javascript and see if the applet is still hanging (then this is something else), or if your problem is caused by this problem.

Another hint might be this link (depends on chrome):

https://github.com/CoderLine/alphaTab/issues/17

with the indicated possible bypass.

+3
source

Here is the solution to the problem. Call myApplet.somefunc (); after your applet really starts. http://springflex.blogspot.com/2013/12/how-to-fix-chrome-frozon-issue-when.html

+1
source

I had a similar problem and solved it by deploying an example applet.
In addition, I had to change the deployJava.js source code because the document.write function refreshed the page. I replaced it with $('body').append .
After that, the chrome began to behave strangely - he created and launched the applet twice, and I could communicate with the second instance, because it always freezes. Using

 setTimeout(function() { myApplet.someFunction(); }, 0); 

solved this problem.
Total of my deployment script:

 var baseurl = location.protocol + "//" + location.host + Form.fields.baseUrl; var attributes = { id: 'myApplet', code: 'main.java.myApplet.class', archive: baseurl + 'Applet/appletJar.jar', width: 100, height: 100 }; deployJava.runApplet(attributes, {}, '1.7'); setTimeout(function () { if (myApplet !== undefined && "somefunc" in myApplet) { myApplet.somefunc(); } }, 0); 
0
source

Source: https://habr.com/ru/post/917615/


All Articles