-
Bug
-
Resolution: Fixed
-
P3
-
1.0.1
-
1.2
-
x86
-
windows_2000
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2109494 | 1.4.1 | Thomas Ng | P3 | Resolved | Fixed | hopper |
Name: nt126004 Date: 08/21/2001
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
Java Web Start (JWS) was systematically crashing upon startup on a colleague's
Windows 2000 workstation. I diagnosed the problem by starting JWS with the
following command (from the JWS directory, with the \jdk1.3.1\bin in the path):
java -Xdebug -Dnoagent -Djava.compiler=NONE "-Djnlpx.home=C:\Program Files\Java
Web Start" "-Djnlpx.heapsize=NULL,NULL" "-Djnlpx.jvm=C:\Program
Files\JavaSoft\JRE\1.3.1\bin\javaw.exe" "-Djava.security.policy=file:C:\Program
Files\Java Web Start/javaws.policy" "-DtrustProxy=true" -classpath
javaws.jar;javaws-l10n.jar com.sun.javaws.Main
found at the Unofficial JWS FAQ (http://www.geocities.com/vamp201/jwsfaq.html).
I got the following exception message:
Exception in thread "main" java.lang.NullPointerException
at com.sun.javaws.proxy.WinInternetProxy.getNSVersion(Unknown Source)
at com.sun.javaws.proxy.WinInternetProxy.getBrowserInfo(Unknown Source)
at com.sun.javaws.proxy.InternetProxy.getDefaultInfo(Unknown Source)
at com.sun.javaws.Main.initializeExecutionEnvironment(Unknown Source)
at com.sun.javaws.Main.main(Unknown Source)
According to the stack trace, I suppose that (1) the getBrowserInfo() method
determines that Netscape is the default browser, and (2) the getNSVersion()
method is unable to find the current Netscape version in the registry. I had a
look at my colleague's computer registry: he once had Netscape 4.75 and 4.76,
and here is an excerpt from the associated registry tree, in which I kept only
the values that are meaningful for the present case:
(01) [HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Netscape 6]
(02) "CurrentVersion"="6.1 (en)"
(03) @="6.1 (en)"
(04) [HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Netscape 6\6.1 (en)]
(05) @="6.1 (en)"
(06) [HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Netscape Navigator]
(07) "CurrentVersion"="6.1 (en)"
(08) [HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Netscape Navigator\4.75 (fr)]
(09) [HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Netscape Navigator\4.76 (en)]
I remarked that:
(1) Netscape 6 uses its own tree structure instead of the old "Netscape
Navigator" one.
(2) The "CurrentVersion" string value, correctly registered in "Netscape 6", was
missing in "Netscape Navigator." Line (07) is an addition of mine, which I
deduced from the clues I got from these two distinct tree structures and from a
few experiments.
(3) After adding the value shown in line (07), JWS now works properly.
I tried to reproduce the problem on another colleague's Windows 2000
workstation, but everything worked properly. Is it due to the fact that Internet
Explorer is his default browser?
I don't know why JWS needs such information from the registry, but is there some
support for Netscape 6 missing?
(Review ID: 130418)
======================================================================
- backported by
-
JDK-2109494 If Netscape 6 is the Windows default browser, Java Web Start crashes
-
- Resolved
-