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

REGRESSION:JDK 7 webstart fails to launch older application

    Details

    • Subcomponent:
    • Introduced In Version:
      7
    • Resolved In Build:
      b08
    • CPU:
      x86
    • OS:
      windows_vista
    • Verification:
      Verified

      Backports

        Description

        J2SE Version (please include all output from java -version flag):

        java version "1.7.0_02-ea"
        Java(TM) SE Runtime Environment (build 1.7.0_02-ea-b05)
        Java HotSpot(TM) Client VM (build 22.0-b02, mixed mode, sharing)

        Does this problem occur on J2SE 1.4.x, 1.5 or 6? Yes / No (pick one)

        No


        Operating System Configuration Information (be specific):
        Windows Vista Business SP2

        Hardware Configuration Information (be specific):
        HP Pavillion dv9000
        Windows Vista Business SP2 32 bit
        3 GB RAM
        Intel Core 2 Duo T9300



        Bug Description:
        Fails to launch application with signed jars, running under 1.4.2

        If run an older version of webstart, it starts without issue:
        C:\Program Files\Java Web Start 1.2>javaws http://launch.jnlp

        Steps to Reproduce (be specific):

        Had some issues with the machine running the wrong version of webstart by default,
        it worked fine previously for sure.

        Now it fails when attempt to launch the application.

        Steps to reproduce:

        Put these two attached files(launch.jnlp and OldJava.jar) in a directory on
        desktop, then typed the following into Firefox:

        file:///c:/Users/mac/Desktop/tmp/launch.jnlp

        When you test, you will do something similar and will need to change the
        URI appropriately.

        Created this program in Netbeans, and it is signed using the temporary certificate
        created by netbeans when choosing webstart execution and a signed application.

        The error will occur. The information from the error dialog is below.
        The source code seems to be irrelevant, but this is what it is:

        public class OldJava {
                  /**
                  * @param args the command line arguments
                  */

                  public static void main(String[] args) {
                  SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                            JFrame f = new JFrame();
                            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            f.setSize(100, 100);
                            f.setVisible(true);
                            }
                       );
                    }

                 }


        Exception tab:

        java.lang.NoClassDefFoundError: java/security/CodeSigner
             at com.sun.javaws.security.JNLPSignedResourcesHelper.normalizeCertificateList(Unknown Source)
             at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
             at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
             at com.sun.javaws.Launcher.prepareResources(Unknown Source)
             at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
             at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
             at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
             at com.sun.javaws.Launcher.launch(Unknown Source)
             at com.sun.javaws.Main.launchApp(Unknown Source)
             at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
             at com.sun.javaws.Main$1.run(Unknown Source)
             at java.lang.Thread.run(Unknown Source)

        Console Tab:


        Java Web Start 10.2.0.7
        Using JRE version 1.4.2_17-b06 Java HotSpot(TM) Client VM
        User home directory = C:\Users\mac
        ----------------------------------------------------
        c: clear console window
        f: finalize objects on finalization queue
        g: garbage collect
        h: display this help message
        m: print memory usage
        o: trigger logging
        p: reload proxy configuration
        q: hide console
        r: reload policy configuration
        s: dump system and deployment properties
        t: dump thread list
        v: dump thread stack
        0-5: set trace level to <n>
        ----------------------------------------------------
        basic: Java part started
        basic: jnlpx.jvm: C:\Program Files\Java\j2re1.4.2_17\bin\javaw.exe
        basic: jnlpx.splashport: 62788
        basic: jnlpx.remove: true
        basic: jnlpx.heapsize: null
        network: Loading user-defined proxy configuration ...
        network: Done.
        network: Browser is FirefoxURL
        network: Browser is Firefox
        network: Loading proxy configuration from Netscape Navigator ...
        network: network.proxy.ftp=192.9.201.55
        network: network.proxy.ftp_port=8080
        network: network.proxy.gopher=192.9.201.55
        network: network.proxy.gopher_port=8080
        network: network.proxy.http=192.9.201.55
        network: network.proxy.http_port=8080
        network: network.proxy.socks=192.9.201.55
        network: network.proxy.socks_port=8080
        network: network.proxy.ssl=192.9.201.55
        network: network.proxy.ssl_port=8080
        network: Done.
        network: Proxy Configuration: No proxy
        security: property package.access value sun.
        security: property package.access new value sun.,com.sun.javaws
        security: property package.access value sun.,com.sun.javaws
        security: property package.access new value sun.,com.sun.javaws,com.sun.deploy
        security: property package.access value sun.,com.sun.javaws,com.sun.deploy
        security: property package.access new value sun.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
        security: property package.definition value null
        security: property package.definition new value com.sun.javaws
        security: property package.definition value com.sun.javaws
        security: property package.definition new value com.sun.javaws,com.sun.deploy
        security: property package.definition value com.sun.javaws,com.sun.deploy
        security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp
        security: property package.access value sun.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
        security: property package.access new value sun.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
        security: property package.definition value com.sun.javaws,com.sun.deploy,com.sun.jnlp
        security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
        basic: Running JVMParams: [JVMParameters: isSecure: true, args: ]
                        -> [JVMParameters: isSecure: true, args: ]
        network: Created version ID: 1.4.2.17
        network: Created version ID: 1.4
        temp: new XMLParser with source:
        temp: <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <jnlp href="launch.jnlp" spec="1.0+">
            <information>
                <title>OldJava</title>
                <vendor>mac</vendor>
                <homepage href=""/>
                <description>OldJava</description>
                <description kind="short">OldJava</description>
             
            </information>
            <update check="always"/>
            <security>
        <all-permissions/>
        </security>
            <resources>
                <j2se version="1.4*"/>
                <jar href="OldJava.jar" main="true"/>
            </resources>
            <application-desc main-class="oldjava.OldJava">
            </application-desc>
        </jnlp>

        temp:
        returning ROOT as follows:

        <jnlp href="launch.jnlp" spec="1.0+">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href=""/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <update check="always"/>
          <security>
            <all-permissions/>
          </security>
          <resources>
            <j2se version="1.4*"/>
            <jar href="OldJava.jar" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        basic: Error parsing C:\Users\mac\AppData\Local\Temp\javaws4. Try to parse again with codebase from LAP
        java.net.MalformedURLException: no protocol:
                        at java.net.URL.<init>(Unknown Source)
                        at java.net.URL.<init>(Unknown Source)
                        at java.net.URL.<init>(Unknown Source)
                        at com.sun.deploy.cache.Cache.getLocalApplicationProperties(Unknown Source)
                        at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
                        at com.sun.javaws.Main.launchApp(Unknown Source)
                        at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
                        at com.sun.javaws.Main$1.run(Unknown Source)
                        at java.lang.Thread.run(Unknown Source)

        temp: new XMLParser with source:
        temp: <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <jnlp href="launch.jnlp" spec="1.0+">
            <information>
                <title>OldJava</title>
                <vendor>mac</vendor>
                <homepage href=""/>
                <description>OldJava</description>
                <description kind="short">OldJava</description>
           

            </information>
            <update check="always"/>
            <security>
        <all-permissions/>
        </security>
           <resources>
                <j2se version="1.4*"/>
                <jar href="OldJava.jar" main="true"/>
            </resources>
            <application-desc main-class="oldjava.OldJava">
            </application-desc>
        </jnlp>

        temp:
        returning ROOT as follows:

        <jnlp href="launch.jnlp" spec="1.0+">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href=""/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <update check="always"/>
          <security>
            <all-permissions/>
          </security>
          <resources>
            <j2se version="1.4*"/>
            <jar href="OldJava.jar" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        temp: returning LaunchDesc from XMLFormat.parse():


        <jnlp spec="1.0+" codebase="file:/c:/Users/mac/Desktop/tmp/" href="file:/c:/Users/mac/Desktop/tmp/launch.jnlp">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href="null"/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <security>
           <all-permissions/>
          </security>
          <update check="always" policy="always"/>
          <resources>
            <java version="1.4*"/>
            <jar href="file:/c:/Users/mac/Desktop/tmp/OldJava.jar" download="eager" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        basic: new Launcher:

        <jnlp spec="1.0+" codebase="file:/c:/Users/mac/Desktop/tmp/" href="file:/c:/Users/mac/Desktop/tmp/launch.jnlp">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href="null"/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <security>
            <all-permissions/>
          </security>
          <update check="always" policy="always"/>
          <resources>
            <java version="1.4*"/>
            <jar href="file:/c:/Users/mac/Desktop/tmp/OldJava.jar" download="eager" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        network: prepareToLaunch: offlineOnly=false
        network: Cache entry found [url: file:/c:/Users/mac/Desktop/tmp/launch.jnlp, version: null] prevalidated=false/0
        temp: new XMLParser with source:
        temp: <?xml version="1.0" encoding="UTF-8" standalone="no"?>

        <jnlp href="launch.jnlp" spec="1.0+">
            <information>
                <title>OldJava</title>
                <vendor>mac</vendor>
                <homepage href=""/>
                <description>OldJava</description>
               <description kind="short">OldJava</description>

            </information>
            <update check="always"/>
            <security>
        <all-permissions/>
        </security>
            <resources>
                <j2se version="1.4*"/>
                <jar href="OldJava.jar" main="true"/>
            </resources>
            <application-desc main-class="oldjava.OldJava">
            </application-desc>
        </jnlp>

        temp:

        returning ROOT as follows:

        <jnlp href="launch.jnlp" spec="1.0+">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href=""/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <update check="always"/>
          <security>
            <all-permissions/>
          </security>
          <resources>
            <j2se version="1.4*"/>
            <jar href="OldJava.jar" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        temp: returning LaunchDesc from XMLFormat.parse():

        <jnlp spec="1.0+" codebase="file:/c:/Users/mac/Desktop/tmp/" href="file:/c:/Users/mac/Desktop/tmp/launch.jnlp">
          <information>
            <title>OldJava</title>
            <vendor>mac</vendor>
            <homepage href="null"/>
            <description>OldJava</description>
            <description kind="short">OldJava</description>
          </information>
          <security>
            <all-permissions/>
          </security>
          <update check="always" policy="always"/>

          <resources>
            <java version="1.4*"/>
            <jar href="file:/c:/Users/mac/Desktop/tmp/OldJava.jar" download="eager" main="true"/>
          </resources>
          <application-desc main-class="oldjava.OldJava"/>
        </jnlp>
        network: isUpdated: false
        preloader: Construct preloader delegate
        network: Created version ID: 1.4.2.17
        network: Created version ID: 1.4
        basic: Launcher: isInstaller: false, isRelaunch: false, isImport(): false, java.home:C:\\Program Files\\Java\\jre7\, Running JRE: JREInfo for index 10:
            platform is: 1.4
            product is: 1.4.2_17
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\j2re1.4.2_17\bin\javaw.exe
            args is: null
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: true
            registered is: true
            system is: false

        basic: JREInfos
        basic:
        JREInfo: 13 entries
        basic: JREInfo 0:
        basic: JREInfo for index 0:
            platform is: 1.7
            product is: 1.7.0_02-ea
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jre7\bin\javaw.exe
            args is: null
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: true
            registered is: true
            system is: false

        basic: JREInfo 1:
        basic: JREInfo for index 1:
            platform is: 1.6
            product is: 1.6.0_28-ea
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jre6\bin\javaw.exe
            args is:
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: true
            registered is: true
            system is: false

        basic: JREInfo 2:
        basic: JREInfo for index 2:
            platform is: 1.6
            product is: 1.6.0_27-ea
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jdk1.6.0_27\jre\bin\javaw.exe
            args is: null
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: true
            registered is: false
            system is: false

        basic: JREInfo 3:
        basic: JREInfo for index 3:
            platform is: 1.6
            product is: 1.6.0_24
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jdk1.6.0_24\jre\bin\javaw.exe
            args is: null
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: true
            registered is: false
            system is: false

        basic: JREInfo 4:
        basic: JREInfo for index 4:
            platform is: 1.6
            product is: 1.6.0_06
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jre1.6.0_06\bin\javaw.exe
            args is:
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: false
            registered is: true
            system is: false

        basic: JREInfo 5:
        basic: JREInfo for index 5:
            platform is: 1.6
            product is: 1.6.0_05
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jre1.6.0_05\bin\javaw.exe
            args is:
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: false
            registered is: true
            system is: false

        basic: JREInfo 6:
        basic: JREInfo for index 6:
            platform is: 1.6
            product is: 1.6.0_02
            location is: http://java.sun.com/products/autodl/j2se
            path is: C:\Program Files\Java\jre1.6.0_02\bin\javaw.exe
            args is:
            native platform is: Windows, x86 [ x86, 32bit ]
            enabled is: false
            registered is: true
            system is: false

        basic: JREInfo 7:
        basic: JREInfo for index 7:
            platform is: 1.5
            product is: 1.5.0_21
            location is: http://java.sun.com/products/autodl/j2se
            path

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dgu Dennis Gu (Inactive)
                  Reporter:
                  tyao Ting-Yun Ingrid Yao (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: