diff options
author | Sven Gothel <[email protected]> | 2020-02-22 15:11:17 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2020-02-22 15:11:17 +0100 |
commit | 78b96b89a68ff35969aea83de294cd3cc1178f26 (patch) | |
tree | a1c63979d777bb52b2e365bdd3fd7e62c99c410d /src/test-native/bug1398/test1398-jogamp232_java08-01.log | |
parent | ff780fc11602fb79a7ce1dcf879fdaeb865b9fa8 (diff) |
Bug 1398: Crash only occurs @ -[NSOpenGLContext setView:] when using XCode 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.
Diffstat (limited to 'src/test-native/bug1398/test1398-jogamp232_java08-01.log')
-rw-r--r-- | src/test-native/bug1398/test1398-jogamp232_java08-01.log | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/test-native/bug1398/test1398-jogamp232_java08-01.log b/src/test-native/bug1398/test1398-jogamp232_java08-01.log deleted file mode 100644 index 2c1e108a2..000000000 --- a/src/test-native/bug1398/test1398-jogamp232_java08-01.log +++ /dev/null @@ -1,88 +0,0 @@ -Bug1398macOSContextOpsOnMainThread.c:266:NSApplicationMain(): argv[2]: jvmlibjli /Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/MacOS/libjli.dylib -Bug1398macOSContextOpsOnMainThread.c:253:NSApplicationMain(): argv[4]: classpath arg -Djava.class.path=.:/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/jar/gluegen-rt.jar:/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/jar/jogl-all.jar -Bug1398macOSContextOpsOnMainThread.c:261:NSApplicationMain(): argv[6]: libpath arg -Djava.library.path=/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/lib/macosx-universal -Bug1398macOSContextOpsOnMainThread.c:275:NSApplicationMain(): main.1 -Bug1398macOSContextOpsOnMainThread.c:278:NSApplicationMain(): main.1.1 -2020-02-21 19:13:41.768 Bug1398macOSContextOpsOnMainThread[1045:20769] init -Bug1398macOSContextOpsOnMainThread.c:280:NSApplicationMain(): main.1.2 -Bug1398macOSContextOpsOnMainThread.c:282:NSApplicationMain(): main.1.3 -Bug1398macOSContextOpsOnMainThread.c:285:NSApplicationMain(): main.1.5 -Bug1398macOSContextOpsOnMainThread.c:184:create_jvm_thread(): create_jvm_thread.1.1 -Bug1398macOSContextOpsOnMainThread.c:192:create_jvm_thread(): create_jvm_thread.1.2 -Bug1398macOSContextOpsOnMainThread.c:196:create_jvm_thread(): create_jvm_thread.1.X -Bug1398macOSContextOpsOnMainThread.c:288:NSApplicationMain(): main.1.6 -Bug1398macOSContextOpsOnMainThread.c:61:launchJava(): launchJava.1.1 -Bug1398macOSContextOpsOnMainThread.c:76:launchJava(): launchJava.1.2 -Bug1398macOSContextOpsOnMainThread.c:77:launchJava(): .. using CLASSPATH -Djava.class.path=.:/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/jar/gluegen-rt.jar:/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/jar/jogl-all.jar -Bug1398macOSContextOpsOnMainThread.c:78:launchJava(): .. using LIBPATH -Djava.library.path=/Users/jogamp/projects/JogAmp/builds/v2.3.2/jogamp-all-platforms/lib/macosx-universal -Bug1398macOSContextOpsOnMainThread.c:39:create_vm(): Found libjli.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/MacOS/libjli.dylib -Bug1398macOSContextOpsOnMainThread.c:82:launchJava(): CreateVM:10884fb80 env:700006d99da8 vm_args:700006d99d68 -2020-02-21 19:13:41.829 Bug1398macOSContextOpsOnMainThread[1045:20769] App starting... -Bug1398macOSContextOpsOnMainThread.c:88:launchJava(): VM Created -Bug1398macOSContextOpsOnMainThread.c:91:launchJava(): launchJava.1.3 -2020-02-21 19:13:42.870 Bug1398macOSContextOpsOnMainThread[1045:20790] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from ( - 0 AppKit 0x00007fff2a3e0575 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 371 - 1 AppKit 0x00007fff2a3c7ed5 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416 - 2 AppKit 0x00007fff2a3c7947 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42 - 3 libnativewindow_macosx.jnilib 0x00000001229f53fe Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398 - 4 ??? 0x000000010ca4e667 0x0 + 4507100775 -) -Bug1398macOSContextOpsOnMainThread.c:98:launchJava(): launchJava.1.4 -Bug1398macOSContextOpsOnMainThread.c:103:launchJava(): launchJava.1.5 -Java version: 1.8 (1.8.0_192) -classloader:sun.misc.Launcher$AppClassLoader@764c12b6 -OS: Mac OS X 10.15.2 x86_64 -w:1920 h:1080 rr:60 bits:32 dim.w:800 dim.h:600 -gc.bounds: java.awt.Rectangle[x=0,y=0,width=1920,height=1080] -dim: java.awt.Dimension[width=1920,height=1080] -Thread[AWT-EventQueue-0,6,main] RedSquareES2.init: tileRendererInUse null on Thread[AWT-EventQueue-0,6,main] ------------------------------------------------------------------------------------------------------ -Platform: MACOS / Mac OS X 10.15.2 (10.15.2), x86_64 (X86_64, GENERIC_ABI), 4 cores, littleEndian true -MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment: - int8 1 / 1, int16 2 / 2 - int 4 / 4, long 8 / 8 - int32 4 / 4, int64 8 / 8 - float 4 / 4, double 8 / 8, ldouble 16 / 16 - pointer 8 / 8, page 4096 -Platform: Java Version: 1.8.0_192 (1.8.0u192), VM: Java HotSpot(TM) 64-Bit Server VM, Runtime: Java(TM) SE Runtime Environment -Platform: Java Vendor: Oracle Corporation, http://java.oracle.com/, JavaSE: true, Java6: true, AWT enabled: true ------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------ -Package: com.jogamp.opengl -Extension Name: com.jogamp.opengl -Specification Title: Java Bindings for OpenGL API Specification -Specification Vendor: JogAmp Community -Specification Version: 2.3 -Implementation Title: Java Bindings for OpenGL Runtime Environment -Implementation Vendor: JogAmp Community -Implementation Vendor ID: com.jogamp -Implementation URL: http://jogamp.org/ -Implementation Version: 2.3.2 -Implementation Build: 2.3-b1469-20151010 -Implementation Branch: origin/master -Implementation Commit: e794fc40ba723f2fca4ac892e873975fb393e007 ------------------------------------------------------------------------------------------------------ -Chosen GLCapabilities: GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono , hw, GLProfile[GL2/GL2.hw], offscr[fbo]] -INIT GL IS: jogamp.opengl.gl4.GL4bcImpl -Swap Interval 0 -GL Profile GLProfile[GL2/GL2.hw] -GL Version 2.1 (Compat profile, arb, compat[], FBO, hardware) - 2.1 INTEL-14.3.9 [GL 2.1.0, vendor 14.3.9 (INTEL-14.3.9)] -Quirks [NoOffscreenBitmap, GL4NeedsGL3Request, NeedSharedObjectSync] -Impl. class jogamp.opengl.gl4.GL4bcImpl -GL_VENDOR Intel Inc. -GL_RENDERER Intel Iris OpenGL Engine -GL_VERSION 2.1 INTEL-14.3.9 -GLSL true, has-compiler-func: true, version: 1.20 / 1.20.0 -GL FBO: basic true, full true -GL_EXTENSIONS 128 -GLX_EXTENSIONS 0 ------------------------------------------------------------------------------------------------------ -ShaderState: attachShaderProgram: -1 -> 1 (enable: true) - null - ShaderProgram[id=1, linked=false, inUse=false, program: 1, - ShaderCode[id=1, type=VERTEX_SHADER, valid=true, shader: 2, source] - ShaderCode[id=2, type=FRAGMENT_SHADER, valid=true, shader: 3, source]] -Thread[AWT-EventQueue-0,6,main] RedSquareES2.init FIN -Thread[AWT-EventQueue-0,6,main] RedSquareES2.reshape 0/0 800x600 of 800x600, swapInterval 1, drawable 0x7fe933379570, tileRendererInUse null -Thread[AWT-EventQueue-0,6,main] RedSquareES2.reshape FIN -2020-02-21 19:13:44.831 Bug1398macOSContextOpsOnMainThread[1045:20769] startUpCompletionOperation main thread? ANS - YES |