JDK-6745223 : Internal Error loading a Extension .jnlp-File (without .jars in it)
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-09-05
  • Updated: 2011-02-16
  • Resolved: 2008-09-05
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_10-rc"
Java(TM) SE Runtime Environment (build 1.6.0_10-rc-b28)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]

EXTRA RELEVANT SYSTEM CONFIGURATION :
running tomcat WWW-Server

A DESCRIPTION OF THE PROBLEM :
Loading the testcase.jnlp with references extension.jnlp (<extension href="extension.jnlp" />) results in an InternalError.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Given 2 jnlp-Files:
testcase.jnlp and extension.jnlp.
and one testcase.jar  (just display a window or sth., includes the Testcase.class, see code below).

Using testcase:

- In Tomcat file conf\server.xml add the following line to host localhost:
<Context path="/testcase" docBase="../../testcase" />

docBase must be modified to your installation.

- Start Tomcat
The testcase is then available under <http://localhost/testcase/testcase.jnlp>.

- Tests
Before any test delete Deployment directory:
rd /s /q "%APPDATA%\Sun\Java\Deployment"

Executed this tests:
"%ProgramFiles%\Java\jdk1.6.0_07\jre\bin\javaws.exe"      http://localhost/testcase/testcase.jnlp
"%ProgramFiles%\Java\jdk1.6.0_10\jre\bin\javaws.exe"      http://localhost/testcase/testcase.jnlp

All are OK, except Java 1.6.0_10-rc-b27 and 1.6.0_10-rc-b28 which brings the  error message (see below). The previous version Java 1.6.0_10-beta-b25 does not have this error.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Execute testcase.jar without error.
ACTUAL -
A popup-Window "Anwendungsfehler" with a "Details"-Button that displays this Error-Message:

java.lang.InternalError: selectedJREDesc null

ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.InternalError: selectedJREDesc null
	at com.sun.javaws.jnl.DefaultMatchJRE.endTraversal(DefaultMatchJRE.java:203)
	at com.sun.javaws.jnl.LaunchSelection.selectJRE(LaunchSelection.java:158)
	at com.sun.javaws.jnl.LaunchDesc.selectJRE(LaunchDesc.java:113)
	at com.sun.javaws.jnl.LaunchDesc.getJREMatcher(LaunchDesc.java:104)
	at com.sun.javaws.jnl.LaunchDesc.isSecureJVMArgs(LaunchDesc.java:211)
	at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(LaunchDownload.java:1202)
	at com.sun.javaws.LaunchDownload.checkSignedResources(LaunchDownload.java:1139)
	at com.sun.javaws.Launcher.prepareLaunchFile(Launcher.java:778)
	at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:217)
	at com.sun.javaws.Launcher.launch(Launcher.java:111)
	at com.sun.javaws.Main.launchApp(Main.java:306)
	at com.sun.javaws.Main.continueInSecureThread(Main.java:210)
	at com.sun.javaws.Main$1.run(Main.java:107)
	at java.lang.Thread.run(Unknown Source)


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
(Files can be provided by email with complete testcase-scenario)
testcase.jnlp:
----
<?xml version="1.0" encoding="utf-8" ?>
<jnlp spec="1.0+" codebase="$$codebase">
  <information>
    <title>Testcase</title>
    <vendor>Testcase Vendor</vendor>
  </information>

  <resources>
    <j2se version="1.4+" href="http://java.sun.com/products/autodl/j2se" />
    <jar href="testcase.jar" />
    <extension href="extension.jnlp" />
  </resources>

  <application-desc main-class="Testcase" />
</jnlp>

-------
extension.jnlp:
-----
<?xml version="1.0" encoding="utf-8" ?>
<jnlp spec="1.0+" codebase="$$codebase">
  <information>
    <title>Testcase extension</title>
    <vendor>Testcase Vendor</vendor>
  </information>

  <resources>
  </resources>

  <component-desc />
</jnlp>
-----
Testcase.java:
-----
import javax.swing.JFrame;
import javax.swing.WindowConstants;

class Testcase
{
	public static void main(String args[])
	{
		JFrame frame = new JFrame("Testcase");
		frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.setVisible(true);
	}
}
-----

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Add a .jar-entry into the extension.jnlp.

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

Comments
EVALUATION this is a duplicate of bug 6745224
05-09-2008