dorkbox / SystemTray

Cross-platform SystemTray support for Swing/AWT, macOS, GtkStatusIcon, and AppIndicator on Java 8+
Other
441 stars 58 forks source link

jvm crashes on Ubuntu 22.04.1 LTS and OpenJDK 17 #216

Open SDE-Manvendra opened 2 months ago

SDE-Manvendra commented 2 months ago

Hi,

Thanks for this beautiful library. When I execute the Jar, it works for few minutes and then after sometime when I click on try-icon, the jvm crashed.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007e2b14097ef4, pid=88759, tid=88802
#
# JRE version: OpenJDK Runtime Environment (17.0.11+9) (build 17.0.11+9-Ubuntu-122.04.1)
# Java VM: OpenJDK 64-Bit Server VM (17.0.11+9-Ubuntu-122.04.1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libc.so.6+0x97ef4]  pthread_mutex_lock+0x4
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/dev/core.88759)
#
# If you would like to submit a bug report, please visit:
#   https://bugs.launchpad.net/ubuntu/+source/openjdk-17
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: /home/dev/tms-tracker/tms-time-tracker.jar

Host: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz, 4 cores, 15G, Ubuntu 22.04.1 LTS
Time: Thu Aug  1 11:31:11 2024 IST elapsed time: 638.518700 seconds (0d 0h 10m 38s)

---------------  T H R E A D  ---------------

Current thread (0x00007e2a30106d30):  JavaThread "JavaFX Application Thread" [_thread_in_native, id=88802, stack(0x00007e2a25bfc000,0x00007e2a25cfc000)]

Stack: [0x00007e2a25bfc000,0x00007e2a25cfc000],  sp=0x00007e2a25cf6f58,  free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x97ef4]  pthread_mutex_lock+0x4

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.glass.ui.gtk.GtkApplication._runLoop(Ljava/lang/Runnable;Z)V+0
j  com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(Ljava/lang/Runnable;Z)V+7
j  com.sun.glass.ui.gtk.GtkApplication$$Lambda$498+0x00007e2a9032d668.run()V+12
j  java.lang.Thread.run()V+11 java.base@17.0.11
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000010

Registers:
RAX=0x00007e2addee7210, RBX=0x00007e2b0c29b610, RCX=0x000000000000008c, RDX=0x00007e2a25cf6fd0
RSP=0x00007e2a25cf6f58, RBP=0x00007e2a25cf6fc0, RSI=0x00007e2a25cf6fdc, RDI=0x0000000000000000
R8 =0x00007e2a25cf6fc0, R9 =0x0000000000000000, R10=0xaaaaaaaaaaaaaaab, R11=0x00007e2a3145a908
R12=0x00007e2a25cf6fbc, R13=0x00007e2a25cf6fdc, R14=0x00007e2a25cf6fd0, R15=0x0000000000000001
RIP=0x00007e2b14097ef4, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

Register to memory mapping:

RAX=0x00007e2addee7210: <offset 0x0000000000027210> in /lib/x86_64-linux-gnu/libX11.so.6 at 0x00007e2addec0000
RBX=0x00007e2b0c29b610 points into unknown readable memory: 0x00007e2b0cd28ad0 | d0 8a d2 0c 2b 7e 00 00
RCX=0x000000000000008c is an unknown value
RDX=0x00007e2a25cf6fd0 is pointing into the stack for thread: 0x00007e2a30106d30
RSP=0x00007e2a25cf6f58 is pointing into the stack for thread: 0x00007e2a30106d30
RBP=0x00007e2a25cf6fc0 is pointing into the stack for thread: 0x00007e2a30106d30
RSI=0x00007e2a25cf6fdc is pointing into the stack for thread: 0x00007e2a30106d30
RDI=0x0 is NULL
R8 =0x00007e2a25cf6fc0 is pointing into the stack for thread: 0x00007e2a30106d30
R9 =0x0 is NULL
R10=0xaaaaaaaaaaaaaaab is an unknown value
R11=0x00007e2a3145a908 points into unknown readable memory: 0x00007e2a3010c678 | 78 c6 10 30 2a 7e 00 00
R12=0x00007e2a25cf6fbc is pointing into the stack for thread: 0x00007e2a30106d30
R13=0x00007e2a25cf6fdc is pointing into the stack for thread: 0x00007e2a30106d30
R14=0x00007e2a25cf6fd0 is pointing into the stack for thread: 0x00007e2a30106d30
R15=0x0000000000000001 is an unknown value

