Need help getting Xith3D and JOGLAppletLauncer to cooperate

Nope, it’s still there…

Exception in thread "Thread-4" javax.media.opengl.GLException: java.lang.UnsatisfiedLinkError: no jogl_awt in java.library.path
        at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:266)
        at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:256)
        at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
        at com.xith3d.render.jsr231.CanvasPeerImpl.render(CanvasPeerImpl.java:1207)
        at com.xith3d.scenegraph.View.renderOnce(View.java:616)
        at com.xith3d.scenegraph.View.renderOnce(View.java:549)
        at dvdcase.DVDApplet.run(DVDApplet.java:205)
        at java.lang.Thread.run(Thread.java:626)
Caused by: java.lang.UnsatisfiedLinkError: no jogl_awt in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
        at java.lang.Runtime.loadLibrary0(Runtime.java:821)
        at java.lang.System.loadLibrary(System.java:1030)
        at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)
        at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101)
        at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47)
        at com.sun.opengl.impl.NativeLibLoader$2.run(NativeLibLoader.java:130)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.opengl.impl.NativeLibLoader.loadAWTImpl(NativeLibLoader.java:116)
        at com.sun.opengl.impl.JAWT.getJAWT(JAWT.java:91)
        at com.sun.opengl.impl.windows.WindowsOnscreenGLDrawable.lockSurface(WindowsOnscreenGLDrawable.java:162)
        at com.sun.opengl.impl.windows.WindowsOnscreenGLContext.makeCurrentImpl(WindowsOnscreenGLContext.java:57)
        at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:118)
        at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:182)
        at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:298)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-1" javax.media.opengl.GLException: Attempt to make the same context current twice on thread Thread[AWT-EventQueue-1,4,file:E:/opt/java/ivilsoft/DVDCase/build/classes/-threadGroup]
        at com.sun.opengl.impl.GLContextLock.lock(GLContextLock.java:83)
        at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:115)
        at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:182)
        at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:258)
        at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
        at javax.media.opengl.GLCanvas.paint(GLCanvas.java:142)
        at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
        at sun.awt.RepaintArea.paint(RepaintArea.java:224)
        at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:288)
        at java.awt.Component.dispatchEventImpl(Component.java:4454)
        at java.awt.Component.dispatchEvent(Component.java:4208)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

[quote="<MagicSpark.org [ BlueSky ]>,post:20,topic:27017"]
@sialivi : have you fixed your GLException ? I saw TheFieryShadow has the same bug and I don’t know where it comes from.

Hmm… It doesn’t affect the behavior of others renderers ? If yes, I can add it.
[/quote]
Shouldn’t affect the behaviour : it raises the securityException only when used with a security manager (i.e. unsigned applet / jws)

About the GL exception : are the native dlls in the appropriate applet codebase (jogl-natives-win32.jar in the same dir as jogl.jar) ?

Lilian

That might very well be the problem. Unfortunatly I can’t even test that right now since I must have messed things up when trying to solve the java.lang.ExceptionInInitializerError problem, making the VM lock up.

Shouldn’t affect the behaviour : it raises the securityException only when used with a security manager (i.e. unsigned applet / jws)
[/quote]
OK, so I’ll include that in the next release, which I’ll make when I have time.

Just upgraded to 0.7.1 and the applet seems to have come to life without having to alter a single line :slight_smile:

However, when asking a friend to try it, to make sure the downloading/installation of the native libs worked as it should, he claim his browser just hardlocked.

Could someone try if it works? (Without having the native jogl libs already installed)
The applet is almost 4mb and my upload speed sadly isn’t very fast, so have patience… http://mutant.kicks-ass.net/3d/

That’s something making me happy to work for Xith3D 8)

I’m just trying it, waiting for it to load… Some comments soon…

[quote="<MagicSpark.org [ BlueSky ]>,post:26,topic:27017"]

I’m just trying it, waiting for it to load… Some comments soon…
[/quote]
Hum… the applet fails with an “Error : Start failed : class not found : dvdcase.DVDApplet” but I’m suspecting it didn’t download all the jars.

I’ve also seen that once or twice, not sure why. Reloading has usually fixed it.

And how do you reload an applet ? Hitting “Refresh” on the navigator just restart it and don’t download it again. And even now it seems to have emptied the cache and re-downloaded the classes and it still fail with the same error.

I usually restart the browser…

I don’t understand what the problem is. It works just fine on my computer, but from my parents computer as well as my friend, the browser just locks up. So I don’t even get an exception or anything to examine.

I don’t know what the problem is I still have the same issue

Maybe I could send you the sourcecode so you can try it directly on your system, just to rule out firewall/server problems?

OK. I PMed you my e-mail adress.

Seems that in my last session of trying to track down the problem, I managed to break it even more, so it doesn’t work locally on my machine either ::slight_smile:

I have now tracked down which line of code it freezes on at least:

        final Loader3DS loader = new Loader3DS();
        final URL url = getClass().getClassLoader().getResource("dvd.3ds"); 
        Scene scene = null;
        try {
            if(url != null) {
                scene = loader.load(url);

At that last line, scene = loader.load(url), the applet and browser just freezes and has to be killed using the taskmanager.

What about loading in a separate thread?

I guess you would still need to figure out why the loader is hanging though.