Suddenly jogl crashes

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Suddenly jogl crashes

eazycncn
Hi,

I have an application that runs fine on my High Sierra but crashes on a customers Catalina Mac.

This application has been running without problems for years and the recent code changes have been minimal and very unlikely to explain the crash and previous versions run fine on Catalina.

Below is the crashed thread dump.

Any idea how to debug this further?

Anything here that rings a bell?

On my machine I get following on the console, could that be related?

WARNING: Illegal reflective access by eazycnc.Main (file:/Users/nyholku/EazyCNC-Project/classes/) to method com.apple.eawt.FullScreenUtilities.setWindowCanFullScreen(java.awt.Window,boolean)

I've got that message for years and it has never manifested any problems.

wbr Kusti

This is the jogl version info:

-----------------------------------------------------------------------------------------------------
Package: com.jogamp.opengl
Extension Name: com.jogamp.opengl
Specification Title: Java Bindings for OpenGL API Specification
Specification Vendor: JogAmp Community
Specification Version: 2.4
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.4.0-rc-20190108
Implementation Build: 2.4-bmanual-20190108
Implementation Branch: java-11-fixes
Implementation Commit: 53402d8a066fa9f8e103388637f166335ca6908d
-----------------------------------------------------------------------------------------------------


And this is the crash log.

Thread 31 Crashed:: Java: AWT-EventQueue-0
0   libsystem_kernel.dylib         0x00007fff6950b33a __pthread_kill + 10
1   libsystem_pthread.dylib       0x00007fff695cbe60 pthread_kill + 430
2   libsystem_c.dylib             0x00007fff69492808 abort + 120
3   libc++abi.dylib               0x00007fff666f9458 abort_message + 231
4   libc++abi.dylib               0x00007fff666ea8bf demangling_terminate_handler() + 262
5   libobjc.A.dylib               0x00007fff68225a57 _objc_terminate() + 96
6   libc++abi.dylib               0x00007fff666f8887 std::__terminate(void (*)()) + 8
7   libc++abi.dylib               0x00007fff666fb1a2 __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
8   libc++abi.dylib               0x00007fff666fb169 __cxa_throw + 113
9   libobjc.A.dylib               0x00007fff68223bcc objc_exception_throw + 350
10  com.apple.CoreFoundation       0x00007fff2f3470ac -[NSException raise] + 9
11  com.apple.AppKit               0x00007fff2c52f5ec -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 310
12  com.apple.AppKit               0x00007fff2c517052 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416
13  com.apple.AppKit               0x00007fff2c516ac3 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
14  libnativewindow_macosx.jnilib 0x000000016621d4b9 Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 377
15  ???                           0x000000010ca878d0 0 + 4507334864
16  ???                           0x000000010ca81790 0 + 4507309968
17  ???                           0x000000010ca81790 0 + 4507309968
18  ???                           0x000000010ca81cec 0 + 4507311340
19  ???                           0x000000010ca81cec 0 + 4507311340
20  ???                           0x000000010ca81cec 0 + 4507311340
21  ???                           0x000000010ca81a00 0 + 4507310592
22  ???                           0x000000010ca81a00 0 + 4507310592
23  ???                           0x000000010ca81a00 0 + 4507310592
24  ???                           0x000000010ca81450 0 + 4507309136
25  ???                           0x000000010ca81450 0 + 4507309136
26  ???                           0x000000010ca81450 0 + 4507309136
27  ???                           0x000000010ca81450 0 + 4507309136
28  ???                           0x000000010ca81ca7 0 + 4507311271
29  ???                           0x000000010ca78849 0 + 4507273289
30  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
31  libjvm.dylib                   0x0000000105f18795 JVM_DoPrivileged + 1747
32  ???                           0x00000001145ad992 0 + 4636465554
33  ???                           0x000000010ca81a00 0 + 4507310592
34  ???                           0x000000010ca81ca7 0 + 4507311271
35  ???                           0x000000010ca81a00 0 + 4507310592
36  ???                           0x000000010ca81a00 0 + 4507310592
37  ???                           0x000000010ca81a00 0 + 4507310592
38  ???                           0x000000010ca81a00 0 + 4507310592
39  ???                           0x000000010ca81ae2 0 + 4507310818
40  ???                           0x000000010ca81a00 0 + 4507310592
41  ???                           0x000000010ca81a00 0 + 4507310592
42  ???                           0x000000010ca81ca7 0 + 4507311271
43  ???                           0x000000010ca81ca7 0 + 4507311271
44  ???                           0x000000010ca81cec 0 + 4507311340
45  ???                           0x000000010ca81cec 0 + 4507311340
46  ???                           0x000000010ca81ca7 0 + 4507311271
47  ???                           0x000000010ca81a00 0 + 4507310592
48  ???                           0x000000010ca78849 0 + 4507273289
49  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
50  libjvm.dylib                   0x0000000105f18795 JVM_DoPrivileged + 1747
51  ???                           0x000000010ca878d0 0 + 4507334864
52  ???                           0x000000010ca81a00 0 + 4507310592
53  ???                           0x000000010ca81ae2 0 + 4507310818
54  ???                           0x000000010ca81ca7 0 + 4507311271
55  ???                           0x000000010ca81ca7 0 + 4507311271
56  ???                           0x000000010ca81ca7 0 + 4507311271
57  ???                           0x000000010ca81ca7 0 + 4507311271
58  ???                           0x000000010ca81ca7 0 + 4507311271
59  ???                           0x000000010ca81ca7 0 + 4507311271
60  ???                           0x000000010ca78849 0 + 4507273289
61  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
62  libjvm.dylib                   0x0000000105e9d07e JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*) + 238
63  libjvm.dylib                   0x0000000105e9d13a JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*) + 98
64  libjvm.dylib                   0x0000000105f211dc thread_entry(JavaThread*, Thread*) + 120
65  libjvm.dylib                   0x00000001061f00e8 JavaThread::thread_main_inner() + 130
66  libjvm.dylib                   0x00000001061eff33 JavaThread::run() + 419
67  libjvm.dylib                   0x00000001061edfa8 Thread::call_run() + 96
68  libjvm.dylib                   0x00000001060f2da3 thread_native_entry(Thread*) + 313
69  libsystem_pthread.dylib       0x00007fff695cc109 _pthread_start + 148
70  libsystem_pthread.dylib       0x00007fff695c7b8b thread_start + 15

