JDK-6325711 : System cached application is not launched after auto download and install of required JRE
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 5.0u6
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2005-09-19
  • Updated: 2014-02-27
  • Resolved: 2005-10-28
Related Reports
Duplicate :  
Description
1) Import an application which requires previous version of JRE to system cache 
2) Make sure that the required jre is not available for JavaWebStart
3) Launch the application, it will download and install required JRE
4) When it tries to launch application, an error dialog is shown

Given below is the error information..
Close the error dialogs, now relaunch the application, it works fine.

JNLPException[category: Launch File Error : Exception: null : LaunchDesc: 
<jnlp spec="1.0+" codebase="http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se/">
  <information>
    <title>J2RE 1.4.2_07 Installer</title>
    <vendor>Sun Microsystems, Inc.</vendor>
    <homepage href="null"/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se href="http://java.sun.com/products/autodl/j2se" version="1.3+"/>
    <jar href="http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_0_1-j2re-1_4_2_07-inst-solaris-sparc.jar" download="lazy" main="false"/>
    <jar href="http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_0_1-j2re-1_4_2_07-data-solaris-sparc.jar" download="lazy" main="false"/>
    <property name="javaVersion" value="1.4.2_07"/>
    <property name="platformVersion" value="1.4"/>
    <property name="installerLocation" value="javaws-1_0_1-j2re-1_4_2_07-data-solaris-sparc.jar"/>
    <property name="installerEntry" value="jre.dat"/>
    <property name="licenseEntry" value="LICENSE"/>
    <property name="execString" value="/bin/sh {1} {0} {2}"/>
    <property name="waitString.0" value="[yes or no]"/>
    <property name="responseString.0" value="yes"/>
    <property name="javaPath" value="j2re1.4.2_07/bin/java"/>
    <property name="isSolarisInstall" value="yes"/>
    <property name="verbose" value="true"/>
  </resources>
  <installer-desc main-class="com.sun.webstart.installers.Main"/>
</jnlp> ]
	at com.sun.javaws.Launcher.executeInstallers(Launcher.java:633)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:386)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)

Comments
EVALUATION This bug is not reproducible under 5.0x javaws. It is only reproducible when running Java SE 6 javaws and launching a jnlp app that requests Java SE 5.0x. The fix was effected in Java SE 6 as part of the cache consolidation work. Therefore, I'm marking this bug as a duplicate 4802551.
28-10-2005

EVALUATION reconfirmed this hapens with tiger but not with mustang. difference is that in 1.5.0 when running in system mode, javaws will write an lap to the system cache. in mustang lap is always only in the user cache. After installing jre in the user cache (in tiger) Launcher.executeInstallers() checks if the lap.isLocallyInstalled bit is set (looking in the system cache) and doesn't think it is, so it says install failed (when it really succeeded)
21-09-2005

EVALUATION this happens only when you launch the application in system mode "javaws -system <url>" I think we need to pass on the "-system" are to the subprocess run via runtime.exec()
20-09-2005