<?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>1365</bug_id>
          
          <creation_ts>2019-03-29 15:27:01 +0100</creation_ts>
          <short_desc>Frozen process or similar when deflating or launching the test-executable-file to determine &apos;executable temp base directory&apos; on Windows</short_desc>
          <delta_ts>2019-03-30 04:16:56 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Gluegen</product>
          <component>core</component>
          <version>2.4.0</version>
          <rep_platform>pc_x86_32</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>1219</dependson>
    
    <dependson>1231</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>katarzyna.kubrycht</cc>
          
          <cf_type>DEFECT</cf_type>
          <cf_scm_refs>e7ac6b284eb3515f552cba491c43efe75f0a4eba
4375d2824ac6ff656df184ea0c19ab781e3524e8
0c567321c6d594ec11edfd3aa848a0a634c544ef</cf_scm_refs>
          <cf_workaround>TRUE</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>6126</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-03-29 15:27:01 +0100</bug_when>
    <thetext>(Continuation of bug 1219 and bug 1231)

On certain Windows platforms, depending on the installed anti-virus or security technology, the process deflating or launching the windows-test-executable-file gets frozen.

This might occur due to a false positive of a Virus Scanner or other interactions by &apos;security tools&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6127</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-03-29 15:29:28 +0100</bug_when>
    <thetext>Commit e7ac6b284eb3515f552cba491c43efe75f0a4eba

Adding &apos;jogamp.gluegen.TestTempDirExec&apos; property, allowing to disable testing executable of temp dir

This also avoids trying to unpack the test executable on Windows,
which may cause a virus scanner to halt the process or otherwise cause issues.

+++

Commit 4375d2824ac6ff656df184ea0c19ab781e3524e8

Bug 1219, Bug 1231: Avoid deflating test-exe on Windows using java.nio.file.Files.isExecutable(Path)
    
Attempt to resolved virus scanner false positive detection on Windows
while deflating the native code test-exe file in the temporary folder.
    
As Julien Gouesse suggested, using Java 1.7&apos;s java.nio.file.Files.isExecutable(Path)
_may_ resolve the issue, this has to be thorougly tested.
    
This patch favors the nio&apos;s isExecutable file&apos;s ACL test
over the more intrusive execution itself using a simple shell script file w/ set executable flag.
    
Mind that previous tests allowed the shell script&apos;s execution,
even if the temp folder did not allow execution of native code.
    
We have to see how our testing results will be on this attempt.

+++

Commit 0c567321c6d594ec11edfd3aa848a0a634c544ef

Bug 1219, Bug 1231: Re-add executable test by execution
    
Re-adding executable test by execution is required for &apos;blocker technology&apos;
like Windows&apos;s &apos;Software Restriction Policies (SRP)&apos;,
which only gets activated by the actual execution attempt.
Merely testing the file&apos;s (ACL) execution flags via NIO&apos;s isExecutable is not sufficient.

Implementation first tests the file&apos;s (ACL) execution flags via NIO&apos;s isExecutable.
If the NIO test was successful or not available, the actual execution test is performed.

To mitigate the virus scanner&apos;s false positive, we use an executable shell script
per default now, which may be overriden by the new environment &apos;jogamp.gluegen.UseNativeExeFile=true&apos;

Tested on GNU/Linux with one temp folder having mount options &apos;noexec&apos;
and on Windows using Software Restriction Policies (SRP) disallowing one temp folder.
Both temp folder were first in line via environment &apos;java.io.tmpdir&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6165</commentid>
    <comment_count>2</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-03-30 04:16:56 +0100</bug_when>
    <thetext>*** Bug 1308 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>