Page 1 of 1

[SOLVED] JViewer applet not working

Posted: 10 Nov 2020, 20:17
by groo1984
Hi all,

I'm very new to this and I'm super grateful to OWS as it let me run applications that otherwise I would not be able to because of limitations.
However, I'm unable to run a JViewer applet, as it seems that it cannot pull some libraries. I have attached the error log that I get when running the applet. Sorry for a lack of a detailed explanation, this is completely new to me. Would you be able to point me to the right direction?

Here is the log:

net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report.
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:408)
at net.sourceforge.jnlp.Launcher.access$200(Launcher.java:70)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:654)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:401)
... 2 more
Caused by: java.lang.ExceptionInInitializerError
at com.ami.kvm.jviewer.JViewer.redirect(JViewer.java:252)
at com.ami.kvm.jviewer.JViewer.main(JViewer.java:137)
... 7 more
Caused by: java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 18
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.get(ArrayList.java:458)
at com.ami.kvm.jviewer.gui.StandAloneConnectionDialog.getSupportedLocales(StandAloneConnectionDialog.java:1229)
at com.ami.kvm.jviewer.gui.JVMenu.constructOptionsMenu(JVMenu.java:1389)
at com.ami.kvm.jviewer.gui.WindowMenu.constructUserIf(WindowMenu.java:65)
at com.ami.kvm.jviewer.gui.WindowMenu.<init>(WindowMenu.java:43)
at com.ami.kvm.jviewer.gui.WindowFrame.constructUserIf(WindowFrame.java:233)
at com.ami.kvm.jviewer.gui.WindowFrame.<init>(WindowFrame.java:57)
at com.ami.kvm.jviewer.gui.JViewerApp.constructUI(JViewerApp.java:677)
at com.ami.kvm.jviewer.gui.JViewerApp.<init>(JViewerApp.java:667)
at com.ami.kvm.jviewer.gui.JViewerApp.<clinit>(JViewerApp.java:529)
... 9 more

Re: JViewer applet not working

Posted: 10 Nov 2020, 22:30
by Stephan Classen
Hi and thank you for using OWS.

I am sorry but the exception is coming from the JViewer Code.
A quick search with google did not find anything useful you could try.
I guess your best option is to contact the developers of JViewer and ask for help

Re: JViewer applet not working

Posted: 11 Nov 2020, 12:13
by groo1984
Thanks very much Stephan. I have tried looking in Google too but was unable to find anything meaningful, so it was worth a shot to ask here, if anybody faced a similar problem.
I will check with the code developers and if something is found I will post it here, it may be of help to others.

Thanks very much once again!

Cheers,

G.

Re: [SOLVED] JViewer applet not working

Posted: 18 Jul 2024, 08:43
by chandler-agi
Why's this marked solved?  I don't see a solution 😛

No worries, I found a workaround and have a suggested solution.

The problem here is the JVM that OWS selects is too new and inappropriate.  In my case, it downloaded and installed version 21.  If we look in the jviewer.jnlp, there are 10 definitions of
<j2se version="1.7+"/>
However, I assure you that in 2011 the vendor AMI had no idea how much different the java landscape would be nowadays.  In fact, if it weren't for this great project and its participants, AMI's JViewer along with every other java app wouldn't be much more than a fading memory by now and we'd all have been forced to buy newer hardware.  That is to say: version 21 of the JVM is way too (n)ew for this stanky old JViewer code we need to run.  1.8 is more appropriate.

Thus, the workaround is to download jviewer.jnlp from your remote management site and save it to disk first, rather than launch it with OWS.  Open the JNLP file in a text editor and change/replace all of the 7+ with 8 (so you'll have <j2se version="1.8"/> now instead).  Save and close the JNLP.  Now you can open the downloaded file within your browser and voila!  The 1.8 version of the JVM should be auto-downloaded and installed in OWS, and launch your iKVM right up!

Image

After that, I just turned off version 21 and then version 1.8 is used automagically in the future, no need to modify the JNLP anymore... until the next problem comes along, at least.  Perhaps there is a way to tell OWS to use JVM v1.8 with jviewer.jnlp from the start?

The suggested solution to all this would be an update OWS's logic so that it uses a JVM closest to the spec, instead of the latest.  Java environments change too much over time so using the latest version with old code almost never works... you have to find the version that the code was written against or that was released around the same time the code was written.

Best Regards,

Re: [SOLVED] JViewer applet not working

Posted: 18 Jul 2024, 09:12
by Janak Mulani
You can control JVM choices using itw-settings > JVM Manager > Settings. Please see https://openwebstart.com/docs/OWSGuide. ... management

Re: [SOLVED] JViewer applet not working

Posted: 18 Jul 2024, 20:40
by chandler-agi
Thanks!  but sorry, I couldn't figure anything out from those instructions, can you provide more details?  I saw something further down about using deployment.properties but not sure if that could be used to specify v1.8 JVM for jviewer.jnlp...