12 Replies Latest reply: Oct 4, 2011 3:48 PM by 888253 RSS

    VM Manager's Launch Console not working with OpenJDK and IcedTea

    888253
      Fedora 15
      java-1.6.0-openjdk-1.6.0.0-59.1.10.3.fc15.x86_64
      icedtea-web-1.0.4-1.fc15.x86_64

      ICEDTEA-WEB NOTES
      --------------------------------
      Invalid XML

      An error like

      netx: Unexpected net.sourceforge.jnlp.ParseException: Invalid XML document syntax. at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1203)

      indicates that the JNLP file is not valid XML. The error happens because netx uses an XML parser to parse the JNLP file. Other JNLP client implementations may use more lenient parsers and may or may not work with the given JNLP file. Errors caused by malformed JNLP files can often lead to subtle bugs, so it is probably best to fix the JNLP file itself. A tool like xmlproc_parse might be able to pinpoint the error.

      XMLPROC_PARSE OUTPUT
      ----------------------------------------
      $ xmlproc_parse ovm_rasproxy-ws.jnlp
      xmlproc version 0.70

      Parsing 'ovm_rasproxy-ws.jnlp'
      E:ovm_rasproxy-ws.jnlp:3:89: Undeclared entity 'machineName'
      E:ovm_rasproxy-ws.jnlp:3:89: ';' expected
      Parse complete, 2 error(s) and 0 warning(s)

      JAVAWS OUTPUT
      -------------------------
      $ javaws ovm_rasproxy-ws.jnlp
      netx: Unexpected net.sourceforge.jnlp.ParseException: Invalid XML document syntax. at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1243)

      JAVAWS -VERBOSE OUTPUT
      -----------------------------------------
      $ javaws -verbose ovm_rasproxy-ws.jnlp
      No User level deployment.properties found.
      Starting security dialog thread
      JNLP file location: ovm_rasproxy-ws.jnlp
      Status: CONNECTED DOWNLOADED STARTED +(CONNECTED DOWNLOADED STARTED) @ ./ovm_rasproxy-ws.jnlp
      <?xml version="1.0" encoding="UTF-8"?>
      line: 2 <jnlp spec="1.0+" codebase="http://192.168.4.21:7001/ovm/rasproxy/"
      line: 3 href="ovm_rasproxy-ws.jnlp?vmachineId=0004fb0000060000046ffdb8a331ce21&machineName=mytestmachine">
      line: 4 <information>
      line: 5 <title>Oracle VM Remote Access Service</title>
      line: 6 <vendor>Oracle</vendor>
      line: 7 <homepage>http://support.oracle.com/</homepage>
      line: 8 </information>
      line: 9 <resources>
      line: 10
      line: 11 <j2se version="1.5+"
      line: 12 href="http://java.sun.com/products/autodl/j2se" />
      line: 13 <jar href="ovm_rasproxy-signed.jar" main="true" />
      line: 14 <jar href="OvmCoreApi.jar" />
      line: 15 <jar href="MgmtUtil.jar" />
      line: 16 <jar href="Odof.jar" />
      line: 17 <jar href="commons-logging-1.1.1.jar" />
      line: 18 </resources>
      line: 19
      line: 20
      line: 21 <application-desc main-class="com.oracle.ovm.ras.proxy.RasProxyApplet">
      line: 22 <argument>-server</argument>
      line: 23 <argument>192.168.4.21</argument>
      line: 24 <argument>-service</argument>
      line: 25 <argument>003600010004fb0000060000046ffdb8a331ce21</argument>
      line: 26
      line: 27 </application-desc>
      line: 28 <security>
      line: 29      <all-permissions/>
      line: 30 </security>
      line: 31 <update check="background"/>
      line: 32 </jnlp>               net.sourceforge.jnlp.ParseException: Invalid XML document syntax.
           at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1243)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:177)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:162)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:148)
           at net.sourceforge.jnlp.runtime.Boot.getFile(Boot.java:267)
           at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:196)
           at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:56)
           at java.security.AccessController.doPrivileged(Native Method)
           at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:173)
      Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing of a jnlp element at line 32: Unexpected end of data reached
           at net.sourceforge.nanoxml.XMLElement.unexpectedEndOfData(XMLElement.java:1094)
           at net.sourceforge.nanoxml.XMLElement.readChar(XMLElement.java:877)
           at net.sourceforge.nanoxml.XMLElement.resolveEntity(XMLElement.java:1013)
           at net.sourceforge.nanoxml.XMLElement.scanString(XMLElement.java:658)
           at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:915)
           at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512)
           at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464)
           at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1239)
           ... 8 more
      Caused by:
      net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing of a jnlp element at line 32: Unexpected end of data reached
           at net.sourceforge.nanoxml.XMLElement.unexpectedEndOfData(XMLElement.java:1094)
           at net.sourceforge.nanoxml.XMLElement.readChar(XMLElement.java:877)
           at net.sourceforge.nanoxml.XMLElement.resolveEntity(XMLElement.java:1013)
           at net.sourceforge.nanoxml.XMLElement.scanString(XMLElement.java:658)
           at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:915)
           at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512)
           at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464)
           at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1239)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:177)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:162)
           at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:148)
           at net.sourceforge.jnlp.runtime.Boot.getFile(Boot.java:267)
           at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:196)
           at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:56)
           at java.security.AccessController.doPrivileged(Native Method)
           at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:173)
      netx: Unexpected net.sourceforge.jnlp.ParseException: Invalid XML document syntax. at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1243)
        • 1. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
          Avi Miller-Oracle
          Gordon Thagard wrote:
          Fedora 15
          java-1.6.0-openjdk-1.6.0.0-59.1.10.3.fc15.x86_64
          icedtea-web-1.0.4-1.fc15.x86_64
          The forums aren't really a good place to try and log bugs, but I can't reproduce this issue on my install of Fedora 15 using the same OpenJDK/icedtea RPMs you specified:
          [amiller@f15 ~]$ xmlproc_parse Downloads/ovm_rasproxy-ws.jnlp 
          xmlproc version 0.70
          
          Parsing 'Downloads/ovm_rasproxy-ws.jnlp'
          Parse complete, 0 error(s) and 0 warning(s)
          Also, my VNC console works just fine from Firefox in Fedora 15. I have installed the TigerVNC package as well, so that it uses the local VNC client instead of the Java VNC applet. I have noticed that the Java VNC applet doesn't seem to work on Fedora, though I haven't had a chance to debug that yet.
          • 2. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
            888253
            Your f15 testbox is x64?

            For certain you're opening up the .jnlp file with IcedTea?

            Does your file look like this?

            $ cat ovm_rasproxy-ws.jnlp
            <?xml version="1.0" encoding="UTF-8"?>
            <jnlp spec="1.0+" codebase="http://192.168.4.21:7001/ovm/rasproxy/"
            href="ovm_rasproxy-ws.jnlp?vmachineId=0004fb0000060000046ffdb8a331ce21&machineName=mytestmachine">
            <information>
            <title>Oracle VM Remote Access Service</title>
            <vendor>Oracle</vendor>
            <homepage>http://support.oracle.com/</homepage>
            </information>
            <resources>
            <!-- Application Resources -->
            <j2se version="1.5+"
            href="http://java.sun.com/products/autodl/j2se" />
            <jar href="ovm_rasproxy-signed.jar" main="true" />
            <jar href="OvmCoreApi.jar" />
            <jar href="MgmtUtil.jar" />
            <jar href="Odof.jar" />
            <jar href="commons-logging-1.1.1.jar" />
            </resources>


            <application-desc main-class="com.oracle.ovm.ras.proxy.RasProxyApplet">
            <argument>-server</argument>
            <argument>192.168.4.21</argument>
            <argument>-service</argument>
            <argument>003600010004fb0000060000046ffdb8a331ce21</argument> <!--dynamic-->

            </application-desc>
            <security>
                 <all-permissions/>
            </security>
            <update check="background"/>
            </jnlp>
            • 3. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
              Avi Miller-Oracle
              Gordon Thagard wrote:
              Your f15 testbox is x64?
              Yes.
              For certain you're opening up the .jnlp file with IcedTea?
              Yes.
              Does your file look like this?

              $ cat ovm_rasproxy-ws.jnlp
              <?xml version="1.0" encoding="UTF-8"?>
              <jnlp spec="1.0+" codebase="http://192.168.4.21:7001/ovm/rasproxy/"
              href="ovm_rasproxy-ws.jnlp?vmachineId=0004fb0000060000046ffdb8a331ce21&machineName=mytestmachine">
              My .jnlp files do not seem to have this "&machineName" on this line. I'm not sure why, though.
              • 4. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                Jim Russell
                I have this same issue with ubuntu 64 bit and openjdk/icedtea (version 6b23~pre8-1ubuntu1).

                I tried to manually edit the file to remove the &Machine_Name=xxxx part of it and the file was parsed and the console and authentication dialog opened, but the vnc viewer did not appear.

                Here is the edited version of my .jnlp:

                <?xml version="1.0" encoding="UTF-8"?>
                <jnlp spec="1.0+" codebase="http://10.143.45.96:7001/ovm/rasproxy/"
                href="ovm_rasproxy-ws.jnlp?vmachineId=0004fb0000060000c09ff7e29e77d6d3">
                <information>
                <title>Oracle VM Remote Access Service</title>
                <vendor>Oracle</vendor>
                <homepage>http://support.oracle.com/</homepage>
                </information>
                <resources>
                <!-- Application Resources -->
                <j2se version="1.5+"
                href="http://java.sun.com/products/autodl/j2se" />
                <jar href="ovm_rasproxy-signed.jar" main="true" />
                <jar href="OvmCoreApi.jar" />
                <jar href="MgmtUtil.jar" />
                <jar href="Odof.jar" />
                <jar href="commons-logging-1.1.1.jar" />
                </resources>


                <application-desc main-class="com.oracle.ovm.ras.proxy.RasProxyApplet">
                <argument>-server</argument>
                <argument>10.143.45.96</argument>
                <argument>-service</argument>
                <argument>003600010004fb0000060000c09ff7e29e77d6d3</argument> <!--dynamic-->

                </application-desc>
                <security>
                <all-permissions/>
                </security>
                <update check="background"/>
                </jnlp>
                • 5. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                  Avi Miller-Oracle
                  Jim Russell wrote:
                  I tried to manually edit the file to remove the &Machine_Name=xxxx part of it and the file was parsed and the console and authentication dialog opened, but the vnc viewer did not appear.
                  Do you have vncviewer installed locally? I've noticed that the actual VNC applet doesn't work, which is why we try to fire vncviewer if we find it. On Fedora, that's in the tigervnc package. On Ubuntu, I had to install the xtightvncviewer package. I just tested my install with Ubuntu 11.04 and while the VNC applet didn't work, the local vncviewer worked fine once I installed it.

                  Also, I suspect there may be possibly be a bug fix at play here, as I'm running a 3.0.2 development release right now, not the 3.0.1 GA release you are. This might explain the differences in the .jnlp file.
                  • 6. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                    Jim Russell
                    Thanks for your reply Avi.

                    Hmm... I added a reply to this thread this morning but it's not showing up.

                    I have tightvncviewer installed on my ubuntu system, but it doesn't get launched.

                    I'm not concerned overly much about this right now. I'm only testing OVM 3.0 for now. It will probably be another few revisions before we're ready to use it in production.

                    Thanks,
                    Jim
                    • 7. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                      888253
                      So, I followed your example and edited out the machinename part from ovm_rasproxy-ws.jnlp. This is what follows:

                      $ javaws ovm_rasproxy-ws.jnlp
                      netx: Unexpected java.io.IOException: /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/ovm_rasproxy-ws.jnlp (No such file or directory) at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:255)
                      $ mkdir -p /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/
                      $ cp ovm_rasproxy-ws.jnlp /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/
                      $ javaws ovm_rasproxy-ws.jnlp
                      Sep 21, 2011 1:57:35 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                      INFO: Arguments [-server, 192.168.4.16, -service, 003600010004fb0000060000af6191beaefff6e5]
                      Sep 21, 2011 1:57:35 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                      INFO: Server : 192.168.4.16
                      Sep 21, 2011 1:57:35 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                      INFO: service id : 003600010004fb0000060000af6191beaefff6e5
                      Sep 21, 2011 1:57:35 PM com.oracle.ovm.ras.proxy.external.VncViewerLauncherFactory getVncViewerLauncher
                      INFO: Os is : linux
                      Sep 21, 2011 1:57:48 PM com.oracle.ovm.ras.proxy.ProxyThread run
                      INFO: Connecting ovm to http://192.168.4.16:7001
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.ProxyThread setupSSL
                      INFO: DONE SSL Handshaking
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.ChannelThread run
                      SEVERE: SocketException in read/write loop
                      java.net.SocketException: Socket closed
                           at java.net.SocketInputStream.socketRead0(Native Method)
                           at java.net.SocketInputStream.read(SocketInputStream.java:146)
                           at java.net.SocketInputStream.read(SocketInputStream.java:107)
                           at com.oracle.ovm.ras.proxy.ChannelThread.run(ProxyThread.java:500)
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.ChannelThread run
                      INFO: Channel thread shutting down
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.ChannelThread run
                      INFO: Channel thread shutting down
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.external.LinuxVncViewerLauncher runVncViewer
                      INFO: Process exited with result code : 1
                      Sep 21, 2011 1:57:50 PM com.oracle.ovm.ras.proxy.external.LinuxVncViewerLauncher runVncViewer
                      INFO: Did not find a vncviewer installed

                      In the middle of all this I see it downloading files and it prompts me for username/password. Finally it downloads vncviewer as the last step after not finding vncviewer, (see above) then nothing happens. So close and yet so far.

                      Any word on when 3.0.2 will be released if indeed this is the solution?
                      • 8. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                        Avi Miller-Oracle
                        Gordon Thagard wrote:
                        Any word on when 3.0.2 will be released if indeed this is the solution?
                        No official word, but Oracle OpenWorld is a couple of weeks away and we tend to release a lot of products around that sort of event. :)
                        • 9. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                          310138
                          I'm getting the exact same results as Gordon. I end up with an 'NX' console of some sorts. I'm using an up to date Debian workstation with Firefox, OpenJDK 1.6.x etc.

                          It seems that "javaws ovm_rasproxy-ws.jnlp" fails while trying to make an SSL connection to port 7001 on the VM manager - 7001 is http, not https afaik. Launching the console from the SSL enabled VM manger results in the same error.

                          Looking forward to 3.0.2 before we roll out. Waiting for the local storage changes and this to be fixed. It sounds promising..

                          Anyway I manged to VNC to the VMs using SSH port forwarding, bypassing the VM manager completely. Say your VM is running on VM server "ovms01.local". SSH there and use "xm list" and "netstat -nltp | grep qemu" to figure out what port your VM is using for its console, say it is 5903.

                          Now, back on your workstation, forward any high local port (say 15903) to the VM server:
                          ssh -f root@ovms01.local -L localhost:15903:localhost:5903 -N
                          (kill this process when you are done. it runs in the background)

                          Connect with VNC to the local port:
                          xvncviewer localhost:15903
                          PS: hmmmm. come to think of it I may even write a little VNC "KVM" to streamline this, bypassing the webconsole entirely.....

                          Edited by: kuberkoos on 2011/09/30 4:08 AM
                          • 10. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                            888253
                            That's pretty slick. I've verified that kuberkoos' workaround does do the job for getting a working console. Nice work.
                            • 11. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                              888253
                              Oracle VM Manager
                              Version: 3.0.2.73
                              Build: 20110926_73

                              It gets further on its own now but still fails to start a console using the Oracle VM Manager GUI. Also it asks for the username/password combo twice as you can see from the output below before bonking out and doing nothing useful.

                              $ javaws ovm_rasproxy-ws.jnlp
                              java.io.EOFException
                                   at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
                                   at java.io.DataInputStream.readUTF(DataInputStream.java:589)
                                   at java.io.DataInputStream.readUTF(DataInputStream.java:564)
                                   at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:744)
                                   at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
                                   at java.security.KeyStore.load(KeyStore.java:1201)
                                   at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:358)
                                   at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:124)
                                   at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:103)
                                   at net.sourceforge.jnlp.security.KeyStores.getCertKeyStores(KeyStores.java:157)
                                   at net.sourceforge.jnlp.security.VariableX509TrustManager.<init>(VariableX509TrustManager.java:91)
                                   at net.sourceforge.jnlp.security.VariableX509TrustManager.getInstance(VariableX509TrustManager.java:395)
                                   at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:210)
                                   at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:182)
                                   at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:56)
                                   at java.security.AccessController.doPrivileged(Native Method)
                                   at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:173)
                              JAR http://192.168.4.16:7001/ovm/rasproxy/OvmCoreApi.jar not found. Continuing.
                              JAR http://192.168.4.16:7001/ovm/rasproxy/MgmtUtil.jar not found. Continuing.
                              JAR http://192.168.4.16:7001/ovm/rasproxy/Odof.jar not found. Continuing.
                              Oct 4, 2011 2:38:23 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                              INFO: Server : 192.168.4.16
                              Oct 4, 2011 2:38:23 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                              INFO: service id : 003600010004fb0000060000af6191beaefff6e5
                              Oct 4, 2011 2:38:23 PM com.oracle.ovm.ras.proxy.external.LocalConfiguredVncViewerLauncher launchCommand
                              INFO: Launching cmd /usr/bin/vncviewer localhost 58558
                              Oct 4, 2011 2:38:23 PM com.oracle.ovm.ras.proxy.external.VncViewerLauncherFactory getVncViewerLauncher
                              INFO: Os is : linux
                              Oct 4, 2011 2:38:43 PM com.oracle.ovm.ras.proxy.ProxyThread setupSSL
                              INFO: DONE SSL Handshaking
                              Oct 4, 2011 2:38:43 PM com.oracle.ovm.ras.proxy.ChannelThread run
                              INFO: Server closed connection
                              Oct 4, 2011 2:38:43 PM com.oracle.ovm.ras.proxy.external.LinuxVncViewerLauncher runVncViewer
                              INFO: Process exited with result code : 1
                              Oct 4, 2011 2:39:01 PM com.oracle.ovm.ras.proxy.ProxyThread setupSSL
                              INFO: DONE SSL Handshaking
                              Oct 4, 2011 2:39:01 PM com.oracle.ovm.ras.proxy.ChannelThread run
                              INFO: Server closed connection

                              From 192.168.4.16, I tried to track down those missing files:

                              # updatedb
                              # locate OvmCoreApi.jar
                              /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/tmp/_WL_user/ovm_console/i75mdc/war/WEB-INF/lib/OvmCoreApi.jar
                              /u01/app/oracle/ovm-manager-3/ovm_upgrade/lib/OvmCoreApi.jar
                              # locate MgmtUtil.jar
                              /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/tmp/_WL_user/ovm_console/i75mdc/war/WEB-INF/lib/MgmtUtil.jar
                              /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/tmp/_WL_user/ovm_core/ttzie3/lib/MgmtUtil.jar
                              /u01/app/oracle/ovm-manager-3/ovm_upgrade/lib/MgmtUtil.jar
                              # locate Odof.jar
                              /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/tmp/_WL_user/ovm_console/i75mdc/war/WEB-INF/lib/Odof.jar
                              /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/tmp/_WL_user/ovm_core/ttzie3/lib/Odof.jar
                              /u01/app/oracle/ovm-manager-3/ovm_upgrade/lib/Odof.jar
                              • 12. Re: VM Manager's Launch Console not working with OpenJDK and IcedTea
                                888253
                                Both realvnc 4.1.3 and tigervnc 1.1.0.1 work on the Linux side.

                                I was able to get the console to work by wiping the contents of the directory I created at the beginning of this exercise and then copying in a fresh OVM 3.0.2 created ovm_rasproxy-ws.jnlp file.

                                [gordon@ufo Downloads]$ rm /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/*
                                [gordon@ufo Downloads]$ javaws ovm_rasproxy-ws.jnlp
                                java.io.EOFException
                                     at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:589)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:564)
                                     at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:744)
                                     at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
                                     at java.security.KeyStore.load(KeyStore.java:1201)
                                     at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:358)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:124)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:103)
                                     at net.sourceforge.jnlp.security.KeyStores.getCertKeyStores(KeyStores.java:157)
                                     at net.sourceforge.jnlp.security.VariableX509TrustManager.<init>(VariableX509TrustManager.java:91)
                                     at net.sourceforge.jnlp.security.VariableX509TrustManager.getInstance(VariableX509TrustManager.java:395)
                                     at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:210)
                                     at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:182)
                                     at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:56)
                                     at java.security.AccessController.doPrivileged(Native Method)
                                     at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:173)
                                netx: Unexpected java.io.IOException: /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/ovm_rasproxy-ws.jnlp (No such file or directory) at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:255)
                                [gordon@ufo Downloads]$ cp ovm_rasproxy-ws.jnlp /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/
                                [gordon@ufo Downloads]$ javaws ovm_rasproxy-ws.jnlp
                                java.io.EOFException
                                     at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:589)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:564)
                                     at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:744)
                                     at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
                                     at java.security.KeyStore.load(KeyStore.java:1201)
                                     at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:358)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:124)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:103)
                                     at net.sourceforge.jnlp.security.KeyStores.getCertKeyStores(KeyStores.java:157)
                                     at net.sourceforge.jnlp.security.VariableX509TrustManager.<init>(VariableX509TrustManager.java:91)
                                     at net.sourceforge.jnlp.security.VariableX509TrustManager.getInstance(VariableX509TrustManager.java:395)
                                     at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:210)
                                     at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:182)
                                     at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:56)
                                     at java.security.AccessController.doPrivileged(Native Method)
                                     at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:173)
                                java.io.EOFException
                                     at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:589)
                                     at java.io.DataInputStream.readUTF(DataInputStream.java:564)
                                     at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:744)
                                     at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
                                     at java.security.KeyStore.load(KeyStore.java:1201)
                                     at net.sourceforge.jnlp.security.KeyStores.createKeyStoreFromFile(KeyStores.java:358)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:124)
                                     at net.sourceforge.jnlp.security.KeyStores.getKeyStore(KeyStores.java:103)
                                     at net.sourceforge.jnlp.security.KeyStores.getCertKeyStores(KeyStores.java:157)
                                     at net.sourceforge.jnlp.tools.JarSigner.checkTrustedCerts(JarSigner.java:414)
                                     at net.sourceforge.jnlp.tools.JarSigner.verifyJars(JarSigner.java:269)
                                     at net.sourceforge.jnlp.runtime.JNLPClassLoader.verifyJars(JNLPClassLoader.java:946)
                                     at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:422)
                                     at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:169)
                                     at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:283)
                                     at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:650)
                                     at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:436)
                                     at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:830)
                                Oct 4, 2011 4:13:41 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                                INFO: Server : 192.168.4.16
                                Oct 4, 2011 4:13:41 PM com.oracle.ovm.ras.proxy.RasProxyApplet main
                                INFO: service id : 003600010004fb0000060000281734f86e6aab47
                                Oct 4, 2011 4:13:42 PM com.oracle.ovm.ras.proxy.external.VncViewerLauncherFactory getVncViewerLauncher
                                INFO: Os is : linux
                                Oct 4, 2011 4:13:53 PM com.oracle.ovm.ras.proxy.ProxyThread setupSSL
                                INFO: DONE SSL Handshaking

                                The console starts and all is well with the world.

                                This is obviously not how one would want to start a console by downloading the .jnlp file and running it on the command line so I am now going to remove the /home/gordon/.icedtea/cache/http/* and see what happens.

                                First, let me say that nothing happened. It did not work. I did confirm that it creates the directory structure again /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/ but there is only one file in the directory.

                                [gordon@ufo rasproxy]$ cat ovm_rasproxy-ws.jnlp.info
                                #automatically generated - do not edit
                                #Tue Oct 04 16:43:29 EDT 2011
                                last-modified=0
                                last-updated=1317761009801
                                content-length=883

                                If I save that ovm_rasproxy-ws.jnlp file instead of opening it and copy it to the /home/gordon/.icedtea/cache/http/192.168.4.16/ovm/rasproxy/ directory the console will now start successfully with one minor drawback - it will only launch that one VM based on the .jnlp file that I downloaded.

                                Help?