Login  Register

Re: Mac OS Java Update ( 1.6.0_20) breaks JOGL applets

Posted by blainebell on May 03, 2011; 6:05pm
URL: https://forum.jogamp.org/Mac-OS-Java-Update-1-6-0-20-breaks-JOGL-applets-tp827857p2895322.html

OK, so I think I have gotten somewhere, the biggest problem I has was that I didn't write loadLibraryInternal() to call the JNLPAppletLauncher.loadLibrary() method (I am sure there is documentation somewhere, but I found it in the JNLPAppletLauncher code).

I can now get my applet running inside Safari when it is run inside the browser process. Whehew!!!

In Firefox, it does run, however, I cannot call the applet from javascript.  I use the function getSubApplet() on the applet object, but get this error:

<<< ProxyClassLoader: defined LiveConnectProxy class. >>>
<<< Here're the permissions you've got: >>>
<<< java.security.Permissions@1e9d9b1 (
 (java.net.SocketPermission localhost connect,accept,resolve)
 (java.util.PropertyPermission jep.debug.visibility read)
 (java.util.PropertyPermission jep.debug.release read)
 (java.util.PropertyPermission javaplugin.version read)
 (java.util.PropertyPermission javaplugin.vm.options read)
 (java.util.PropertyPermission jep.version read)
 (java.util.PropertyPermission browser.version read)
 (java.util.PropertyPermission jep.debug.updates read)
 (java.util.PropertyPermission http.agent read)
 (java.util.PropertyPermission browser read)
 (java.util.PropertyPermission browser.vendor read)
)
 >>>
Exception in LiveConnect getting field "public static final java.lang.Class java.lang.Void.TYPE"
java.lang.NullPointerException
        at netscape.oji.CSecureEnv.checkPackageAccess(CSecureEnv.java:115)
        at netscape.oji.CSecureEnv.access$000(CSecureEnv.java:59)
        at netscape.oji.CSecureEnv$GetField.run(CSecureEnv.java:245)
        at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)
java.lang.RuntimeException
        at netscape.oji.CSecureEnv$GetField.run(CSecureEnv.java:251)
        at netscape.oji.LiveConnectProxy.run(LiveConnectProxy.java:48)

Has anyone been able to communicate from JavaScript inside Firefox?

Also, when I run the applet in its own process in Safari, I get a similar error that started this thread, which I also get when I go to the http://jogamp.org/jogl-demos/www/applettest-jnlp.html page (this is directly from this page):

java.lang.reflect.InvocationTargetException
        at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116)
        at sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3542)
        at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3073)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1498)
        at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.SecurityException: attempted to open sandboxed jar http://jogamp.org/deployment/webstart/jogl.all.jar as a Trusted-Library
        at com.sun.deploy.security.CPCallbackHandler$ParentElement.checkResource(CPCallbackHandler.java:358)
        at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(DeployURLClassPath.java:804)

Was there a fix for this, or are applets always suppose to be run inside the browser process?  Strange, since I had it working in its own process... Is there a way to get it deployed properly for both?

Thanks a lot for your help (again!)

Blaine