aboutsummaryrefslogtreecommitdiffstats
path: root/src/test-native/bug1398/run-bug1398.sh
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1398: Crash only occurs @ -[NSOpenGLContext setView:] when using XCode ↵Sven Gothel2020-02-221-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 11 _and_ its default SDK 'macosx10.15' This patch demonstrates that using the SDK 'macosx10.11' does not cause the crash @ -[NSOpenGLContext setView:]. SDK 'macosx10.15' enforces Apple's own Cargo Cult of 'main-thread' by throwing a SIGILL signal (or SIGABRT) - essentially an exception. This surely renders our code officially invalid due to this policy, i.e. we are not allowed to issue [* setView] on any non main-thread. +++ The crash occurs independently of used Java version on Java 8 - 11, as well as on JogAmp 2.3.2 - current master tip. +++ The initial remedy to issue said action on the main-thread in a blocking/wait manner has the risk to deadlock, due to 1) [NSOpenGLContext setView:] itself using a mutex (Thanks to Ken Harris's analysis) and (2) in case where we are 'thread hopping': - [main-thread] Event like 'window ready' -> kick off action on EDT-thread *blocking* - [EDT-thread] Create stuff incl OpenGLContext -> kick off setView on main-thread *blocking* This has to be further investigated. This crash finally has been reliably reproduced now.
* Bug 1398: Refine test case: Make classpath and libpath runtime configurable ↵Sven Gothel2020-02-211-11/+15
| | | | + show JOGL version
* Bug 1398: Fixing native test allowing its execution using JOGL 2.3.2 and ↵Sven Gothel2020-02-211-0/+16
latest tip using XCode 11 Changes to test - Using own 'NSApplicationMain' entry to avoid the 'missing Info.plist' message! - Configurable CLASSPATH and LIBPATH at compile time. Note that the java.library.path is now hardcoded as well. - Don't close stderr in test, just fflush - Don't close the JVM after launch via 'die(env)', let it run. - Java: Add GLEventListener RedSquareES2 to see something in action @ 30fps - Java: GLCanvase visible bounds