Bug 865 - Applets on Safari >= 6.1 [OSX]: IOUtil.getTempDir(..) Cannot determine executable temp directory
Summary: Applets on Safari >= 6.1 [OSX]: IOUtil.getTempDir(..) Cannot determine execut...
Status: RESOLVED FIXED
Alias: None
Product: Gluegen
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All macosx
: --- enhancement
Assignee: Sven Gothel
URL:
Depends on:
Blocks: 1015
  Show dependency treegraph
 
Reported: 2013-10-23 06:31 CEST by Sven Gothel
Modified: 2014-10-08 13:29 CEST (History)
2 users (show)

See Also:
Type: ---
SCM Refs:
fec9712b151ad31b053fe700cb0f809b9715407c
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-10-23 06:31:44 CEST
IOUtil.getTempDir(..) cannot determine executable temp directory on OSX 10.9 / Safari 7.0.
Comment 1 Sven Gothel 2013-10-23 06:32:09 CEST
OSX 10.9 / FF works though ..
Comment 2 Sven Gothel 2013-10-23 06:33:03 CEST
IOUtil.testDirExec: </var/folders/w5/mf8cm5c56ws6c2glx_m0q8c80000gp/T/WebKitPlugin-zY6yWp/jogamp_exe_tst7572851605035216314.sh>: Cannot run program "/private/var/folders/w5/mf8cm5c56ws6c2glx_m0q8c80000gp/T/WebKitPlugin-zY6yWp/jogamp_exe_tst7572851605035216314.sh": error=1, Operation not permitted
IOUtil.testFile: </Users/jogamp>: is not writable


.. this might be an issue w/ new version of WebKit.
Comment 3 Sven Gothel 2013-10-23 08:22:07 CEST
The 'exetst' File created via 'File.createTempFile("jogamp_exe_tst", getShellSuffix(), dir)'
exposed the following extended attributes on OSX 10.9 w/ Safari 7.0:

(08:13:56 AM) sgothel: charelle:log jogamp$ xattr -l ~/test/a.sh 
(08:13:56 AM) sgothel: com.apple.quarantine: 0006;52675f00;PluginProcess.app;
Comment 4 Karel Knoest 2013-10-23 15:27:43 CEST
Same problem occurs for Safari 6.1 on OSX 10.8. 

Trace log:
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
Comment 5 Sven Gothel 2013-10-23 16:49:29 CEST
    - IOUtil.getTempDir(..): Don't test executable caps on OSX for java_io_tmpdir
    
    - JarUtil.extract(..): Issue native fixNativeLibAttribs(..) on OSX for native library files,
                           i.e. remove xattr 'com.apple.quarantine'
Comment 6 Karel Knoest 2013-10-25 16:14:23 CEST
Hi Sven,

Thank you for looking into this bug this quickly. 

For fixing this issue on our side, I'm curious how to interpret your last post.

Looking forward to your feedback!

Best,
Knoest
Comment 7 Sven Gothel 2013-10-25 16:56:36 CEST
(In reply to comment #6)
> Hi Sven,
> 
> Thank you for looking into this bug this quickly. 
> 
> For fixing this issue on our side, I'm curious how to interpret your last
> post.
> 
> Looking forward to your feedback!
> 
> Best,
> Knoest

Sorry, my comment 5 is a summary (git commit message)
of JOGL commit fec9712b151ad31b053fe700cb0f809b9715407c

so it's not a recipe for you ..  :)

Read the JOGL git commit for details (source).
Comment 8 Karel Knoest 2013-10-28 09:12:45 CET
Ah, thanks... by bad, I was keeping an eye on the wrong project.

(In reply to comment #7)
> (In reply to comment #6)
> > Hi Sven,
> > 
> > Thank you for looking into this bug this quickly. 
> > 
> > For fixing this issue on our side, I'm curious how to interpret your last
> > post.
> > 
> > Looking forward to your feedback!
> > 
> > Best,
> > Knoest
> 
> Sorry, my comment 5 is a summary (git commit message)
> of JOGL commit fec9712b151ad31b053fe700cb0f809b9715407c
> 
> so it's not a recipe for you ..  :)
> 
> Read the JOGL git commit for details (source).
Comment 9 arioh 2014-10-08 13:29:58 CEST
It is broken again in 2.2.1. Tested on Windows XP + IE8
2.1.5 works fine