We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexProgramming Questions & HelpOpenGL and 3D Libraries › OpenGL classloader issue in applet
Page Index Toggle Pages: 1
OpenGL classloader issue in applet (Read 927 times)
OpenGL classloader issue in applet
May 14th, 2009, 4:11pm
 
I am working on a web application that involves 2 different applets developed in Processing, created via the "Export" button. The applets reside on separate pages. Both applets involve 3D rendering with OpenGL.

The first applet sits in a page that user sees once, then gets taken through a few forms in php pages to the page with the second applet. This page gets reloaded multiple times -- user is controlling various parameters using html form elements that get processed by php script and passed into the applet via <param> tags. Reloading the applet works with no difficulty.

The problem is when the user wants to start the sequence from the beginning: upon visiting the first page, the applet does not load, and yields the following error in the console:


Exception in thread "AWT-EventQueue-4" java.lang.UnsatisfiedLinkError: Native Library C:\Documents and Settings\rcr\.jogl_ext\envelope_shoparc_com_v1_massing_b221516d8c11fcdc34d28b49a
4d874\1.1.1\gluegen-rt.dll already loaded in another classloader
     at java.lang.ClassLoader.loadLibrary0(Unknown Source)
     at java.lang.ClassLoader.loadLibrary(Unknown Source)
     at java.lang.Runtime.load0(Unknown Source)
     at java.lang.System.load(Unknown Source)
     at com.sun.opengl.util.JOGLAppletLauncher.loadLibrary(JOGLAppletLauncher.java:1011)

     at com.sun.opengl.util.JOGLAppletLauncher.access$400(JOGLAppletLauncher.java:166)
     at com.sun.opengl.util.JOGLAppletLauncher$6.run(JOGLAppletLauncher.java:922)
     at java.awt.event.InvocationEvent.dispatch(Unknown Source)
     at java.awt.EventQueue.dispatchEvent(Unknown Source)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.run(Unknown Source)


I have been searching everywhere I can imagine for a solution to this problem, and
even thought I'd found the answer: making sure that the respective <object> tags have the same values set for codebase, classid, code, and archive (each applet is thus loading the other's jar file even though it doesn't use it) but still getting the error.

Any ideas anyone has would be most appreciated!

(apologies if there is a better place to post this question)

Ron

Re: OpenGL classloader issue in applet
Reply #1 - Jun 3rd, 2009, 4:06pm
 
hey all,

For anyone following along or curious, I finally managed to find a solution to this problem.

At it's core, the solution involves launching the applet with the JNLPAppletLauncher instead of the JOGLAppletLauncher.

This involves replacing the <object> tag and related code in the html generated by the export from processing with an <applet> tag modeled after the example here.

https://applet-launcher.dev.java.net/

hope this helps someone else too.

cheers!
Page Index Toggle Pages: 1