<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1103</bug_id>
          
          <creation_ts>2014-11-18 11:44:19 +0100</creation_ts>
          <short_desc>UnsatisfiedLinkError caused by Process.exitValue() from testDirExec() returning 1</short_desc>
          <delta_ts>2019-03-29 17:54:46 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>2.3.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>1108</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>---</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>908</dependson>
    
    <dependson>1015</dependson>
    
    <dependson>1063</dependson>
    
    <dependson>1067</dependson>
          <blocked>1109</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Rene">rene</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>sgothel</cc>
          
          <cf_type>---</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>4448</commentid>
    <comment_count>0</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-11-18 11:44:19 +0100</bug_when>
    <thetext>A spanish/portuguese user on windows get this stack trace. From a quick google this C:\Documents and Settings\Alex2.0\Configuraci?n local\ is actually: \Configuración local\

I&apos;m left wondering if this is a Jogl bug or a Java bug, but I thought it would file it here as it came from the JNILibLoaderBase class.

java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Alex2.0\Configuraci?n local\Temp\jogamp_0000\file_cache\jln8945035217648709904\jln3351519959519145075\gluegen-rt.dll: Can&apos;t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
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.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:575)
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:459)
at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
at com.jogamp.common.os.Platform$1.run(Platform.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at com.jogamp.common.os.Platform.&lt;clinit&gt;(Platform.java:179)
at javax.media.opengl.GLProfile.&lt;clinit&gt;(GLProfile.java:120)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4449</commentid>
    <comment_count>1</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-11-18 12:42:12 +0100</bug_when>
    <thetext>Hmm on second thought I cannot get this to break locally, so maybe it&apos;s not actually a jogamp bug at all. The user is also running Windows XP which technically isn&apos;t even supported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4467</commentid>
    <comment_count>2</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-12-07 03:13:38 +0100</bug_when>
    <thetext>Do you use the latest GlueGen / JOGL release ?

This should be fixed by:
  - Bug  908  URI escaping of reserved character accurately
  - Bug 1015  Window exec. TEMP dir
  - Bug 1063  Own Uri Impl.
  - Bug 1067  SPACE preservation, Windows

All fixes are released in current git source repos,
as well as in aggregated test build:
  &lt;https://jogamp.org/deployment/archive/master/gluegen_838-joal_570-jogl_1366-jocl_1026-signed/&gt;

Please confirm, and if fixed - please mark as duplicate to .. Bug 908 and/or 1067,
i.e. close it.

Otherwise .. pls report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4473</commentid>
    <comment_count>3</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-12-10 13:40:35 +0100</bug_when>
    <thetext>Hey,

I have another user who has gotten back to me and they are on Windows 7 and using 2.2.4.

It looks like Process.exitValue() from testDirExec() returns 1. I guess it&apos;s a shame because 1 means very little other than generic error. Out of curiosity why is it trying to launch a process to determine whether it is executable?

His directory also seems to contain a special character &quot;&amp;&quot;, but that could also be unrelated.

Here&apos;s the user trace with -Djogamp.debug.IOUtil:
IOUtil.getTempRoot(): tempX1 &lt;C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin&gt;, used true
IOUtil.getTempRoot(): tempX3 &lt;C:\Users\GARBBA~1\AppData\Local\Temp&gt;, used true
IOUtil.getTempRoot(): tempX4 &lt;C:\Users\Garbbane&amp;Viduksht&gt;, used true
IOUtil.getTempRoot(): tempX2 &lt;null&gt;, used false
IOUtil.testDirExec(): &lt;C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin&gt;: res 1
IOUtil.testDirExec(): total 1872ms, create 0ms, execute 1872ms
IOUtil.testDirImpl(tempX1): &lt;C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin&gt;, create true, exec true: false
IOUtil.testDirExec(): &lt;C:\Users\GARBBA~1\AppData\Local\Temp&gt;: res 1
IOUtil.testDirExec(): total 31ms, create 16ms, execute 15ms
IOUtil.testDirImpl(tempX3): &lt;C:\Users\GARBBA~1\AppData\Local\Temp&gt;, create true, exec true: false
IOUtil.testDirExec(): &lt;C:\Users\Garbbane&amp;Viduksht&gt;: res 1
IOUtil.testDirExec(): total 16ms, create 0ms, execute 16ms
IOUtil.testDirImpl(tempX4): &lt;C:\Users\Garbbane&amp;Viduksht&gt;, create true, exec true: false
IOUtil.testDirImpl(temp01): &lt;C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin&gt;, create true, exec false: true
IOUtil.testDirImpl(temp01): &lt;C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin\jogamp_0000&gt;, create true, exec false: true
IOUtil.getTempRoot(): temp dirs: exec: null, noexec: C:\Users\Garbbane&amp;Viduksht\AppData\Roaming\.huntedcowcache\eldevin\jogamp_0000
Warning: Caught Exception while retrieving executable temp base directory:
java.lang.RuntimeException: Could not determine a temporary executable directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4474</commentid>
    <comment_count>4</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-12-10 13:57:29 +0100</bug_when>
    <thetext>It looks like the original stack trace was a different issue, do you want me to close this one as invalid and open a new ticket?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4475</commentid>
    <comment_count>5</comment_count>
      <attachid>671</attachid>
    <who name="Rene">rene</who>
    <bug_when>2014-12-10 15:11:27 +0100</bug_when>
    <thetext>Created attachment 671
Simple Testcase

I&apos;ve attached a simple test case demonstrating that windows requires quotes around commands that have special characters like &amp;&lt;&gt;()@^|

You can find out the exact syntax from the cmd /? or command /? in a windows command prompt.

Let me know if you want me to clean it up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4478</commentid>
    <comment_count>6</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-12-11 18:49:26 +0100</bug_when>
    <thetext>I have got another user who also gets error code 1 for some reason and am looking into that as well. In fact Files.isExecutable(directory) available in Java 7+ returns true for him on the directory in question.

I&apos;m trying to see if he can execute batch files at all as there is some information suggesting that batch files can fail to run if the file associations/registry entries get in a broken state but nothing so far.

Relevant stack trace:
IOUtil.getTempRoot(): tempX1 &lt;C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin&gt;, used true
IOUtil.getTempRoot(): tempX3 &lt;C:\Users\Josh\AppData\Local\Temp&gt;, used true
IOUtil.getTempRoot(): tempX4 &lt;C:\Users\Josh&gt;, used true
IOUtil.getTempRoot(): tempX2 &lt;null&gt;, used false
IOUtil.testDirExec(): &lt;C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin&gt;: res 1
IOUtil.testDirExec(): total 82ms, create 1ms, execute 81ms
IOUtil.testDirImpl(tempX1): &lt;C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin&gt;, create true, exec true: false
IOUtil.testDirExec(): &lt;C:\Users\Josh\AppData\Local\Temp&gt;: res 1
IOUtil.testDirExec(): total 95ms, create 0ms, execute 95ms
IOUtil.testDirImpl(tempX3): &lt;C:\Users\Josh\AppData\Local\Temp&gt;, create true, exec true: false
IOUtil.testDirExec(): &lt;C:\Users\Josh&gt;: res 1
IOUtil.testDirExec(): total 104ms, create 0ms, execute 104ms
IOUtil.testDirImpl(tempX4): &lt;C:\Users\Josh&gt;, create true, exec true: false
IOUtil.testDirImpl(temp01): &lt;C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin&gt;, create true, exec false: true
IOUtil.testDirImpl(temp01): &lt;C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin\jogamp_0000&gt;, create true, exec false: true
IOUtil.getTempRoot(): temp dirs: exec: null, noexec: C:\Users\Josh\AppData\Roaming\.huntedcowcache\eldevin\jogamp_0000
Warning: Caught Exception while retrieving executable temp base directory:
java.lang.RuntimeException: Could not determine a temporary executable directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4530</commentid>
    <comment_count>7</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2015-01-23 01:08:54 +0100</bug_when>
    <thetext>(In reply to comment #6)
&gt; I have got another user who also gets error code 1 for some reason and am
&gt; looking into that as well. In fact Files.isExecutable(directory) available
&gt; in Java 7+ returns true for him on the directory in question.
&gt; 

Files.isExecutable(..) is not a sufficient test.

&gt; I&apos;m trying to see if he can execute batch files at all as there is some
&gt; information suggesting that batch files can fail to run if the file
&gt; associations/registry entries get in a broken state but nothing so far.

Bug 1108 addresses issues with Windows setup and 
BATCH file execution tests, i.e. fix uses a native TinyPE program
for Windows x86 and x86_64.

This should solve the issue.

Nothing more we can do here .. I am afraid.

If problem still persist, please re-open and add more information.

Note: Wait for next aggregated build for binaries,
or build yourself (GlueGen + JOGL).

*** This bug has been marked as a duplicate of bug 1108 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>671</attachid>
            <date>2014-12-10 15:11:27 +0100</date>
            <delta_ts>2014-12-10 15:11:27 +0100</delta_ts>
            <desc>Simple Testcase</desc>
            <filename>TestExecWindows.java</filename>
            <type>application/octet-stream</type>
            <size>1459</size>
            <attacher name="Rene">rene</attacher>
            
              <data encoding="base64">aW1wb3J0IGphdmEuaW8uRmlsZTsNCmltcG9ydCBqYXZhLmlvLkZpbGVXcml0ZXI7DQppbXBvcnQg
amF2YS5pby5JT0V4Y2VwdGlvbjsNCg0KcHVibGljIGNsYXNzIFRlc3RFeGVjV2luZG93cw0Kew0K
DQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykNCgl7CQ0KCQlGaWxlIHRl
c3REaXIgPSBuZXcgRmlsZSgidGVzdCZtZSIgKyBGaWxlLnNlcGFyYXRvcik7DQoJCQ0KCQlpZiAo
IXRlc3REaXIuZXhpc3RzKCkpIHsNCgkJCXRlc3REaXIubWtkaXJzKCk7DQogICAgICAgIH0NCgkJ
DQoJCUZpbGUgdGVzdEZpbGUgPSBudWxsOw0KCQl0cnkNCgkJew0KCQkJdGVzdEZpbGUgPSBGaWxl
LmNyZWF0ZVRlbXBGaWxlKCJ0ZXN0IiwgIi5iYXQiLCB0ZXN0RGlyKTsNCgkJfQ0KCQljYXRjaChJ
T0V4Y2VwdGlvbiBlKQ0KCQl7DQoJCQllLnByaW50U3RhY2tUcmFjZSgpOw0KCQkJcmV0dXJuOw0K
CQl9DQoJCQ0KICAgICAgICB0cnkNCgkJew0KICAgICAgICAJZmluYWwgRmlsZVdyaXRlciBmb3V0
ID0gbmV3IEZpbGVXcml0ZXIodGVzdEZpbGUpOw0KCQkJZm91dC53cml0ZSgiZWNobyBvZmYiICsg
U3lzdGVtLmxpbmVTZXBhcmF0b3IoKSk7DQoJCQlmb3V0LmNsb3NlKCk7DQoJCX0NCgkJY2F0Y2go
SU9FeGNlcHRpb24gZTEpDQoJCXsNCgkJCWUxLnByaW50U3RhY2tUcmFjZSgpOw0KCQl9DQoJCQ0K
CQlTdHJpbmcgY2Fub25pY2FsUGF0aCA9IG51bGw7DQoJCXRyeQ0KCQl7DQoJCQljYW5vbmljYWxQ
YXRoID0gdGVzdEZpbGUuZ2V0Q2Fub25pY2FsUGF0aCgpOw0KCQl9DQoJCWNhdGNoKElPRXhjZXB0
aW9uIGUpDQoJCXsNCgkJCWUucHJpbnRTdGFja1RyYWNlKCk7DQoJCQlyZXR1cm47DQoJCX0NCgkJ
DQoJCXRlc3RFeGVjKGNhbm9uaWNhbFBhdGgpOw0KCQl0ZXN0RXhlYygiXCIiICsgY2Fub25pY2Fs
UGF0aCArICJcIiIpOw0KCX0NCgkNCglwcml2YXRlIHN0YXRpYyBib29sZWFuIHRlc3RFeGVjKFN0
cmluZyBleGVjQ29tbWFuZCkNCgl7DQoJCVByb2Nlc3MgcHIgPSBudWxsOw0KCQl0cnkNCgkJew0K
CQkJU3lzdGVtLm91dC5wcmludGxuKCJDb21tYW5kOiAiICsgZXhlY0NvbW1hbmQpOw0KCQkJcHIg
PSBSdW50aW1lLmdldFJ1bnRpbWUoKS5leGVjKGV4ZWNDb21tYW5kKTsNCgkJCXByLndhaXRGb3Io
KTsNCgkJfQ0KCQljYXRjaChJT0V4Y2VwdGlvbiBlKQ0KCQl7DQoJCQllLnByaW50U3RhY2tUcmFj
ZSgpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCWNhdGNoKEludGVycnVwdGVkRXhjZXB0aW9u
IGUpDQoJCXsNCgkJCWUucHJpbnRTdGFja1RyYWNlKCk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0N
CiAgICAgICAgDQogICAgICAgIGludCByZXMgPSBwci5leGl0VmFsdWUoKTsNCiAgICAgICAgDQog
ICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUmVzdWx0OiAiICsgcmVzKTsNCiAgICAgICAgDQog
ICAgICAgIHJldHVybiByZXMgPT0gMDsNCgl9DQoNCn0NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>