JDK-8023822 : REGRESSION:NPE exception throws when Java Web start apps fails with no logging
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 7u25,7u40
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86
  • Submitted: 2013-08-27
  • Updated: 2014-01-20
  • Resolved: 2013-09-01
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.
7u51 b01Fixed 8Fixed 9Fixed

J2SE Version (please include all output from java -version flag):
Java Web Start
Using JRE version 1.7.0_40-b40 Java HotSpot(TM) Client VM

Does this problem occur on J2SE 6ux or 7ux?  Yes / No (pick one)
Work with Java 7 update 21, fails with update 25 and later

Operating System Configuration Information (be specific):
Happens on all three laptops tested with windows vista and windows 7

Hardware Configuration Information (be specific):

Bug Description:
Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
	at com.sun.jnlp.JNLPClassLoader.getPermissions(Unknown Source)
	at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)

Also report by someone else:

Steps to Reproduce (be specific):

In a browser, go to: http://uploader.hivelymennonite.org/
Click on "Start the Uploader" (http://uploader.hivelymennonite.org/support/uploader.jnlp)
After the application starts, click the "Import" button.

SQE OK to defer it to 7u51.

Defer justification: it is not 7u45 regressions (it was introduced in 7u25), so lets fix it in 7u51

Seems appeared after changes for JDK-7127486. JNLPClassLoader.getJarDescFromURL(url) returns null. + // Get the URL this JAR file and add permissions to read all JARs + // that are retreived from the same host. This is to provide the + // same semantics as the SocketPermission gives for HTTP URLs + JARDesc jd = getJarDescFromURL(url); + + // store jar version in app context map for use in DeployManifestChecker + ToolkitStore.get().getAppContext().put(Config.APPCONTEXT_KEY_PREFIX + + url.toString(), jd.getVersion());