Reply | Threaded
Open this post in threaded view
|

Re: Suddenly jogl crashes

Xerxes Rånby
On previous versions of macosx mojave there was a warning on window creation if the window was created on the wrong thread.
"
2019-12-27 17:25:03.285 java[98680:16302000] pid(98680)/euid(501) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!
2019-12-27 17:25:03.810 java[98680:16302000] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from (
0 AppKit 0x00007fff31967607 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 378
1 AppKit 0x00007fff319649f7 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1479
2 AppKit 0x00007fff3196442a -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
3 libnativewindow_macosx.jnilib 0x000000011dc113fe Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398
"

it looks like macos x have started to throw the exception as you observed.


i notice from your email that you use
Implementation Version: 2.4.0-rc-20190108

can you try use jogamp jogl v2.4.0-rc-20200307



Den lör 10 okt. 2020 kl 19:43 skrev eazycncn [via jogamp] <[hidden email]>:
Hi,

I have an application that runs fine on my High Sierra but crashes on a customers Catalina Mac.

This application has been running without problems for years and the recent code changes have been minimal and very unlikely to explain the crash and previous versions run fine on Catalina.

Below is the crashed thread dump.

Any idea how to debug this further?

Anything here that rings a bell?

On my machine I get following on the console, could that be related?

WARNING: Illegal reflective access by eazycnc.Main (file:/Users/nyholku/EazyCNC-Project/classes/) to method com.apple.eawt.FullScreenUtilities.setWindowCanFullScreen(java.awt.Window,boolean)

I've got that message for years and it has never manifested any problems.

wbr Kusti

This is the jogl version info:

-----------------------------------------------------------------------------------------------------
Package: com.jogamp.opengl
Extension Name: com.jogamp.opengl
Specification Title: Java Bindings for OpenGL API Specification
Specification Vendor: JogAmp Community
Specification Version: 2.4
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.4.0-rc-20190108
Implementation Build: 2.4-bmanual-20190108
Implementation Branch: java-11-fixes
Implementation Commit: 53402d8a066fa9f8e103388637f166335ca6908d
-----------------------------------------------------------------------------------------------------


And this is the crash log.

Thread 31 Crashed:: Java: AWT-EventQueue-0
0   libsystem_kernel.dylib         0x00007fff6950b33a __pthread_kill + 10
1   libsystem_pthread.dylib       0x00007fff695cbe60 pthread_kill + 430
2   libsystem_c.dylib             0x00007fff69492808 abort + 120
3   libc++abi.dylib               0x00007fff666f9458 abort_message + 231
4   libc++abi.dylib               0x00007fff666ea8bf demangling_terminate_handler() + 262
5   libobjc.A.dylib               0x00007fff68225a57 _objc_terminate() + 96
6   libc++abi.dylib               0x00007fff666f8887 std::__terminate(void (*)()) + 8
7   libc++abi.dylib               0x00007fff666fb1a2 __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
8   libc++abi.dylib               0x00007fff666fb169 __cxa_throw + 113
9   libobjc.A.dylib               0x00007fff68223bcc objc_exception_throw + 350
10  com.apple.CoreFoundation       0x00007fff2f3470ac -[NSException raise] + 9
11  com.apple.AppKit               0x00007fff2c52f5ec -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 310
12  com.apple.AppKit               0x00007fff2c517052 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416
13  com.apple.AppKit               0x00007fff2c516ac3 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
14  libnativewindow_macosx.jnilib 0x000000016621d4b9 Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 377
15  ???                           0x000000010ca878d0 0 + 4507334864
16  ???                           0x000000010ca81790 0 + 4507309968
17  ???                           0x000000010ca81790 0 + 4507309968
18  ???                           0x000000010ca81cec 0 + 4507311340
19  ???                           0x000000010ca81cec 0 + 4507311340
20  ???                           0x000000010ca81cec 0 + 4507311340
21  ???                           0x000000010ca81a00 0 + 4507310592
22  ???                           0x000000010ca81a00 0 + 4507310592
23  ???                           0x000000010ca81a00 0 + 4507310592
24  ???                           0x000000010ca81450 0 + 4507309136
25  ???                           0x000000010ca81450 0 + 4507309136
26  ???                           0x000000010ca81450 0 + 4507309136
27  ???                           0x000000010ca81450 0 + 4507309136
28  ???                           0x000000010ca81ca7 0 + 4507311271
29  ???                           0x000000010ca78849 0 + 4507273289
30  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
31  libjvm.dylib                   0x0000000105f18795 JVM_DoPrivileged + 1747
32  ???                           0x00000001145ad992 0 + 4636465554
33  ???                           0x000000010ca81a00 0 + 4507310592
34  ???                           0x000000010ca81ca7 0 + 4507311271
35  ???                           0x000000010ca81a00 0 + 4507310592
36  ???                           0x000000010ca81a00 0 + 4507310592
37  ???                           0x000000010ca81a00 0 + 4507310592
38  ???                           0x000000010ca81a00 0 + 4507310592
39  ???                           0x000000010ca81ae2 0 + 4507310818
40  ???                           0x000000010ca81a00 0 + 4507310592
41  ???                           0x000000010ca81a00 0 + 4507310592
42  ???                           0x000000010ca81ca7 0 + 4507311271
43  ???                           0x000000010ca81ca7 0 + 4507311271
44  ???                           0x000000010ca81cec 0 + 4507311340
45  ???                           0x000000010ca81cec 0 + 4507311340
46  ???                           0x000000010ca81ca7 0 + 4507311271
47  ???                           0x000000010ca81a00 0 + 4507310592
48  ???                           0x000000010ca78849 0 + 4507273289
49  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
50  libjvm.dylib                   0x0000000105f18795 JVM_DoPrivileged + 1747
51  ???                           0x000000010ca878d0 0 + 4507334864
52  ???                           0x000000010ca81a00 0 + 4507310592
53  ???                           0x000000010ca81ae2 0 + 4507310818
54  ???                           0x000000010ca81ca7 0 + 4507311271
55  ???                           0x000000010ca81ca7 0 + 4507311271
56  ???                           0x000000010ca81ca7 0 + 4507311271
57  ???                           0x000000010ca81ca7 0 + 4507311271
58  ???                           0x000000010ca81ca7 0 + 4507311271
59  ???                           0x000000010ca81ca7 0 + 4507311271
60  ???                           0x000000010ca78849 0 + 4507273289
61  libjvm.dylib                   0x0000000105e9dc18 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 538
62  libjvm.dylib                   0x0000000105e9d07e JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*) + 238
63  libjvm.dylib                   0x0000000105e9d13a JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*) + 98
64  libjvm.dylib                   0x0000000105f211dc thread_entry(JavaThread*, Thread*) + 120
65  libjvm.dylib                   0x00000001061f00e8 JavaThread::thread_main_inner() + 130
66  libjvm.dylib                   0x00000001061eff33 JavaThread::run() + 419
67  libjvm.dylib                   0x00000001061edfa8 Thread::call_run() + 96
68  libjvm.dylib                   0x00000001060f2da3 thread_native_entry(Thread*) + 313
69  libsystem_pthread.dylib       0x00007fff695cc109 _pthread_start + 148
70  libsystem_pthread.dylib       0x00007fff695c7b8b thread_start + 15




