Wingpanel crashes when using music controls with some electron apps like GPMDP

Bug #1596270 reported by Maccer
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Wingpanel Sound Indicator
Fix Released
High
Unassigned

Bug Description

https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/1215

https://github.com/electron/electron/issues/6240

Loki Release:
GPMDP does NOT crash wingpanel when it is just running. However it crashes it when using Music Controls present in the Sound Indicator.

Wingpanel Log:
[INFO 12:45:44.298415] Application.vala:155: System Panel version: 2.0.1
[INFO 12:45:44.298452] Application.vala:157: Kernel version: 4.4.0-36-generic
[FATAL 12:45:44.349256] wingpanel_widgets_overlay_icon_set_main_icon_name: assertion 'self != NULL' failed
[FATAL 12:45:44.349573] wingpanel_widgets_overlay_icon_set_main_icon_name: assertion 'self != NULL' failed
[FATAL 12:45:44.381818] [AccountsService] act_user_get_user_name: assertion 'ACT_IS_USER (user)' failed
[17:45:44.433423 GLib-GIO-Critical] g_file_get_child: assertion 'G_IS_FILE (file)' failed
[17:45:44.433444 GLib-GIO-Critical] g_file_query_exists: assertion 'G_IS_FILE(file)' failed
[17:45:44.433457 GLib-GIO-Critical] g_file_get_child: assertion 'G_IS_FILE (file)' failed
[17:45:44.433460 GLib-GIO-Critical] g_file_query_exists: assertion 'G_IS_FILE(file)' failed
[17:45:44.433467 Critical] gee_abstract_collection_get_size: assertion 'self != NULL' failed
[17:45:44.433490 Warning] Theme.vala:508: Currently selected gtk+ theme 'elementary' does not provide a dock theme, fallback to the built-in defaults!
[17:45:44.499500 GLib-Critical] g_hash_table_get_keys: assertion 'hash_table != NULL' failed
[17:45:44.712379 GLib-GIO-Warning] Received property Rate with type y does not match expected type d in the expected interface
[17:45:44.712397 GLib-GIO-Warning] Received property Volume with type y does not match expected type d in the expected interface
[17:45:44.712403 GLib-GIO-Warning] Received property Position with type u does not match expected type x in the expected interface
[17:45:44.712407 GLib-GIO-Warning] Received property MinimumRate with type y does not match expected type d in the expected interface
[17:45:44.712412 GLib-GIO-Warning] Received property MaximumRate with type y does not match expected type d in the expected interface
[17:45:44.806555 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.811513 Warning] [DesktopFileInfo] Key file does not have key 'Type' in group 'Desktop Entry'
[17:45:44.816131 Warning] [DesktopFileInfo] Unable to get exec for Other
[17:45:44.821346 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821440 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821528 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821622 Warning] [DesktopFileInfo] Unable to create AppInfo

** (process:5830): CRITICAL **: string_contains: assertion 'self != NULL' failed

//Important:
** (process:5830): CRITICAL **: string_contains: assertion 'self != NULL' failed
[17:45:44.899244 Info] Tweaks.vala:68: Activating tweaks plug
[17:45:52.889379 Warning] Indicator.vala:367: Unable to close sound notification: GDBus.Error:org.freedesktop.DBus.Error.Failed:
[17:46:21.286964 Warning] MprisGui.vala:176: Could not play/pause: Timeout was reached
[17:46:21.288725 Critical] Manager.vala:55: Error calling StartServiceByName for org.bluez: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.bluez': timed out
^C

Loki Beta:
Here is some output of the crash:

Jun 25 18:56:20 Maccer-PC gnome-session[1172]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x3a00001 (Google Pla)
Jun 25 18:56:37 Maccer-PC kernel: [ 7339.623540] show_signal_msg: 31 callbacks suppressed
Jun 25 18:56:37 Maccer-PC kernel: [ 7339.623547] wingpanel[1509]: segfault at 0 ip 00007f03eda8a770 sp 00007ffcc8ebf3d8 error 4 in libglib-2.0.so.0.4800.1[7f03eda51000+10f000]
Jun 25 18:56:38 Maccer-PC gnome-session[1172]: Message: ProcessWrapper.vala:99: Process 'wingpanel' watch exit

There's a larger log in the first link, if you need it.

Basically, what happens is:

* I open GPMDP, I can perfectly use it.

* Wingpanel is unresponsible. All the indicators stop working and I can't see any dropdown window.

* However I can change the volume with the media keys.

* I close GPMDP, wingpanel restarts and works again.

Related branches

Ramiro (ramirocantu)
Changed in wingpanel:
status: New → Confirmed
Ramiro (ramirocantu)
Changed in wingpanel-indicator-sound:
status: New → Confirmed
Revision history for this message
Ramiro (ramirocantu) wrote :
Download full text (3.1 KiB)

