[jitsi-dev] [jitsi] JVM core dump on launch on Plasma desktop (#120)


#1

it crash on launch, there are problem with the system tray:

GRAVE: [15] impl.osdependent.SystemTray.getDefaultSystemTray().57 Failed to initialize java.awt.SystemTray
java.lang.UnsupportedOperationException: java.lang.reflect.InvocationTargetException
        at net.java.sip.communicator.impl.osdependent.SystemTray$AWTSystemTrayPeer.<init>(SystemTray.java:158)
        at net.java.sip.communicator.impl.osdependent.SystemTray.getDefaultSystemTray(SystemTray.java:52)
        at net.java.sip.communicator.impl.osdependent.jdic.SystrayServiceJdicImpl.<init>(SystrayServiceJdicImpl.java:126)
        at net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:156)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2152)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2070)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at net.java.sip.communicator.impl.osdependent.SystemTray$AWTSystemTrayPeer.<init>(SystemTray.java:150)
        ... 9 more
Caused by: java.lang.UnsupportedOperationException: The system tray is not supported on the current platform.
        at java.awt.SystemTray.getSystemTray(SystemTray.java:186)
        ... 14 more
17:01:35.659 GRAVE: [15] impl.osdependent.SystemTray.getDefaultSystemTray().64 Failed to initialize the desktop.tray implementation.
17:01:35.659 GRAVE: [15] impl.osdependent.jdic.SystrayServiceJdicImpl.<init>().136 Failed to create a systray!
java.lang.UnsupportedOperationException: Failed to initialize the desktop.tray implementation.
        at net.java.sip.communicator.impl.osdependent.SystemTray.getDefaultSystemTray(SystemTray.java:66)
        at net.java.sip.communicator.impl.osdependent.jdic.SystrayServiceJdicImpl.<init>(SystrayServiceJdicImpl.java:126)
        at net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:156)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2152)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2070)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)

(java:6701): GLib-GObject-WARNING **: cannot register existing type 'GdkWindow'

(java:6701): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

(java:6701): GLib-GObject-WARNING **: cannot register existing type 'GdkWindow'

(java:6701): Gdk-CRITICAL **: IA__gdk_window_is_viewable: assertion 'GDK_IS_WINDOW (window)' failed

···

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f83e4158ecc, pid=6701, tid=140204486719232
#
# JRE version: OpenJDK Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14)
# Java VM: OpenJDK 64-Bit Server VM (25.45-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libgdk-x11-2.0.so.0+0x6becc]
(java:6701): GLib-GObject-WARNING **: cannot register existing type 'GdkWindow'

(java:6701): Gdk-CRITICAL **: IA__gdk_window_add_filter: assertion 'window == NULL || GDK_IS_WINDOW (window)' failed

#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid6701.log

(java:6701): GLib-GObject-WARNING **: cannot register existing type 'GdkWindow'

(java:6701): Gdk-CRITICAL **: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed

(java:6701): GLib-GObject-WARNING **: cannot register existing type 'GdkWindow'

(java:6701): Gdk-CRITICAL **: _gdk_x11_window_get_toplevel: assertion 'GDK_IS_WINDOW (window)' failed
[thread 140202457364224 also had an error]
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
[1] 6701 abort (core dumped) jitsi

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120


#2

dump even with wmsystemtray, one time did not crash (it seems frozen) and i have the following output:

