Bug 1231

Summary: Sporadic failure to end jogamp_exe_tst while determine 'executable temp directory' on Windows
Product: [JogAmp] Gluegen Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement CC: elect86, gouessej, spenna, xerxes
Priority: ---    
Version: 2.3.2   
Hardware: pc_x86_64   
OS: windows   
Type: --- SCM Refs:
0e723ff0866919cbc4ddfc3d7773c3485252eba3 a1009b450e68c083c0d3c56129602697a4f674d9
Workaround: ---
Bug Depends on: 1219    
Bug Blocks: 1365, 1367    
Attachments: test debug log
test debug log

Description Sven Gothel 2015-09-24 07:01:37 CEST
While working on Bug 1219,
the following has been observed on some Windows installations:
  [1] jogamp_exe_tst could be launched as a Process via ProcessBuilder
  [2] jogamp_exe_tst exit code is '1'
  [3] jogamp_exe_tst does not terminate and even survives the JVM

One system in question is described as:
  - Windows 10, 64 bits, Oracle jre/sdk 1.8.0_25.

  - Windows 8.1, 64 bits

  - Windows 7 64 bits Oracle jre/sdk 1.8.0_60.

  - Windows 7 Ultimate version 6.1.7600 (no updated) 2009,
    arch: "amd64",
    Java version: 1.8.0_60, vendor: Oracle Corporation,
    cpu: corei i7 860 2.8GHz, ram:8GB, video: radeon HD 5700

Tests were performed w/ enabled and disabled antivirus, firewall and defender.

The jogamp_exe_tst is build as follows:
  /cygdrive/c/mingw/bin/gcc -nodefaultlibs -nostdlib -s -Os -mwindows -o tiny-win32-i386.exe tiny.c
Comment 1 Xerxes RĂ„nby 2015-09-24 11:26:29 CEST
The source-code to tiny.c is found at:
http://jogamp.org/git/?p=gluegen.git;a=tree;f=src/native/tinype
http://jogamp.org/git/?p=gluegen.git;a=blob;f=src/native/tinype/tiny.c
As you all can see this executable is less complex compared to a c hello world.

It would be good to know if the tiny-win32-i386.exe have somehow been altered by the test system where the executable fails to terminate, if the executable is altered to make it run and never terminate then it may indicate that the test-system got a virus infection.
Comment 2 Sven Gothel 2015-09-24 15:00:33 CEST
commit 0e723ff0866919cbc4ddfc3d7773c3485252eba3:
    
- Use 'WinMain' for Windows test-executable
  This may have little difference than using std 'main' entry
    
- Add Windows x86_64 test executable
  Since the reporter claims the test executable works well
  on Windows i386, maybe utilizing a x86_64 test executable
  on same VM fixes the issue
    
- Use CustomInflate for Performance
  - Skips GZIP header
  - Adds own custom header [magic, deflate-size, inflate-size]
  - Own header allows simplified I/O read and deflation
Comment 3 Sven Gothel 2015-09-24 17:16:50 CEST
@ Spenna: Please test again with
<http://jogamp.org/deployment/archive/master/gluegen_895-joal_621-jogl_1447-jocl_1091/>

Thank you very much!
Comment 4 Sven Gothel 2015-09-24 18:33:01 CEST
commit a1009b450e68c083c0d3c56129602697a4f674d9:

- Usability of CustomCompress API incl zip-level
- Replace test-exe deflated files w/ zip-level 9
Comment 5 spenna 2015-09-25 02:41:37 CEST
Created attachment 747 [details]
test debug log

(In reply to Sven Gothel from comment #3)
> @ Spenna: Please test again with
> <http://jogamp.org/deployment/archive/master/gluegen_895-joal_621-jogl_1447-
> jocl_1091/>
> 
> Thank you very much!

I think it's good news!
I ran the test and it went well!
I did not have to kill any process and the temporary folder with the native lib was created.

See the debug test log attached (In this case, standard test).
Comment 6 spenna 2015-09-25 02:44:14 CEST
Created attachment 748 [details]
test debug log



This is the 2nd test debug and went well too.

In this test was used:

set D_ARGS="-Djogamp.debug=all" "-Dnativewindow.debug=all" "-Djogl.debug=all" "-Dnewt.debug=all" "-Djogamp.debug.IOUtil.Exe"

See debug test log attached.
Comment 7 Sven Gothel 2015-09-25 09:47:12 CEST
see comment 5 by reported, fixed