Login  Register

Re: JOGL not launching on Ubuntu 12.04 LTS

Posted by Xerxes Rånby on May 24, 2012; 7:51pm
URL: https://forum.jogamp.org/JOGL-not-launching-on-Ubuntu-12-04-LTS-tp4005531p4014149.html

The Java plugin and webstart in Ubuntu 12.04 uses the new IcedTea-web 1.2 version
while previous Ubuntu releases used the 1.1.x versions.

The regression you observe have most likely been introduced by one of the changes inside the larger code switch from the old stable icedtea-web 1.1.x versions to the new stable 1.2 version.
http://dbhole.wordpress.com/2012/03/05/icedtea-web-1-2-released/
http://dbhole.wordpress.com/2012/03/05/icedtea-web-1-1-5-released/

All new features of the icedtea-web 1.2 version is summarized in the icedtea-web release plans and design notes:
http://icedtea.classpath.org/wiki/IcedTea-Web#Release_Plans

I am unable to reproduce any issues using javaws (icedtea-web 1.2 netx):

Barbara: do you have any public test application?

Pixelapp: both javaws http://jogamp.org/deployment/jogamp-current/jogl-demos/Gears.jnlp and your javaws http://wavelogy.pixelapp.biz/WavelogyDesktop.jnlp

(displays this nice image and playes some music) worked on my Ubuntu 12.04 32bit setup using IcedTea-Web 1.2 (1.2-2ubuntu1) javaws.

For me the browser-plugin (icedtea-web 1.2 plugin) work as well:
http://jogamp.org/deployment/jogamp-current/jogl-test-applets.html

Using IcedTea-web 1.2 and Ubuntu 12.04 all kinds of applet types, dual, N ans L applets worked fine for the signed jogl version applet:
2: signed jogl version applet
1: signed JOGL
0: signed GlueGen
http://jogamp.org/deployment/jogamp-current/jogl-applet-version.html - OK dual (using Lapplet fallback)
http://jogamp.org/deployment/jogamp-current/jogl-applet-version-lancheronly.html - OK Lapplet
http://jogamp.org/deployment/jogamp-current/jogl-applet-version-napplet.html - OK Napplet
http://jogamp.org/deployment/jogamp-current/jogl-application-version.jnlp - OK (javaws netx)


unfortunately... unsigned demo applets hit one or another security-policy issue:
2: unsigned demo
1: signed JOGL
0: signed GlueGen

http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal.html ,
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal-launcheronly.html ,
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-special.html and
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-GraphTextDemo01.html - (dual and Lapplers) FAILED with:
java.security.AccessControlException: access denied (java.io.FilePermission /tmp/jnlp-applet write)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393)
        at java.security.AccessController.checkPermission(AccessController.java:553)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284)
        at java.lang.SecurityManager.checkWrite(SecurityManager.java:979)
        at java.io.File.mkdir(File.java:1169)
        at org.jdesktop.applet.util.JNLPAppletLauncher.initTmpRoot(JNLPAppletLauncher.java:1067)
        at org.jdesktop.applet.util.JNLPAppletLauncher.<clinit>(JNLPAppletLauncher.java:2190)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at java.lang.Class.newInstance0(Class.java:372)
        at java.lang.Class.newInstance(Class.java:325)
        at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726)
        at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676)
        at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886)

http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal-napplet.html ,
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal-napplet2.html ,
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-special-napplet.html and
http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-GraphTextDemo01-napplet.html - (all Napplets) FAILED with:
Exception in thread "Applet" java.lang.ExceptionInInitializerError
        at com.jogamp.common.util.PropertyAccess.addTrustedPrefix(PropertyAccess.java:51)
        at jogamp.newt.Debug.<clinit>(Debug.java:52)
        at com.jogamp.newt.awt.applet.JOGLNewtAppletBase.<clinit>(JOGLNewtAppletBase.java:58)
        at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.<clinit>(JOGLNewtApplet1Run.java:95)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at java.lang.Class.newInstance0(Class.java:372)
        at java.lang.Class.newInstance(Class.java:325)
        at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726)
        at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676)
        at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886)
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getProtectionDomain")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
        at java.security.AccessController.checkPermission(AccessController.java:555)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284)
        at java.lang.Class.getProtectionDomain(Class.java:2123)
        at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:52)
        at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:50)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.util.SecurityUtil.getCerts(SecurityUtil.java:50)
        at com.jogamp.common.util.SecurityUtil.<clinit>(SecurityUtil.java:46)
        ... 13 more
java.lang.NullPointerException
        at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154)
        at sun.applet.AppletPanel.run(AppletPanel.java:379)
        at java.lang.Thread.run(Thread.java:722)
java.lang.NullPointerException
        at sun.applet.AppletPanel.run(AppletPanel.java:429)
        at java.lang.Thread.run(Thread.java:722)

I will contact the icedtea-web team and look into the security policy implementaton to hopefully make it allow running unsigned applets on top of signed jogl.
2: unsigned demo
1: signed JOGL
0: signed GlueGen