ALSA lib pcm_dsnoop.c:614:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dsnoop.c:614:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:963:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
*** Error in `/bin/java': double free or corruption (!prev): 0x00007f1fac548000 ***

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-102099322


#3

Same here:

$ jitsi -v
Jitsi 2.9.5456

$ jitsi
...
2015-06-12 17:50:39.787 SEVERE: [15] impl.osdependent.SystemTray.getDefaultSystemTray().57 Failed to initialize java.awt.SystemTray
java.lang.UnsupportedOperationException: java.lang.reflect.InvocationTargetException
        at net.java.sip.communicator.impl.osdependent.SystemTray$AWTSystemTrayPeer.<init>(SystemTray.java:158)
        at net.java.sip.communicator.impl.osdependent.SystemTray.getDefaultSystemTray(SystemTray.java:52)
        at net.java.sip.communicator.impl.osdependent.jdic.SystrayServiceJdicImpl.<init>(SystrayServiceJdicImpl.java:126)
        at net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:156)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2152)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2070)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at net.java.sip.communicator.impl.osdependent.SystemTray$AWTSystemTrayPeer.<init>(SystemTray.java:150)
        ... 9 more
Caused by: java.lang.UnsupportedOperationException: The system tray is not supported on the current platform.
        at java.awt.SystemTray.getSystemTray(SystemTray.java:186)
        ... 14 more
2015-06-12 17:50:39.788 SEVERE: [15] impl.osdependent.SystemTray.getDefaultSystemTray().64 Failed to initialize the desktop.tray implementation.
2015-06-12 17:50:39.788 SEVERE: [15] impl.osdependent.jdic.SystrayServiceJdicImpl.<init>().136 Failed to create a systray!
java.lang.UnsupportedOperationException: Failed to initialize the desktop.tray implementation.
        at net.java.sip.communicator.impl.osdependent.SystemTray.getDefaultSystemTray(SystemTray.java:66)
        at net.java.sip.communicator.impl.osdependent.jdic.SystrayServiceJdicImpl.<init>(SystrayServiceJdicImpl.java:126)
        at net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:156)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2152)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2070)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
java: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
Aborted (core dumped)

Sometimes starting jisti works. Still getting the same exceptions, but the application then works:

2015-06-12 18:00:14.555 SEVERE: [15] impl.osdependent.SystemTray.getDefaultSystemTray().64 Failed to initialize the desktop.tray implementation.
2015-06-12 18:00:14.556 SEVERE: [15] impl.osdependent.jdic.SystrayServiceJdicImpl.<init>().136 Failed to create a systray!
java.lang.UnsupportedOperationException: Failed to initialize the desktop.tray implementation.
        at net.java.sip.communicator.impl.osdependent.SystemTray.getDefaultSystemTray(SystemTray.java:66)
        at net.java.sip.communicator.impl.osdependent.jdic.SystrayServiceJdicImpl.<init>(SystrayServiceJdicImpl.java:126)
        at net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:156)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2152)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2070)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)
2015-06-12 18:00:16.062 SEVERE: [41] impl.osdependent.jdic.SystrayServiceJdicImpl.checkInitialized().464 Systray not init

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-120739041


#4

Some questions:
- What is Plasma?
- Could you please create a Gist with the content of the /tmp/hs_err_pid*.log and link them here?

The java stack traces mentioned above would not cause a crash. It's an indication that the tray icon could not be initialized. This is most likely due to an unsupported desktop. In that case, please open a bug with your distribution/desktop environment provider that Java 8 doesn't support tray icons.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-120751115


#5

Plasma is [KDE](https://www.kde.org/workspaces/plasmadesktop/).

* Jitsi debug output: https://gist.github.com/digitician/754e678d86a2790b9fa4
* JVM error log: https://gist.github.com/digitician/bae1d5da3b0de64bfdbf

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-120752458


#6

Hm. The discussion #66 is related to this. Can you please try to unset KDE_FULL_SESSION and see if Jitsi is able to start?

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-120753789


#7

Difficult to test. It does not always crash, so while I don't see a crash with KDE_FULL_SESSION unset at the moment, I don't know if it solved the issue. Will try to remember to unset this before starting Jitsi and let you know if it still crashes at some point.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-120754044


#8

Any update? Otherwise I'm going to close this.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-128279999


#9

For me it work unsetting KDE_FULL_SESSION.
System tray still fail to load, but jitsi seems to work fine.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-128284129


#10

Closed #120.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#event-377007013


#11

The system tray is a whole different story and primarily a problem of Java.

I'm not sure how to proceed with this. If you have any suggestions, please post them in PR#66.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-128973512


#12

Its not related to #66

KDE 5 dont support the old xembed based system tray anymore.
Thats the reason, why jitsi crashes.

https://bugs.launchpad.net/ubuntu/+source/tasque/+bug/1448512

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-129583780


#13

Fine, whatever. We can still conclude that unsetting KDE_FULL_SESSION (which we are currently using as the indication to load the GTKLookAndFeel) makes Jitsi launchable. And we can also conclude that it's not really a Jitsi problem when a desktop environment decides to drop a method to show system trays that a lot of applications and frameworks depend on.
I was referring this to #66 because I'm looking for a more general approach in deciding which look and feel to load on Linux.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi/issues/120#issuecomment-129593491