Top of Stack: (sp=0x00007e2a25cf6f58)
0x00007e2a25cf6f58:   00007e2addf0360f 00000000000001fd
0x00007e2a25cf6f68:   0000000000000004 0000000000000002
0x00007e2a25cf6f78:   231d524ba95e1200 00007e2b0ce0c190
0x00007e2a25cf6f88:   00007e2add0c1e61 00007e2add0c35d4
0x00007e2a25cf6f98:   00007e2b0ce0c190 00007e2add0c1e61
0x00007e2a25cf6fa8:   00007e2addee4d8a 0000000000000000
0x00007e2a25cf6fb8:   0000000000000000 00007e2a3143bc00
0x00007e2a25cf6fc8:   00007e2adcffb1c8 0000009700000096
0x00007e2a25cf6fd8:   0000008c00000000 000000000000008e
0x00007e2a25cf6fe8:   231d524ba95e1200 00007e2a313ea360
0x00007e2a25cf6ff8:   0000000000000000 00007e2a313ea398
0x00007e2a25cf7008:   00007e2add071f3b 0000000000000000
0x00007e2a25cf7018:   00007e2a3145aa10 00007e2a3145a8d0
0x00007e2a25cf7028:   00007e2a30f2c950 00007e2a3143bc00
0x00007e2a25cf7038:   231d524ba95e1200 00007e2b0cc335a0
0x00007e2a25cf7048:   00007e2a31436528 00007e2a31436400
0x00007e2a25cf7058:   00007e2a25cf70b0 00007e2a31436528
0x00007e2a25cf7068:   0000000000000000 00007e2a25cf8570
0x00007e2a25cf7078:   00007e2add074c54 00007e2a31702370
0x00007e2a25cf7088:   00007e2add0488a9 0000000000000001
0x00007e2a25cf7098:   00007e2a25cf70b0 00007e2a25cf70d0
0x00007e2a25cf70a8:   00007e2adcffd7f2 00007e2a313979b0
0x00007e2a25cf70b8:   00007e2a313fee98 00007e2a34b54100
0x00007e2a25cf70c8:   3ff0000000000000 0000000000000000
0x00007e2a25cf70d8:   00007e2a317c6680 0000000000000980
0x00007e2a25cf70e8:   0000000000000048 00007e2a30000030
0x00007e2a25cf70f8:   00007e2a30000030 00007e2a31110d00
0x00007e2a25cf7108:   231d524ba95e1200 00007e2a31110cf0
0x00007e2a25cf7118:   00007e2a31702370 0000000000000001
0x00007e2a25cf7128:   0000000000000000 00007e2a25cf8570
0x00007e2a25cf7138:   00007e2add0016f2 00007e2a30f5d3f0
0x00007e2a25cf7148:   0000000000000028 00007e2a30f5d3e0 

Instructions: (pc=0x00007e2b14097ef4)
0x00007e2b14097df4:   00 00 08 6c 00 00 00 89 c1 48 d3 ea 80 e2 01 0f
0x00007e2b14097e04:   84 4f fc ff ff e9 7b ff ff ff 66 90 83 f8 23 0f
0x00007e2b14097e14:   85 3f fb ff ff e9 b8 fd ff ff 41 b8 23 00 00 00
0x00007e2b14097e24:   e9 85 fa ff ff 41 8b 06 83 e0 7f 83 f8 12 74 61
0x00007e2b14097e34:   83 f8 11 0f 85 1a fd ff ff 64 48 c7 04 25 f0 02
0x00007e2b14097e44:   00 00 00 00 00 00 8b 45 04 83 f8 ff 0f 84 15 ff
0x00007e2b14097e54:   ff ff 83 c0 01 89 45 04 e9 4d fa ff ff 0f 1f 80
0x00007e2b14097e64:   00 00 00 00 be 80 00 00 00 48 89 ef e8 ab 94 ff
0x00007e2b14097e74:   ff e9 0f ff ff ff 83 c0 0b 83 f8 0b 0f 87 d2 fb
0x00007e2b14097e84:   ff ff 48 0f a3 c3 0f 83 c8 fb ff ff e9 e3 fc ff
0x00007e2b14097e94:   ff 64 48 c7 04 25 f0 02 00 00 00 00 00 00 41 b8
0x00007e2b14097ea4:   23 00 00 00 e9 01 fa ff ff e8 9e e6 09 00 48 8d
0x00007e2b14097eb4:   0d 67 99 14 00 ba b6 01 00 00 48 8d 35 a9 16 14
0x00007e2b14097ec4:   00 48 8d 3d b7 16 14 00 e8 7f 1f fa ff 48 8d 0d
0x00007e2b14097ed4:   48 99 14 00 ba 53 02 00 00 48 8d 35 8a 16 14 00
0x00007e2b14097ee4:   48 8d 3d ae 16 14 00 e8 60 1f fa ff f3 0f 1e fa
0x00007e2b14097ef4:   8b 47 10 89 c2 81 e2 7f 01 00 00 90 83 e0 7c 0f
0x00007e2b14097f04:   85 a7 00 00 00 53 48 83 ec 10 85 d2 0f 85 a2 00
0x00007e2b14097f14:   00 00 44 8b 0d 77 4b 18 00 45 85 c9 75 5e 8b 77
0x00007e2b14097f24:   10 81 e6 80 00 00 00 75 0c 64 8b 04 25 18 00 00
0x00007e2b14097f34:   00 85 c0 74 37 31 c0 ba 01 00 00 00 f0 0f b1 17
0x00007e2b14097f44:   0f 85 ae 00 00 00 8b 4f 08 85 c9 0f 85 5c 01 00
0x00007e2b14097f54:   00 64 8b 04 25 d0 02 00 00 89 47 08 83 47 0c 01
0x00007e2b14097f64:   90 31 c0 48 83 c4 10 5b c3 0f 1f 00 44 8b 07 45
0x00007e2b14097f74:   85 c0 75 c1 c7 07 01 00 00 00 eb ca 8b 47 10 f6
0x00007e2b14097f84:   c4 03 74 08 f6 c4 01 74 95 eb 07 90 80 cc 01 89
0x00007e2b14097f94:   47 10 8b 57 10 48 83 c4 10 48 8d 77 16 5b 81 e2
0x00007e2b14097fa4:   80 00 00 00 e9 63 8d ff ff 0f 1f 00 e9 eb f7 ff
0x00007e2b14097fb4:   ff 0f 1f 00 81 fa 00 01 00 00 74 d6 8b 57 10 83
0x00007e2b14097fc4:   e2 7f 83 fa 01 0f 85 95 00 00 00 64 8b 04 25 d0
0x00007e2b14097fd4:   02 00 00 39 47 08 75 30 8b 47 04 83 f8 ff 0f 84
0x00007e2b14097fe4:   bf 00 00 00 83 c0 01 89 47 04 31 c0 e9 72 ff ff 

