-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
7u55
-
x86
-
os_x
FULL PRODUCT VERSION :
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
OS X 10.9.2 - Darwin 13.1.0 Darwin Kernel Version 13.1.0: Wed Apr 2 23:52:02 PDT 2014; root:xnu-2422.92.1~2/RELEASE_X86_64 x86_64
A DESCRIPTION OF THE PROBLEM :
When trying to launch a webstart application that consist of a main jar and several referenced library jars, the application launches. However, when the code gets to a point where it needs to load a class out of another jar (db2 jar in this instance), a NullPointerException is thrown in JNLPClassLoader.getPermissions. This works fine on Windows with 7U55, but I've yet to get it working on the OS X version.
REGRESSION. Last worked in version 7u51
ADDITIONAL REGRESSION INFORMATION:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to load a class from a third party jar file (I used the db2jcc.jar in this example, but I have custom libraries I have written that are exhibiting the same behavior).
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Class loads and the program continues to operate
ACTUAL -
NullPointerException occurs trying to load a class from another jar, causing the application not to load or run correctly
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.NullPointerException
at com.sun.jnlp.JNLPClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at gmc.util.LoginManager.logon(LoginManager.java:48)
at gmc.ui.UILogin.validateLogin(UILogin.java:165)
at gmc.ui.UILogin.access$1(UILogin.java:160)
at gmc.ui.UILogin$5.keyPressed(UILogin.java:153)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Unknown Source)
at org.eclipse.swt.widgets.Widget.superKeyDown(Unknown Source)
at org.eclipse.swt.widgets.Widget.keyDown(Unknown Source)
at org.eclipse.swt.widgets.Control.keyDown(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Unknown Source)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.applicationProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at gmc.ui.UILogin.<init>(UILogin.java:50)
at gmc.ui.UILogin.proc(UILogin.java:250)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
In this example, the line blowing up is represented as such:
java.sql.Driver db2Driver = new com.ibm.db2.jcc.DB2Driver();
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Only workaround has been to downgrade back to 7U51
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
OS X 10.9.2 - Darwin 13.1.0 Darwin Kernel Version 13.1.0: Wed Apr 2 23:52:02 PDT 2014; root:xnu-2422.92.1~2/RELEASE_X86_64 x86_64
A DESCRIPTION OF THE PROBLEM :
When trying to launch a webstart application that consist of a main jar and several referenced library jars, the application launches. However, when the code gets to a point where it needs to load a class out of another jar (db2 jar in this instance), a NullPointerException is thrown in JNLPClassLoader.getPermissions. This works fine on Windows with 7U55, but I've yet to get it working on the OS X version.
REGRESSION. Last worked in version 7u51
ADDITIONAL REGRESSION INFORMATION:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to load a class from a third party jar file (I used the db2jcc.jar in this example, but I have custom libraries I have written that are exhibiting the same behavior).
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Class loads and the program continues to operate
ACTUAL -
NullPointerException occurs trying to load a class from another jar, causing the application not to load or run correctly
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.NullPointerException
at com.sun.jnlp.JNLPClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at gmc.util.LoginManager.logon(LoginManager.java:48)
at gmc.ui.UILogin.validateLogin(UILogin.java:165)
at gmc.ui.UILogin.access$1(UILogin.java:160)
at gmc.ui.UILogin$5.keyPressed(UILogin.java:153)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Unknown Source)
at org.eclipse.swt.widgets.Control.doCommandBySelector(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Unknown Source)
at org.eclipse.swt.widgets.Widget.superKeyDown(Unknown Source)
at org.eclipse.swt.widgets.Widget.keyDown(Unknown Source)
at org.eclipse.swt.widgets.Control.keyDown(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Unknown Source)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.applicationProc(Unknown Source)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at gmc.ui.UILogin.<init>(UILogin.java:50)
at gmc.ui.UILogin.proc(UILogin.java:250)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
In this example, the line blowing up is represented as such:
java.sql.Driver db2Driver = new com.ibm.db2.jcc.DB2Driver();
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Only workaround has been to downgrade back to 7U51