Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4494767

If Netscape 6 is the Windows default browser, Java Web Start crashes

XMLWordPrintable

    • 1.2
    • x86
    • windows_2000
    • Verified



        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)
        ======================================================================

              ngthomas Thomas Ng (Inactive)
              nthompsosunw Nathanael Thompson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: