JOGLAppletLauncher issues ?

Ken, I don’t know if you’ve looked at the ‘Jack Flowers’ thread in the games section, but swpalmer seems to have troubles with the JOGLAppletLauncher on mac os 10.4.4.

He’s having problems with my game (http://ww.javapause.com/games/jack) and with the jogl official demo.

I haven’t found any pb so far with mac os 10.4.3 or 10.3.9…

If you’ve got a mac with this setup available, could you confirm the problem ?

Lilian

I’ll upgrade the Mac in my office to 10.4.4 on Tuesday and try the JOGLAppletLauncher test and your game on it. Your game runs fine on my Mac at home with 10.3.9 - looks nice and runs at roughly 100 FPS with a GeForce 4 MX. I would guess that there is some problem with Apple’s Java 5 port. I would guess that it was just made the default JRE in the most recent Software Update.

I’m running the latest Java 5 developer preview (as of end of Dec 2005). I’m not sure if it has been made the default for everyone yet, since I had it installed before the upgrade to 10.4.4.

But the DP definitely IS the default when you install it manually from the ADC download.

$ java -version
java version “1.5.0_06”
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_06-93)
Java HotSpot™ Client VM (build 1.5.0_06-55, mixed mode, sharing)

I’m running pure 10.4.4 with all the system updates and with no DPs. The default Java version shows “build 1.4.2_09-232”. You can access java 5 if you set up the APP with the specification 1.4+, as it is available but not the default jvm yet.

I saw no issues with this build. (Though demos.infiniteadowVolumes.InfiniteShadowVolumes is failing with a “GLException: Error creating nsContext” that’s unrelated though.)

Gene Davis
genedavissoftware.com

Well the question then is: “Does the JOGL Applet demo work for you?”

And does it also work when you set Java 5 as the default for applets?

If this is an issue with the Java 5 update DP then it needs to be reported as soon as possible.

tried here with upgraded 10.4.4 and latest java5 : it works fine ! (mac mini) ?!!?

Lilian

Same exact java versions as I get (above) ?
Is Java configured to use Java 5 for Applets?
Safari Version 2.0.3 (417.8) ?

safari 2.0.3 417.8

java 1.5_05 (nothing more recent from the system updates menu).

Lilian

I see some flickering of the applet on OS X (10.4.4, dual 2 GHz G5, GeForce 6800), but it occurs with both J2SE 1.4.2 and 5.0u5. It looks like under some circumstances a NullPointerException is occurring in the Xith3D code which causes the applet to attempt to exit, but it fails with a SecurityException so it continues running. I think that the rendering results are probably messed up on these frames, resulting in the flickering. This flickering wasn’t present on other platforms. I’ve attached the Java Console output from 5.0u5 containing the exception stack traces. Aside from that the applet seems to run fine on OS X.

It still refuses to to load for me. Same error - that the native library isn’t signed properly. This is with the very latest Java for Mac available to (free) ADC members. (Must be manually downloaded and installed. It’s not on Software Update.)

I’m testing with the jogl demo applet page and a Powerbook G4 with 10.4.4.

I’ll double check my system configuration. Maybe I have some old library somewhere and it’s picking that up instead?

Yes ! I had forgotten that one : jogl libs must not be found in the classpath. It’s certainly that (look into your jre/lib or lib/ext dirs)

May be we should add a detailed messaged in the JOptionPane to ask the user to check his jre config when this specific exception is encountered.

Ken ?

Lilian

looking at the stack trace, it looks like the renderering is done by a repaint manager, while Xith is sorting/building its rendering list.

I don’t know why this repaint manager comes in… may be because there’s a native Label used to display fps. I’ll upload a new version today that should address this issue. Thanks for reporting it.

Lilian

That sounds reasonable – do you think you could prototype and test this and file a Patch with the Issue Tracker?

It sounds to me like Xith3D should definitely be robust with respect to this. There should be enough synchronization at the top level of the scene graph to prevent rendering while the scene graph is in an inconsistent state. This should involve only one lock which is rarely contended upon, so it shouldn’t impact performance.

No problem.

Ok, I checked for stray copies of the jogl native library… I did find one in my ~/Library/Java/Extensions folder but deleting it had no effect.
I even started purging things that might you JOGL from the Web start application cache (even though I think it is supposed to keep things isolated) I still can’t get the JOGL applets to run on my Mac.

I still get the same message that the jar is not signed properly. I’m running out of ideas.

What about stale copies of jogl.jar? If it were installed into the JRE / JDK at one point it would almost certainly interfere with the JOGLAppletLauncher.

I think it has to be something in this machine’s configuration, probably the presence of a jogl.jar somewhere in your JRE.

The good news: I got it working.

The bad news: The only copies of JOGL stuff I deleted to get it to work were in the Web Start cache and strange folders that I don’t think are normally on the classpath.
How did this happen? How will less technical users deal with this issue?

From my shell history…

501 rm /Users/scottpalmer/Library/Caches/Java/cache/javaws/https/Djogl.dev.java.net/P-1/DMwebstart/RNjogl-natives-macosx.jar/libjogl.jnilib
502 rm -r /Users/scottpalmer/Library/Caches/Java/cache/javaws/https/Djogl.dev.java.net

Ah screw it, I’m toasting the whole cache:

503 rm -r /Users/scottpalmer/Library/Caches/Java/cache/javaws
504 rm -r /Users/scottpalmer/Library/Caches/Java\ Web\ Start/cache

from within my home dir:

531 rm -r .jogl_ext
(hey what is this .jogl_ext thing?)

There were some JOGL related files in here… also the 5.0rc1 folder, but I left those alone, I doubt this helped.
533 rm -r ./.netbeans/5.0beta
534 rm -r ./.netbeans/5.0beta2

I hindsight I should have attempted to start the applet after delete things one at a time… but I didn’t

That’s bizarre. Is there any chance there was a symlink somewhere in /Library/Java/Extensions pointing to one of these copies of jogl.jar?

None of those jar files’ presence should have had any effect on the correctness of the JOGLAppletLauncher. Even if you had a CLASSPATH set to include one of those jar files I don’t think it should have had any effect. The .jogl_ext directory is the cache created by the JOGLAppletLauncher itself. It’s possible that something got screwed up in that directory, possibly by a previous failed install by the JOGLAppletLauncher.

If this problem crops up again with any other JOGL applet please post about it.

I’ll submit a patch next week.

We should also think about i18n… although I don’t like ResourceBundles as they generally send to many HEAD/GET to the applet server.

Lilian

[quote=“Ken Russell,post:18,topic:25874”]
I had filed a bug with Apple just in case… and after some questions from the Apple engineer that was working on it I took a closer look at the .jogl_ext fodler, I just happened to have the before and after contents of that folder in my shell history buffer…

This is what that folder contained after several failed attempts to get the demo to work:

Scotts-Laptop:~ scottpalmer$ find . | grep jogl       
./.jogl_ext
./.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_
./.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/1.1.1
./.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/1.1.1/jogl-natives-macosx.jar
./.jogl_ext/www_javapause_com_games_jack_lib_
./.jogl_ext/www_javapause_com_games_jack_lib_/1.1.1
./.jogl_ext/www_javapause_com_games_jack_lib_/1.1.1/jogl-natives-macosx.jar

This is what I have now that it is working:

Scotts-Laptop:~ scottpalmer$ find .jogl_ext | grep jogl
.jogl_ext
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/jsr231-1.0-beta2-b01
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/jsr231-1.0-beta2-b01/libjogl.jnilib
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/jsr231-1.0-beta2-b01/libjogl_awt.jnilib
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/jsr231-1.0-beta2-b01/libjogl_cg.jnilib
.jogl_ext/download_java_net_media_jogl_builds_archive_jsr-231-webstart-current_/jsr231-1.0-beta2-b01/timestamp
.jogl_ext/www_javapause_com_games_jack_lib_
.jogl_ext/www_javapause_com_games_jack_lib_/jsr231-1.0-beta2-b01
.jogl_ext/www_javapause_com_games_jack_lib_/jsr231-1.0-beta2-b01/libjogl.jnilib
.jogl_ext/www_javapause_com_games_jack_lib_/jsr231-1.0-beta2-b01/libjogl_awt.jnilib
.jogl_ext/www_javapause_com_games_jack_lib_/jsr231-1.0-beta2-b01/libjogl_cg.jnilib
.jogl_ext/www_javapause_com_games_jack_lib_/jsr231-1.0-beta2-b01/timestamp