Concern about Java 7u40 timeline
Sam Reid
Reids at Colorado.EDU
Sun Aug 4 15:29:22 PDT 2013
Here is a test case to demonstrate the problem. I am not 100% sure
whether it is the same as JDK-8017174, but here are the steps to
reproduce the problem and the resulting exception:
1. Write and save TestMain.java (source below), which essentially just
calls "Logger.getAnonymousLogger();"
2. Write and save test-logger.jnlp (source below), changing the path in
codebase="file:///????? to match your machine path
javac TestMain.java
jar -cf myfile.jar *.class
javaws test-logger.jnlp
On my OSX 10.8.4 machine running 1.7.0_25 (build 15), this produces:
Application Error: Unable to launch the application
java.lang.NullPointerException
at java.util.logging.Logger.doSetParent(Logger.java:1593)
at java.util.logging.Logger.getAnonymousLogger(Logger.java:534)
at java.util.logging.Logger.getAnonymousLogger(Logger.java:495)
at TestMain.main(TestMain.java:6)
(full trace below)
There is an odd issue about the problem that I would like to describe
here. I can easily reproduce this problem on Mac OSX 10.8.4. Last week
I was also able to reproduce the problem on Windows 8 (also running Java
1.7.0_25), but that OS became corrupted and had to be reinstalled.
After reinstalling Windows 8 and Java version 1.7.0_25 on that machine,
it no longer has the same exception. I am not sure what caused it to
fail before and work now--I did not record the "build number" on the
prior Windows failures, but now I am using build 1.7.0_25-b17 and cannot
produce the problem on Windows. So this problem may be specific to OSX
and to specific builds (or other unknown configuration) for Windows.
After writing this up, I wasn't sure whether it was the same as
JDK-8017174 or any of the duplicate bug reports, but perhaps they all
have the same root cause. I have not yet tested the java7u40
development builds on my OSX machine. Looking forward to hearing from you!
Best Regards,
Sam Reid
PhET Interactive Simulations
University of Colorado Boulder
##########################
# TestMain.java
############
import java.util.logging.Logger;
public class TestMain {
public static void main(String[] args) {
System.out.println("Running test for logger exception");
Logger logger = Logger.getAnonymousLogger();
System.out.println("logger = " + logger);
}
}
##########################
# test-logger.jnlp
############
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:///?????" href="test-logger.jnlp">
<information>
<title>Test Logger Problem</title>
<vendor>University of Colorado Boulder</vendor>
<description>Test for logger problem</description>
</information>
<resources>
<jar href="myfile.jar"/>
</resources>
<application-desc main-class="TestMain">
</application-desc>
</jnlp>
##################
# Full stack trace
##########
java.lang.NullPointerException
at java.util.logging.Logger.doSetParent(Logger.java:1593)
at java.util.logging.Logger.getAnonymousLogger(Logger.java:534)
at java.util.logging.Logger.getAnonymousLogger(Logger.java:495)
at TestMain.main(TestMain.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724)
On 8/2/2013 4:40 PM, Alan Bateman wrote:
> On 02/08/2013 10:09, Sam Reid wrote:
>> One more thing, JDK-8017174 is still not listed in the j7u40 features
>> & changes [2] even for build 35 so I am still a bit confused about that.
> Can you send a test case to demonstrate the NPE that you are seeing in
> logging? (to help understand if this is the same issue or something else).
>
> -Alan.
More information about the jdk7u-dev
mailing list