Stack slot to memory mapping:
stack at sp + 0 slots: 0x00007e2addf0360f: XrmQGetResource+0x000000000000004f in /lib/x86_64-linux-gnu/libX11.so.6 at 0x00007e2addec0000
stack at sp + 1 slots: 0x00000000000001fd is an unknown value
stack at sp + 2 slots: 0x0000000000000004 is an unknown value
stack at sp + 3 slots: 0x0000000000000002 is an unknown value
stack at sp + 4 slots: 0x231d524ba95e1200 is an unknown value
stack at sp + 5 slots: 0x00007e2b0ce0c190 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
stack at sp + 6 slots: 0x00007e2add0c1e61: <offset 0x00000000000f0e61> in /lib/x86_64-linux-gnu/libcairo.so.2 at 0x00007e2adcfd1000
stack at sp + 7 slots: 0x00007e2add0c35d4: <offset 0x00000000000f25d4> in /lib/x86_64-linux-gnu/libcairo.so.2 at 0x00007e2adcfd1000

DEBUG is on but at the time of crash it doesn't print any log. Please note that I have set the GTK version to 3 as it was 't working with version 2. System.setProperty("jdk.gtk.version", "3"); About Ubuntu image

Please guide and let me know if any additional information is required

Thanks

dorkbox commented 2 months ago

What happens when you run the javaFX test example?

SDE-Manvendra commented 2 months ago

@dorkbox Thanks for the reply. I forgot to mention that I have set Platform.setImplicitExit(false);, as I want to hide the stage when application is closed. Does that make any difference? Below is the DEBUG output

Aug 05, 2024 2:32:00 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @71138b45'
14:32:02.044 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Version 4.4
14:32:02.047 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - OS: Linux
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Arch: amd64
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Oracle Corporation OpenJDK 64-Bit Server VM 17.0.5
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - JPMS enabled: true
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Is Auto sizing tray/menu? true
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Is JavaFX detected? true
14:32:02.048 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Is SWT detected? false
14:32:02.183 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Java Swing L&F: Metal
14:32:02.183 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Auto-detecting tray type
14:32:02.183 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Force GTK2: false
14:32:02.183 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Prefer GTK3: true
14:32:02.227 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Currently using the 'Gnome' desktop environment
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

14:32:02.228 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Currently using the 'ubuntu-xorg' session type
14:32:02.228 [JavaFX Application Thread] ERROR dorkbox.systemTray.SystemTray - GNOME shell detected, but UNKNOWN type. This should never happen. Falling back to GtkStatusIcon. Please create an issue with as many details as possible.
14:32:02.306 [JavaFX Application Thread] DEBUG dorkbox.jna.linux.GtkLoader - GTK: libgtk-3.so.0
14:32:02.307 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - GTK Version: 3.24.33
14:32:02.307 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Is the system already running GTK? true
14:32:02.381 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Tray indicator image size: 24
14:32:02.381 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Tray menu image size: 16
14:32:02.391 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Using Fake CheckMark: false

(java:26063): Gdk-WARNING **: 14:32:02.395: XSetErrorHandler() called with a GDK error trap pushed. Don't do that.
14:32:02.412 [JavaFX Application Thread] INFO dorkbox.systemTray.SystemTray - Successfully loaded type: _GtkStatusIconNativeTray
14:32:02.413 [JavaFX Application Thread] WARN dorkbox.systemTray.SystemTray - Please disable tooltips, as they are not consistent across all platforms and tray types.
14:32:02.413 [JavaFX Application Thread] DEBUG dorkbox.systemTray.SystemTray - Resizing image to 24 : file:/home/dev/abc.png

I tried the example from this repo and but didn't face this issue. It works initially but after 15-20 mins we face the crash issue.