If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/Suddenly-jogl-crashes-tp4040841.html
To start a new topic under jogl, email [hidden email]
To unsubscribe from jogamp, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: Suddenly jogl crashes

Xerxes Rånby
This post was updated on .
Starting with macos x 10.10+ there is an api to shedule work on the main thread from
any background thread, similar to Swing SwingUtilities and OpenJFX Platform run queues,
https://developer.apple.com/documentation/dispatch/1452921-dispatch_get_main_queue?language=objc

https://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html#//apple_ref/doc/uid/TP40008091-CH102-SW15

so to fix the issue for the latest macosx update nativewindow native code
has to use this api to get the dispatch_get_main_queue and shedule all
window operations to be sent to that queue.
this of course would break compatibility with macosx before 10.10 where this
API do not exist.
Reply | Threaded
Open this post in threaded view
|

Re: Suddenly jogl crashes

Xerxes Rånby
This post was updated on .
please see https://jogamp.org/bugzilla/show_bug.cgi?id=1398 
this bug, that all mac os x window updates must be done on the main thread, is one of the current release blockers for jogamp jogl 2.4

the latest change to fix this issue was added 2020-06-15 01:21:44
https://jogamp.org/cgit/jogl.git/log/

i do not think we have a test build that include the very last fixes. you may need to try compile jogl if the last testbuild do not solve your issue.
Reply | Threaded
Open this post in threaded view
|

Re: Suddenly jogl crashes

eazycncn
In reply to this post by Xerxes Rånby
>
> i notice from your email that you use
> Implementation Version: 2.4.0-rc-20190108
>
> can you try use jogamp jogl v2.4.0-rc-20200307
> https://jogamp.org/deployment/v2.4.0-rc-20200307/
>

I got confirmation from the user and I tried it myself on Catalina
and I can confirm that the culprit was Catalina and that the
jogamp jogl v2.4.0-rc-20200307 fixed the problem.

Brilliant, thank you very much for this and all the work that
the jogl people do!

I have not tested jogamp jogl v2.4.0-rc-20200307 on Windows or Linux yet.

And I love the fat jar!!

wbr Kusti