JDK-6675843 : Calls using new per-applet Packages keyword fail after page reload
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-03-15
  • Updated: 2010-09-08
  • Resolved: 2008-06-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b21Fixed
Related Reports
Relates :  
The attached test case from a customer indicates that the per-applet Packages keyword support is not working properly in some situations. With Firefox 3, open the Java Console and the Error Console, and navigate to the attached test case's example.html. Click the "Search" button. Note that "Got string: test" is printed to the Java Console. Reload the page. Click the "Search" button again. Note that this output is not printed to the Java Console, and an error ("Attempt to call a default method on object with no invokeDefault method") is being reported.

The problem is that for some reason the context class loader of the LiveConnect worker thread is null in the Firefox reload case at the time we attempt to resolve the class's name. The same problem does not occur in IE, probably due to slightly different ordering of LiveConnect-related messages at the beginning of time.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6675843.0 testcase: http://j2se.east.sun.com/deployment/www/tests/1.6.0_10/6675843/

EVALUATION A difference in the order of plugin-related operations between Firefox and Internet Explorer during page reload highlighted the fact that the "loader" instance variable was incorrectly being accessed directly during startup of the LiveConnect worker thread instead of a call to the appropriate accessor method. This is the root cause of the failure to look up the class using the new per-applet Packages keyword after a page reload.