JNLP demos here http://www.jmonkeyengine.com/movies_demos.php don't work on Mac

I entered a bug report for this here:



  http://code.google.com/p/jmonkeyengine/issues/detail?id=26



But perhaps that is not the best place. Here's a copy.



What steps will reproduce the problem?


  1. On MacOS 10…5 with either Java 1.5 32-bit or 1.6 64-bit selected run the island demo from this

    web page:



      http://www.jmonkeyengine.com/movies_demos.php



    The link to the actual jnlp is here:



      http://www.jmonkeyengine.com/webstart/jmedemo.php?terrain.TestIsland



    This jnlp also uses this jnlp extension:



      <extension name="jme" href="http://www.jmonkeyengine.com/webstart/jme.jnlp"/>



    What is the expected output?



      A running demo



    What do you see instead?



    On Java 1.5 the program loads and after responding to the "Select Display Settings" dialog the

    webstart program crashes and exits.



    Java 1.6 the program loads and after responding to the Trust dialog the webstart program

    crashes and exits.



    I enabled tracing using this application



      /Applications/Utilities/Java/Java Preferences.app



    On Java 1.5.0_16 see attached file: javaws56245.trace

    On Java 1.6.0_06 see attached file: javaws64318.trace



    What version of the product are you using? On what operating system?



    The demo jnlps seem to be running JME 1.0



    Here are copies of the stack traces (can't attach *.trace files here)



    Java 1.5:



Dec 3, 2008 2:25:41 PM com.jme.app.BaseGame start
INFO: Application started.
Dec 3, 2008 2:25:41 PM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Dec 3, 2008 2:25:41 PM com.jme.system.PropertiesIO load
INFO: Read properties
Dec 3, 2008 2:28:22 PM com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
Dec 3, 2008 2:28:22 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Dec 3, 2008 2:28:22 PM com.jme.system.lwjgl.LWJGLDisplaySystem getValidDisplayMode
INFO: Selected DisplayMode: 640 x 480 x 16 @0Hz
Dec 3, 2008 2:28:22 PM com.jme.system.PropertiesIO save
INFO: Saved properties
Dec 3, 2008 2:28:22 PM com.jme.app.BaseSimpleGame initSystem
INFO: jME version 1.0
Dec 3, 2008 2:28:22 PM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:  640H: 480
Dec 3, 2008 2:28:22 PM com.jme.app.BaseSimpleGame initSystem
INFO: Running on: null
Driver version: null
NVIDIA Corporation - NVIDIA GeForce 8600M GT OpenGL Engine - 2.0 NVIDIA-1.5.30
Dec 3, 2008 2:28:22 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Dec 3, 2008 2:28:22 PM com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
Dec 3, 2008 2:28:22 PM com.jme.scene.Node <init>
INFO: Node created.
Dec 3, 2008 2:28:23 PM com.jme.scene.Node <init>
INFO: Node created.
Dec 3, 2008 2:28:23 PM com.jme.scene.Node attachChild
INFO: Child (FPS label) attached to this node (FPS node)
Dec 3, 2008 2:28:23 PM class jmetest.terrain.TestIsland start()
SEVERE: Exception in game loop
com.jme.system.JmeException: height file not found: http://www.jmonkeyengine.com/webstart/jmetest-data-texture.jar!/jmetest/data/texture/terrain/heights.raw
   at com.jmex.terrain.util.RawHeightMap.<init>(Unknown Source)
   at jmetest.terrain.TestIsland.createTerrain(Unknown Source)
   at jmetest.terrain.TestIsland.simpleInitGame(Unknown Source)
   at com.jme.app.BaseSimpleGame.initGame(Unknown Source)
   at com.jme.app.SimplePassGame.initGame(Unknown Source)
   at com.jme.app.BaseGame.start(Unknown Source)
   at jmetest.terrain.TestIsland.main(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at com.sun.javaws.Launcher.executeApplication(Launcher.java:1301)
   at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1239)
   at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1086)
   at com.sun.javaws.Launcher.run(Launcher.java:105)
   at java.lang.Thread.run(Thread.java:613)
Dec 3, 2008 2:28:23 PM com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
Dec 3, 2008 2:28:23 PM com.jme.app.BaseGame start
INFO: Application ending.



Java 1.6:


Dec 3, 2008 2:12:03 PM com.jme.app.BaseGame start
INFO: Application started.
Dec 3, 2008 2:12:03 PM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Dec 3, 2008 2:12:03 PM com.jme.system.PropertiesIO load
INFO: Read properties
Dec 3, 2008 2:12:03 PM class jmetest.terrain.TestIsland start()
SEVERE: Exception in game loop
java.lang.UnsatisfiedLinkError: /Users/stephen/Library/Caches/java/cache/6.0/36/cb7d064-6b423dc2-n/liblwjgl.jnilib:
   at java.lang.ClassLoader$NativeLibrary.load(Native Method)
   at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1822)
   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1715)
   at java.lang.Runtime.loadLibrary0(Runtime.java:823)
   at java.lang.System.loadLibrary(System.java:1030)
   at org.lwjgl.Sys$1.run(Sys.java:75)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
   at org.lwjgl.Sys.loadLibrary(Sys.java:84)
   at org.lwjgl.Sys.<clinit>(Sys.java:101)
   at org.lwjgl.opengl.Display.<clinit>(Display.java:111)
   at com.jme.system.lwjgl.LWJGLPropertiesDialog.<init>(Unknown Source)
   at com.jme.app.AbstractGame.getAttributes(Unknown Source)
   at com.jme.app.BaseGame.start(Unknown Source)
   at jmetest.terrain.TestIsland.main(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.sun.javaws.Launcher.executeApplication(Launcher.java:1301)
   at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1239)
   at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1086)
   at com.sun.javaws.Launcher.run(Launcher.java:105)
   at java.lang.Thread.run(Thread.java:637)
Dec 3, 2008 2:12:03 PM com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
Dec 3, 2008 2:12:03 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Dec 3, 2008 2:12:03 PM com.jme.app.BaseGame start
INFO: Application ending.



I have closed Issue 26, the issue is not with OSX but with the TestIsland jME test only.  Created new (Issue 27) and supplied further debugging info.  (Also, the Java 1.6 test failed due to the lwjgl libraries being compiled with Java 1.5 and is unrelated.)

The TestIsland Issue has been fixed already http://code.google.com/p/jmonkeyengine/issues/detail?id=5&can=1

Well, If I try to launch the TestIsland.jnlp (on the Demos page),  it errors out on both WinXP and OSX; so I am not sure it is fixed (maybe someone needs to update the jar)…

It crashed for me too …



Have the fixes been ported to the libraries per the jnlp ??



Geez, webstart causes more issues than politics


There is no Sun's official Java Web Start for 64-bits linux so I can't run JNLP, I'm sure I'm not the only one nowadays. I don't care because I have the source code compiled but surely many casual users miss the opportunity to be mesmerized by jME's spectacular demos.



Is there any chance a different distribution could be implemented?

I think the solution (and I could be wrong, don't have 64bit CPU) is to just run them in 16-bit…

(That might be a system java setting though  )



EDIT: HAHAHAHAHAHA… 16BIT!!!  Talk about being stuck in the 80's…

(Hey basixs, 1987 called they want their floppy disk back :D)



(I meant 32bit…)

Java Web Start is not bundled with the 64 bits distribution as well as web-browser plug-in for applet support! (yes you can't use applets!).



The solutions are: using OpenJDK, installing an alternate 32 bits JRE or waiting a few months (hopefully) for the implementation.