Safari 6.1 breaks Automated Native Library Loading (?)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Safari 6.1 breaks Automated Native Library Loading (?)

karelknoes
The tranditional applet embedding (no jnlp)  uses the JOGL feature to automatically load the correct native libraries (http://jogamp.org/jogl/doc/userguide/index.html#automatednativelibraryloading).

The freshly released Safari 6.1 (OSX 10.8 an 10.9 only) appears to break the latter mechanism, throwing the exception below. Encountered on two machines with OSX 10.8.5 with the Safari 6.1 upate). The demo applets on the jogamp site also fail in the "NApplet" mode.

Do you also experience this problem?

Warning: Catched Exception while retrieving temp base directory:
java.lang.RuntimeException: Could not determine a temporary directory
	at com.jogamp.common.util.IOUtil.getTempDirImpl(IOUtil.java:889)
	at com.jogamp.common.util.IOUtil.access$100(IOUtil.java:57)
	at com.jogamp.common.util.IOUtil$2.run(IOUtil.java:930)
	at com.jogamp.common.util.IOUtil$2.run(IOUtil.java:928)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:928)
	at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:84)
	at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:85)
	at com.jogamp.common.os.Platform$2.run(Platform.java:228)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.common.os.Platform.loadGlueGenRTImpl(Platform.java:225)
	at com.jogamp.common.os.Platform.<clinit>(Platform.java:171)
	at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:90)
	at [our code].renderengine.OpenGLUtility.checkOpenGLVersion(OpenGLUtility.java:81)
	at [our code].applet.Applet$OpenGLVersionChecker.doInBackground(Applet.java:851)
	at [our code].applet.Applet$OpenGLVersionChecker.doInBackground(Applet.java:845)
	at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at javax.swing.SwingWorker.run(SwingWorker.java:335)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Reply | Threaded
Open this post in threaded view
|

Re: Safari 6.1 breaks Automated Native Library Loading (?)

gouessej
Administrator
Hi

Look at that:
https://github.com/sgothel/gluegen/blob/master/src/java/com/jogamp/common/util/IOUtil.java#L1222

I don't find any method called getTempDirImpl in this class. It's like a very old build of JOGL 2 was used :s

Edit.: Please can you post the stack trace obtained by running a JOGL demo so that I can see whether we get the same exception thrown at line 1222?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Safari 6.1 breaks Automated Native Library Loading (?)

karelknoes
Hi Julien, thanks for the fast response. The exception is indeed from an old jogl version (2.0RC9 to be precise). A siimilar exception is also thrown with the latest jogl version.

For example, opening NApplet "Quick Version Info" from the jogamp site (http://jogamp.org/deployment/jogamp-current/jogl-applet-version-napplet.html), generated the following exception:

Warning: Catched Exception while retrieving temp base directory:
java.lang.RuntimeException: Could not determine a temporary directory
        at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1222)
        at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:80)
        at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:90)
        at com.jogamp.common.os.Platform$1.run(Platform.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:173)
        at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82)
        at jogamp.opengl.awt.VersionApplet.my_init(VersionApplet.java:73)
        at jogamp.opengl.awt.VersionApplet.init(VersionApplet.java:136)
        at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:744)
java.lang.UnsatisfiedLinkError: Can't load library: /System/Library/Frameworks/gluegen-rt.Framework/gluegen-rt
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
        at java.lang.Runtime.load0(Runtime.java:795)
        at java.lang.System.load(System.java:1062)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:551)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:414)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
        at com.jogamp.common.os.Platform$1.run(Platform.java:203)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:173)
        at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82)
        at jogamp.opengl.awt.VersionApplet.my_init(VersionApplet.java:73)
        at jogamp.opengl.awt.VersionApplet.init(VersionApplet.java:136)
        at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:744)
Ignored exception: java.lang.UnsatisfiedLinkError: Can't load library: /System/Library/Frameworks/gluegen-rt.Framework/gluegen-rt
basic: Dialog type is not candidate for embedding
Reply | Threaded
Open this post in threaded view
|

Re: Safari 6.1 breaks Automated Native Library Loading (?)

gouessej
Administrator
Thank you. I can't reproduce this bug as the only Mac Book Pro I have is under Mac OS X 10.6.8. Please can you create a bug report? Is it reproducible only in applets? Does it affect Java Web Start applications too? I think that it can be quickly fixed if we discover which temporary directory should be used.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Safari 6.1 breaks Automated Native Library Loading (?)

Sven Gothel
Administrator
In reply to this post by karelknoes
On 10/23/2013 11:39 AM, karelknoes [via jogamp] wrote:
> The tranditional applet embedding (no jnlp)  uses the JOGL feature to
> automatically load the correct native libraries
> (http://jogamp.org/jogl/doc/userguide/index.html#automatednativelibraryloading).
>
> The freshly released Safari 6.1 (OSX 10.8 an 10.9 only) appears to break the
> latter mechanism, throwing the exception below. Encountered on two machines
> with OSX 10.8.5 with the Safari 6.1 upate). Do you also experience this problem?
>

.. already detected .. in progress:

https://jogamp.org/bugzilla/show_bug.cgi?id=865

:)

~Sven


signature.asc (911 bytes) Download Attachment