JDK-6842992 : MultiJRE:(Regression) With 6u14 , 1.4.2 applets fails to load
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u14
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2009-05-19
  • Updated: 2010-11-03
  • Resolved: 2009-05-21
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.
JDK 6
6u14 b08Fixed
Related Reports
Relates :  
Description
With 6u14, under MultiJRE scenarios, applets requesting 142 family fail to load by throwing following exception. Issue is not reproducible with 6u10 and 6u12. 
java.lang.NoClassDefFoundError: java/net/ResponseCache

at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)

at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)

at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)

at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)

at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)

at sun.misc.URLClassPath$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.misc.URLClassPath.getLoader(Unknown Source)

at sun.misc.URLClassPath.getLoader(Unknown Source)

at sun.misc.URLClassPath.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.JNLP2ClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Exception: java.lang.NoClassDefFoundError: java/net/ResponseCache
Steps to reproduce:
-----------------
- Install 6u14,5u18 and 1.4.2_20 on the machine

- Try to load the following applet:
http://sqeweb.sfbay.sun.com/deployment2/jitu/deployment_mustang_exec_ws/deployment/src/plugin/MultiJRE/MultiJRE/html/auto/MultiJREFamily142150Installed/JREMutliFamilyJNLP.html

- If 1.4.2 applet fails to load by throwing exception mentioned above then bug is reproduced

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u14/6842992
20-05-2009

EVALUATION This regression was introduced in 6u14 b06 via the fix for 6688675 (IBM applet is very slow on JRE6 due to repeated JAR file downloads w/ no HTTP header 'last-modified'). The NoClassDefFoundError is due to the use of the DeployCacheHandle, which depends on ResponseCache and is available since jdk 5.0, in CachedJarURLConnection.connect() and PluginURLJarFileCallBack.retrieve().
19-05-2009

WORK AROUND Instead of using JNLP , try to use html only and specify the java_version param inside the html file as follows: <PARAM NAME="java_version" value="1.4.2*"></PARAM>
19-05-2009