JDK-6790892 : jre1.6.0_11 has problems starting applets (race condition not fixed)
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2009-01-07
  • Updated: 2011-02-16
  • Resolved: 2009-02-20
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
jdk1.6.0_11

ADDITIONAL OS VERSION INFORMATION :
windows vista, windows server 2003, windows server 2008

A DESCRIPTION OF THE PROBLEM :
when starting applet java can't find the applet id. This is a race condition that your heartbeat timer was supposed to fix but did not. If you go back to 1.6.0 jre then the applets get loaded. Our application loads several applets for toolbar, tree, menu bar and tabs. Most applets get loaded but some like the tree get loaded sporadically.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
write server test application that loads several applets and then on the client with internet explorer version 7 on windows vista call server application.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The applets should all load without throwing an exception that the applet is not known.
ACTUAL -
Exception in thread "AWT-EventQueue-5" netscape.javascript.JSException: No registered plugin for applet ID 4
	at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.eval(Unknown Source)
	at com.rco.applet.rcotree.RCOTree.valueChanged(RCOTree.java:2830)
	at javax.swing.JTree.fireValueChanged(Unknown Source)
	at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.clearSelection(Unknown Source)
	at javax.swing.tree.VariableHeightLayoutCache.rebuild(Unknown Source)
	at javax.swing.tree.VariableHeightLayoutCache.treeStructureChanged(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeStructureChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.reload(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.reload(Unknown Source)
	at com.rco.applet.rcotree.RCOTree.refreshTreeLocal3(RCOTree.java:1032)
	at com.rco.applet.rcotree.RCOTree.access$700(RCOTree.java:68)
	at com.rco.applet.rcotree.RCOTree$16$1.run(RCOTree.java:936)
	at java.awt.event.InvocationEvent.dispatch(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)


ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "AWT-EventQueue-5" netscape.javascript.JSException: No registered plugin for applet ID 4
	at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.eval(Unknown Source)
	at com.rco.applet.rcotree.RCOTree.valueChanged(RCOTree.java:2830)
	at javax.swing.JTree.fireValueChanged(Unknown Source)
	at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.clearSelection(Unknown Source)
	at javax.swing.tree.VariableHeightLayoutCache.rebuild(Unknown Source)
	at javax.swing.tree.VariableHeightLayoutCache.treeStructureChanged(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeStructureChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.reload(Unknown Source)
	at javax.swing.tree.DefaultTreeModel.reload(Unknown Source)
	at com.rco.applet.rcotree.RCOTree.refreshTreeLocal3(RCOTree.java:1032)
	at com.rco.applet.rcotree.RCOTree.access$700(RCOTree.java:68)
	at com.rco.applet.rcotree.RCOTree$16$1.run(RCOTree.java:936)
	at java.awt.event.InvocationEvent.dispatch(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)


REPRODUCIBILITY :
This bug can be reproduced often.


CUSTOMER SUBMITTED WORKAROUND :
compile with jdk1.6.0 and use jre1.6.0

SUPPORT :
YES

Release Regression From : 6
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

Comments
EVALUATION I've run the customer's test case several times in succession with the latest code (6u12 + a few 6u14 fixes), sometimes clearing the deployment cache between runs, sometimes not, running the applet in a fresh browser session, reloading the page containing the applet, running the applet concurrently in multiple windows, etc. and I can't provoke a single error as reported by the customer. It may be the case that one of the bug fixes in 6u12 such as 6776473 has already fixed this problem. Reassigning for further investigation.
23-01-2009