Loki Release: Wingpanel Crahes when using Sound Indicator to pause music from GPMDP (an electron app)
Attached is a Screenshot with audio muted, in order to avoid copyright law.

Wingpanel Log:
ramiro@ramiro:~$ wingpanel
[INFO 12:45:44.298415] Application.vala:155: System Panel version: 2.0.1
[INFO 12:45:44.298452] Application.vala:157: Kernel version: 4.4.0-36-generic
[FATAL 12:45:44.349256] wingpanel_widgets_overlay_icon_set_main_icon_name: assertion 'self != NULL' failed
[FATAL 12:45:44.349573] wingpanel_widgets_overlay_icon_set_main_icon_name: assertion 'self != NULL' failed
[FATAL 12:45:44.381818] [AccountsService] act_user_get_user_name: assertion 'ACT_IS_USER (user)' failed
[17:45:44.433423 GLib-GIO-Critical] g_file_get_child: assertion 'G_IS_FILE (file)' failed
[17:45:44.433444 GLib-GIO-Critical] g_file_query_exists: assertion 'G_IS_FILE(file)' failed
[17:45:44.433457 GLib-GIO-Critical] g_file_get_child: assertion 'G_IS_FILE (file)' failed
[17:45:44.433460 GLib-GIO-Critical] g_file_query_exists: assertion 'G_IS_FILE(file)' failed
[17:45:44.433467 Critical] gee_abstract_collection_get_size: assertion 'self != NULL' failed
[17:45:44.433490 Warning] Theme.vala:508: Currently selected gtk+ theme 'elementary' does not provide a dock theme, fallback to the built-in defaults!
[17:45:44.499500 GLib-Critical] g_hash_table_get_keys: assertion 'hash_table != NULL' failed
[17:45:44.712379 GLib-GIO-Warning] Received property Rate with type y does not match expected type d in the expected interface
[17:45:44.712397 GLib-GIO-Warning] Received property Volume with type y does not match expected type d in the expected interface
[17:45:44.712403 GLib-GIO-Warning] Received property Position with type u does not match expected type x in the expected interface
[17:45:44.712407 GLib-GIO-Warning] Received property MinimumRate with type y does not match expected type d in the expected interface
[17:45:44.712412 GLib-GIO-Warning] Received property MaximumRate with type y does not match expected type d in the expected interface
[17:45:44.806555 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.811513 Warning] [DesktopFileInfo] Key file does not have key 'Type' in group 'Desktop Entry'
[17:45:44.816131 Warning] [DesktopFileInfo] Unable to get exec for Other
[17:45:44.821346 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821440 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821528 Warning] [DesktopFileInfo] Unable to create AppInfo
[17:45:44.821622 Warning] [DesktopFileInfo] Unable to create AppInfo

** (process:5830): CRITICAL **: string_contains: assertion 'self != NULL' failed
//Important:
** (process:5830): CRITICAL **: string_contains: assertion 'self != NULL' failed
[17:45:44.899244 Info] Tweaks.vala:68: Activating tweaks plug
[17:45:52.889379 Warning] Indicator.vala:367: Unable to close sound notification: GDBus.Error:org.freedesktop.DBus.Error.Failed:
[17:46:21.286964 Warning] MprisGui.vala:176: Could not play/pause: Timeout was reached
[17:46:21.288725 Critical] Manager.vala:55: Error calling StartServiceByName for org.bluez: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.bluez...

Read more...

Ramiro (ramirocantu)
summary: - WingPanel crashes with some electron apps like GPMDP
+ WingPanel crashes when using music controls with some electron apps like
+ GPMDP
Ramiro (ramirocantu)
description: updated
Ramiro (ramirocantu)
tags: added: control
tags: added: crash
tags: added: loki
Ramiro (ramirocantu)
summary: - WingPanel crashes when using music controls with some electron apps like
+ Wingpanel crashes when using music controls with some electron apps like
GPMDP
Revision history for this message
w0xel (bastiwuerl) wrote :

I fixed it. The freeze comes due to the fact that many MPRIS interfaces do not give a proper answer after receiving patches. The Vala DBus library always waits the default timeout before continuing, which is 25 seconds. This means blocking the whole elementary UI for 25 seconds, which is really bad.

Since the response is not from use anyways and really many players fail, this fix should be merged instead of relying on patches in the players. The best solution would be allowing 0 timeout in vala, but this does not seem to be possible.

My patch threads the DBus call out if threading is avaiable to ensure an always responsive UI.

Djax (parnold-x)
Changed in wingpanel:
status: Confirmed → Invalid
Revision history for this message
Cody Garver (codygarver) wrote :

Thanks w0xel, your patch has been committed to trunk using your launchpad details as the author.

Changed in wingpanel-indicator-sound:
importance: Undecided → High
milestone: none → juno-beta1
status: Confirmed → Fix Committed
Cody Garver (codygarver)
no longer affects: wingpanel
Changed in wingpanel-indicator-sound:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.