elementary / notifications

Gtk Notifications Server
https://elementary.io
GNU General Public License v3.0
38 stars 6 forks source link

Notifications originating on another workspace cause crashes #139

Closed wout closed 1 year ago

wout commented 3 years ago

Prerequisites

Describe the bug

I'm using Odin Beta 2 on my laptop for a week now and noticed at least five crashes on workspaces where the windows are in full or split-screen mode. This happens mostly when a notification occurs while moving between workspaces.

The crash sometimes results in all windows from all workspaces moving to the current workspace. But other times it results in all full and split-screen windows being over-scaled (from the looks of it, by the height of the main top panel).

At the moment of the crash, everything freezes for a second or two and most importantly, the notification doesn't appear on the top right but on the top left of the screen.

To switch workspaces, I use all available methods:

To Reproduce

Steps to reproduce the behavior:

  1. While receiving a notification...
  2. Switch to a full or split-screen workspace

Note: it's hard to reproduce.

Screenshots or screen recordings

I'll try to take a screenshot the next time it happens.

Logs

I'll report those when it happens again.

Platform Information

image image

Additional context

Using a single 4k monitor in HiDPI mode (3840 x 2160 @ 60 Hz).

wout commented 3 years ago

It just happened again when I was working on a split-screen workspace. I couldn't take a screenshot, but found this in the syslog:

Jul  8 14:01:14 Rossy kernel: [63001.396238] gala[21731]: segfault at 21c ip 00007f696da3aa04 sp 00007fff6f5327a8 error 4 in libmutter-6.so.0.0.0[7f696d9b3000+fe000]
Jul  8 14:01:14 Rossy kernel: [63001.396249] Code: 0f af c0 01 f8 41 89 44 24 0c 48 83 c4 08 4c 89 e2 4c 89 e6 48 89 ef 5d 41 5c e9 97 fd ff ff 0f 1f 80 00 00 00 00 f3 0f 1e fa <f3> 0f 6f 87 1c 02 00 00 0f 11 06 c3 f3 0f 1e fa 41 55 41 54 49 89
Jul  8 14:01:14 Rossy gnome-session[1536]: gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 14:01:14 Rossy gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 14:01:15 Rossy touchegg[818]: New client connection request
Jul  8 14:01:15 Rossy touchegg[818]: New client connected
Jul  8 14:01:15 Rossy gala.desktop[33817]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
Jul  8 14:01:15 Rossy gala.desktop[33817]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
Jul  8 14:01:15 Rossy gala[33817]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 14:01:15 Rossy gala[33817]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 14:01:15 Rossy gala[33817]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 14:01:15 Rossy gala[33817]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 14:01:15 Rossy gala[33817]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 14:01:15 Rossy gala[33817]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 14:01:15 Rossy gala[33817]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 14:01:15 Rossy gala[33817]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 14:01:15 Rossy gala[33817]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 14:01:15 Rossy gala[33817]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 14:01:15 Rossy gala[33817]: Preferences.vala:192: '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' is read-only!
Jul  8 14:01:15 Rossy gala[33817]: Preferences.vala:378: Missing key 'UrgentHueShift' for group 'PlankDockTheme' in preferences file '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' - using default value
Jul  8 14:01:15 Rossy gala[33817]: meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Jul  8 14:01:15 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:rfkill
Jul  8 14:01:15 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:hibernate
Jul  8 14:01:15 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:magnifier
Jul  8 14:01:15 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-repeat
Jul  8 14:01:15 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-random
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:16 Rossy gala[33817]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 14:01:16 Rossy gala[33817]: invalid (NULL) pointer instance
Jul  8 14:01:16 Rossy gala[33817]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 14:01:22 Rossy touchegg[818]: Client disconnected
Jul  8 14:01:22 Rossy gala[33817]: clutter_actor_set_easing_mode: assertion 'mode != CLUTTER_CUSTOM_MODE' failed
Jul  8 14:01:22 Rossy gala[33817]: clutter_actor_set_easing_mode: assertion 'mode != CLUTTER_CUSTOM_MODE' failed
Jul  8 14:01:23 Rossy systemd[1522]: run-docker-runtime\x2drunc-moby-b185131b0f233f4dfa84bee4db1763c7ecd428df5c74a52fe8e4281b476ba9f1-runc.1ZmMnS.mount: Succeeded.
Jul  8 14:01:23 Rossy systemd[1]: run-docker-runtime\x2drunc-moby-b185131b0f233f4dfa84bee4db1763c7ecd428df5c74a52fe8e4281b476ba9f1-runc.1ZmMnS.mount: Succeeded.
Jul  8 14:01:26 Rossy systemd[1522]: run-docker-runtime\x2drunc-moby-b185131b0f233f4dfa84bee4db1763c7ecd428df5c74a52fe8e4281b476ba9f1-runc.OVxt1m.mount: Succeeded.
Jul  8 14:01:26 Rossy systemd[1]: run-docker-runtime\x2drunc-moby-b185131b0f233f4dfa84bee4db1763c7ecd428df5c74a52fe8e4281b476ba9f1-runc.OVxt1m.mount: Succeeded.
Jul  8 14:01:35 Rossy gala.desktop[33817]: Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.

I wasn't switching workspaces, just writing some code in SublimeText while it happened.

wout commented 3 years ago

And another one:

Jul  8 17:02:44 Rossy kernel: [73891.396788] gala[33817]: segfault at 21c ip 00007fe91c229a04 sp 00007fff26e39ee8 error 4 in libmutter-6.so.0.0.0[7fe91c1a2000+fe000]
Jul  8 17:02:44 Rossy kernel: [73891.396794] Code: 0f af c0 01 f8 41 89 44 24 0c 48 83 c4 08 4c 89 e2 4c 89 e6 48 89 ef 5d 41 5c e9 97 fd ff ff 0f 1f 80 00 00 00 00 f3 0f 1e fa <f3> 0f 6f 87 1c 02 00 00 0f 11 06 c3 f3 0f 1e fa 41 55 41 54 49 89
Jul  8 17:02:44 Rossy gnome-session[1536]: gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:44 Rossy gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:45 Rossy touchegg[818]: New client connection request
Jul  8 17:02:45 Rossy touchegg[818]: New client connected
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:192: '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' is read-only!
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:378: Missing key 'UrgentHueShift' for group 'PlankDockTheme' in preferences file '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' - using default value
Jul  8 17:02:45 Rossy gala[98811]: meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:magnifier
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-random
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-repeat
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:rfkill
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:hibernate
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:56 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:56 Rossy gala[98811]: invalid (NULL) poiJul  8 17:02:44 Rossy kernel: [73891.396788] gala[33817]: segfault at 21c ip 00007fe91c229a04 sp 00007fff26e39ee8 error 4 in libmutter-6.so.0.0.0[7fe91c1a2000+fe000]
Jul  8 17:02:44 Rossy kernel: [73891.396794] Code: 0f af c0 01 f8 41 89 44 24 0c 48 83 c4 08 4c 89 e2 4c 89 e6 48 89 ef 5d 41 5c e9 97 fd ff ff 0f 1f 80 00 00 00 00 f3 0f 1e fa <f3> 0f 6f 87 1c 02 00 00 0f 11 06 c3 f3 0f 1e fa 41 55 41 54 49 89
Jul  8 17:02:44 Rossy gnome-session[1536]: gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:44 Rossy gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:45 Rossy touchegg[818]: New client connection request
Jul  8 17:02:45 Rossy touchegg[818]: New client connected
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:192: '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' is read-only!
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:378: Missing key 'UrgentHueShift' for group 'PlankDockTheme' in preferences file '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' - using default value
Jul  8 17:02:45 Rossy gala[98811]: meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:magnifier
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-random
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-repeat
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:rfkill
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:hibernate
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) poiJul  8 17:02:44 Rossy kernel: [73891.396788] gala[33817]: segfault at 21c ip 00007fe91c229a04 sp 00007fff26e39ee8 error 4 in libmutter-6.so.0.0.0[7fe91c1a2000+fe000]
Jul  8 17:02:44 Rossy kernel: [73891.396794] Code: 0f af c0 01 f8 41 89 44 24 0c 48 83 c4 08 4c 89 e2 4c 89 e6 48 89 ef 5d 41 5c e9 97 fd ff ff 0f 1f 80 00 00 00 00 f3 0f 1e fa <f3> 0f 6f 87 1c 02 00 00 0f 11 06 c3 f3 0f 1e fa 41 55 41 54 49 89
Jul  8 17:02:44 Rossy gnome-session[1536]: gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:44 Rossy gnome-session-binary[1536]: WARNING: Application 'gala.desktop' killed by signal 11
Jul  8 17:02:45 Rossy touchegg[818]: New client connection request
Jul  8 17:02:45 Rossy touchegg[818]: New client connected
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
Jul  8 17:02:45 Rossy gala.desktop[98811]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: clutter_actor_get_n_children: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jul  8 17:02:45 Rossy gala[98811]: gala_drag_drop_action_get_dragging: assertion 'self != NULL' failed
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:192: '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' is read-only!
Jul  8 17:02:45 Rossy gala[98811]: Preferences.vala:378: Missing key 'UrgentHueShift' for group 'PlankDockTheme' in preferences file '/usr/share/themes/io.elementary.stylesheet.bubblegum/plank/dock.theme' - using default value
Jul  8 17:02:45 Rossy gala[98811]: meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:magnifier
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-random
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:playback-repeat
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:rfkill
Jul  8 17:02:46 Rossy gsd-media-keys[1676]: Failed to grab accelerator for keybinding settings:hibernate
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:46 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:46 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:56 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:56 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:56 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
nter instance
Jul  8 17:02:46 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Jul  8 17:02:56 Rossy gala[98811]: clutter_actor_remove_child: assertion 'CLUTTER_IS_ACTOR (child)' failed
Jul  8 17:02:56 Rossy gala[98811]: invalid (NULL) pointer instance
Jul  8 17:02:56 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
nter instance
Jul  8 17:02:56 Rossy gala[98811]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

This time while using a full-screen Firefox window.

wout commented 3 years ago

Another update. I've been testing various scenarios:

It doesn't matter. Crashes happen 3-5 times a day. Mostly if a notification appears after there hasn't been one for a while.

sekunho commented 2 years ago

I've experienced this as well although I ran into several problems, and it seems like they can be triggered when a new notification pops up after clicking a previous one. I could consistently reproduce it this way at least. I'll jut merge my findings here if you don't mind.

Scenario is this:

When I'm in Workspace A, a notification pops up, everything is normal. When I click on it, it redirects me to Workspace B, which is also normal. The part where it gets weird is that when I go back to Workspace A, and if a notification from B pops up, things behave strangely.

Steps to Reproduce

  1. Be in workspace A
  2. Notification pops up in A, but app where this came from is in B.
  3. Get a notification, and click on it (not the one in the notification tray from clicking the bell but clicking the popup directly).
  4. Get redirected to B, switch back to A
  5. Get another notification, this is where the bug occurs.

There are two strange behaviors I ran into:

  1. In the video, it forced OBS to pop up even when I didn't do anything. In some cases it forces me to the other workspace.
  2. After I stopped recording, a notification popped up as normal (or it seemed normal), then I repeated the steps above. This caused the session to crash and I was force logged out.

https://user-images.githubusercontent.com/20364796/131615386-baf4a7f3-d809-45b8-babb-0dd221f4625b.mp4

It seems to be fine if I never click on any notification. But I think this part isn't too consistent either. Just seems to be what triggers it in my case. Also it doesn't happen when I turn on do not disturb, as expected.

Platform Information

sarojbelbase commented 2 years ago

happens to my workflow too, I was just blaming my graphics until now lol

wout commented 2 years ago

I would like to add that the effect seems to get incrementally worse after it happens one time. Two times already it got so bad that elementary crashed completely, to the point that I needed to log in again and all applications were closed as well (like a fresh login).

wout commented 2 years ago

I've been paying attention to the behavior of notifications the past few weeks, and @hsek 's observation is right that the crashes only happen when you're on a different workspace than the app where the notification originates. However, it has nothing to do with clicking on notifications or not. I did a reboot this morning and consciously did not click on notifications when they popped up, but still, I'm getting the crashes.

In October I had two crashes where the whole system went down. One time I even had to do a hard reset because my laptop got stuck on a black screen.

To be clear, I am no longer using the Beta version. At the end of September, I did a clean install with a new SSD. So this is not Beta-related.

image image

wout commented 2 years ago

Some more observations:

wout commented 2 years ago

Just noticed a process called Notifications Demo that's taking up a lot of memory. In fact, more than any other one:

image

I didn't reboot my machine for more than 12 days now, so maybe there's something wrong there. Some kind of memory leak perhaps? I've now terminated the process and I'll have a look at what happens next.

Schykle commented 2 years ago

Not sure what the status on this issue is, but I can confirm this is occuring on every single machine I've used elementary OS on. I'll get a notification from Telegram in another workspace, or Discord, or Mail... And my entire screen will go strange for a bit. The notification spawns on the top-left instead of the top-right, and sometimes the session just outright crashes entirely.

My system info is as follows, though this is consistent against multiple machines with varying configs:

System:    Kernel: 5.11.0-46-generic x86_64 bits: 64 compiler: N/A Desktop: Pantheon 
           Distro: elementary OS 6.1 Jólnir 
Machine:   Type: Convertible System: Dell product: Inspiron 7415 2-in-1 v: 1.6.0 serial: <filter> 
           Mobo: Dell model: 0MDMXX v: A01 serial: <filter> UEFI: Dell v: 1.6.0 date: 11/04/2021 
Battery:   ID-1: BAT0 charge: 54.0 Wh condition: 54.0/54.0 Wh (100%) model: BYD DELL WV3K81A status: Full 
           Device-1: hid-0018:04F3:2C66.0004-battery model: 04F31234:00 04F3:2C66 charge: N/A status: N/A 
CPU:       Topology: 8-Core model: AMD Ryzen 7 5700U with Radeon Graphics bits: 64 type: MT MCP arch: Zen 
           rev: 1 L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 57493 
           Speed: 2951 MHz min/max: 1400/1800 MHz Core speeds (MHz): 1: 1719 2: 3003 3: 2074 4: 1397 
           5: 1397 6: 1397 7: 1397 8: 1397 9: 4051 10: 2293 11: 1513 12: 1597 13: 1893 14: 1724 15: 1397 
           16: 1397 
Graphics:  Device-1: AMD vendor: Dell driver: amdgpu v: kernel bus ID: 03:00.0 
           Display: x11 server: X.Org 1.20.13 driver: amdgpu,ati unloaded: fbdev,modesetting,vesa tty: N/A 
           OpenGL: renderer: AMD RENOIR (DRM 3.40.0 5.11.0-46-generic LLVM 12.0.0) v: 4.6 Mesa 21.0.3 
           direct render: Yes 
Audio:     Device-1: AMD vendor: Dell driver: snd_hda_intel v: kernel bus ID: 03:00.1 
           Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor vendor: Dell 
           driver: snd_rn_pci_acp3x v: kernel bus ID: 03:00.5 
           Device-3: AMD Family 17h HD Audio vendor: Dell driver: snd_hda_intel v: kernel bus ID: 03:00.6 
           Device-4: Logitech JLAB TALK PRO MICROPHONE type: USB driver: snd-usb-audio,uvcvideo 
           bus ID: 1-4.2:6 
           Device-5: C-Media JLAB TALK PRO MICROPHONE type: USB driver: hid-generic,snd-usb-audio,usbhid 
           bus ID: 1-2:2 
           Sound Server: ALSA v: k5.11.0-46-generic 
Network:   Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus ID: 02:00.0 
           IF: wlp2s0 state: up mac: <filter> 
           IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A 
Drives:    Local Storage: total: 1.38 TiB used: 70.31 GiB (5.0%) 
           ID-1: /dev/nvme0n1 vendor: SK Hynix model: BC711 NVMe 512GB size: 476.94 GiB 
           ID-2: /dev/sda type: USB vendor: Samsung model: Portable SSD T5 size: 931.51 GiB 
Partition: ID-1: / size: 471.91 GiB used: 47.46 GiB (10.1%) fs: btrfs dev: /dev/dm-1 
           ID-2: /boot size: 945.2 MiB used: 238.1 MiB (25.2%) fs: ext4 dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 62.4 C mobo: 39.0 C gpu: amdgpu temp: 52 C 
           Fan Speeds (RPM): cpu: 3685 
Info:      Processes: 595 Uptime: 3h 51m Memory: 14.99 GiB used: 6.65 GiB (44.4%) Init: systemd runlevel: 5 
           Compilers: gcc: N/A Shell: fish v: 3.1.0 inxi: 3.0.38 
wout commented 2 years ago

@Schykle It's good to hear it's not just me. I was starting to think it had something to do with my laptop, which is getting a bit old.

wout commented 2 years ago

Just a moment ago, I had the same crash, while notifications are disabled. For weeks now I have had notifications on silent because the whole situation is unworkable. This is what I could grab from the syslog:

Feb 16 18:47:12 Rossy kernel: [124271.300755] gala[3270]: segfault at 557b0000000b ip 00007fc3507e9178 sp 00007ffd7c2af720 error 4 in libmutter-cogl-6.so.0.0.0[7fc3507b6000+4a000]
Feb 16 18:47:12 Rossy kernel: [124271.300765] Code: 83 ec 08 48 8b 1f 8b 03 85 c0 75 32 8b 0e eb 16 66 90 8b 50 10 03 50 08 39 56 04 73 17 48 89 c3 8b 03 85 c0 75 18 48 8b 43 20 <8b> 50 0c 03 50 04 39 d1 72 de 48 8b 5b 28 8b 03 85 c0 74 e8 83 f8
Feb 16 18:47:12 Rossy gnome-session[3018]: gnome-session-binary[3018]: WARNING: Application 'gala.desktop' killed by signal 11
Feb 16 18:47:12 Rossy gnome-session-binary[3018]: WARNING: Application 'gala.desktop' killed by signal 11
Feb 16 18:47:13 Rossy touchegg[840]: New client connection request
Feb 16 18:47:13 Rossy touchegg[840]: New client connected
Feb 16 18:47:13 Rossy gala.desktop[2147395]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
Feb 16 18:47:13 Rossy gala.desktop[2147395]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
Feb 16 18:47:13 Rossy gala[2147395]: meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Feb 16 18:47:14 Rossy gsd-media-keys[3190]: Failed to grab accelerator for keybinding settings:magnifier
Feb 16 18:47:14 Rossy gsd-media-keys[3190]: Failed to grab accelerator for keybinding settings:rfkill
Feb 16 18:47:14 Rossy gsd-media-keys[3190]: Failed to grab accelerator for keybinding settings:hibernate
Feb 16 18:47:14 Rossy gsd-media-keys[3190]: Failed to grab accelerator for keybinding settings:playback-random
Feb 16 18:47:14 Rossy gsd-media-keys[3190]: Failed to grab accelerator for keybinding settings:playback-repeat
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 16 18:47:14 Rossy gala[2147395]: invalid (NULL) pointer instance
Feb 16 18:47:14 Rossy gala[2147395]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
sekunho commented 2 years ago

Interesting. I had notifications silenced thinking it was a workaround. But I suppose adjusting the volume does count as a notification too.

Anyway I moved away from elementary to NixOS because workspaces are unworkable. It's unfortunate it has been ignored for this long.

jeremypw commented 2 years ago

I have tried to reproduce this on a fresh install of elementary 6.1 using artificial notifications from a terminal in one workspace and the Gnome Browser in another but so far no problems. On my previous install I was getting occasional complete freezes These seemed random but maybe associated with Chromium :shrug: My guess is that there is an obscure bug in Gala/Mutter triggered by certain software/operations - there are some outstanding reports in the Gala repo. See for example https://github.com/elementary/gala/issues/419 for code that (at the time) was said to reliable crash the window manager.

This bug contains some info about a similar issue linked to notifications: https://github.com/elementary/gala/issues/1229

wout commented 2 years ago

Anyway I moved away from elementary to NixOS because workspaces are unworkable. It's unfortunate it has been ignored for this long.

I'm seriously considering moving away too. I love elementary OS and I've been using it for four years now, but this issue is becoming a massive dealbreaker. It didn't go away with a fresh install, which I hoped it would. I miss the notifications, but if I turn them on, I have to reboot a few times a week because my computer eventually crashes to the point that it's no longer waking up from a black screen.

jeremypw commented 2 years ago

Still unable to reproduce by sending 1000 notifications from a terminal loop in another workspace while working in another workspace. Maybe you could try turning off just the sounds or just the bubbles instead of the whole notification and see whether you still get crashes - that could narrow down the cause.

wout commented 2 years ago

I'm going to try no sound today and no bubbles in a few days, and report back.

wout commented 2 years ago

@jeremypw Checked with sounds disabled, bubbles disabled, both... no change. The crashes keep coming and the bubbles, in that case, are always on the left side. Also, disabling notification bubbles doesn't work. They pop up regardless of the toggle state.

kgenkov commented 2 years ago

@wout Are the bubbles Chrome's or elementary's? There is a flag for chrome to use native notifications in Linux. Using that flag and I can confirm it was crashing for me too when chat notifications popped out while having multiple workspaces. I have to test Chrome's own notifications for longer time to see if it still crashes

wout commented 2 years ago

@kgenkov For me, it crashes on elementary's native bubbles too. Changing the sound volume, for example, has caused multiple crashes in the past few months.

jeremypw commented 2 years ago

@wout Thanks for the update. It is strange you still get Elementary bubbles when they are disabled - which app are they coming from? I assume you disabled the bubbles and sounds in System Settings for "Other" apps?

wout commented 2 years ago

I believe it was Mailspring showing the bubble to show with the bubbles disabled. These were the settings:

image

jeremypw commented 2 years ago

I can only see AppCenter notifications disabled in your screenshot. The "Other" option is at the end of the list in the sidebar. This should disable notifications from unlisted apps. Try disabling notifications from third party apps for a start. You can then reintroduce them one app at a time.

jeremypw commented 2 years ago

I see that MailSpring is uses the Electron framework and there is this issue https://github.com/Foundry376/Mailspring/issues/2366 about it crashing display managers. Did you install as Flatpak or Snap? If you can find an equivalent mail program written for Gnome/Gtk it might work better on Elementary. I know the elementary Mail program is still under development.

wout commented 2 years ago

It's not just Mailspring, it's also Telegram, Slack, Discord, and elementary-native notifications. I've even tried not opening an electron-based app for a whole day, crashes still happen.

Quite frankly, there's not a single Gnome/Gtk email app that's acceptable for my use. But that's another topic.

jeremypw commented 2 years ago

OK, well I guess we are back to some specific interaction of Gala, notifications and maybe your hardware then. I have not seen this type of crash on my setup (mainly Slack and native notifications). Sorry I could not help more.

wout commented 2 years ago

I've now disabled all non-elementary notifications. Let's see if that helps. Also, in May, I'll have a brand new laptop, a maxed-out Dell XPS 13 with ubuntu preinstalled. Perhaps that helps. The graphics on my current machine (Dell XPS 13 with Intel UHD 620) were always subpar, so you may be right.

wout commented 2 years ago

Just had another crash from a Telegram notification, but those are disabled:

image

In telegram itself, native notifications are enabled:

image

I've now disabled notifications from within the app.

wout commented 2 years ago

Same for Mailspring. Other applications are disabled, but still, they're coming through. So I've disabled them from within the app.

jeremypw commented 2 years ago

Yes, third party apps may not respect elementary settings I guess.

wout commented 2 years ago

Ah, I thought the notifications were issued through some kind of service and filtered out by elementary.

wout commented 2 years ago

Just had another crash from a system notification:

image

So that confirms it's definitely not caused by Electron apps, because they're all disabled now.

wout commented 2 years ago

Just now, again a serious crash from a terminal notification. I can feel them getting more "serious" because it takes the UI longer to recover. Eventually, the whole system goes down because it takes too long to recover.

It's incrementally getting worse, so there is some buildup going on. Like an event is fired twice, then three times, then four times, five times ... until the system can't take it anymore.

jeremypw commented 2 years ago

Hmm, thats not good :disappointed: Is it related to the number of uncleared notifications? If it is a simple fault in the code it would be expected to occur on all hardware and I have never seen this although if it is a race of some kind then it could depend on the relative speed of different parts of the system. It is very hard to diagnose it. You could try having htop or other system monitor running and keeping on an eye on memory and other resource use.

wout commented 2 years ago

I feel you, it's a frustrating situation. :unamused: Maybe if all people experiencing this error can post their hardware, then perhaps we can find some pattern there?

As expected, my system went down this morning. I'll try to clear notifications regularly to see if that's something. Yesterday I've also noticed a crash without a notification, that was new.

It's definitely not a memory leak of some sort. I have Monitor running all the time and I keep a close watch on it:

image

I often have many apps open and I run regularly into the 80-90% for everything. So I'd notice if something was using more memory than usual, or incrementally more.

Next week I'm going to install a desktop machine with elementary (i5 9600K - 32GB RAM). It'll be my primary machine for the coming months, so I'll report back if it happens there as well (or not). If it doesn't, then it may be hardware. If it does, then it's probably something software-related.

kgenkov commented 2 years ago

I experienced this issue although not recently. Maybe because I'm not switching workspaces as heavily. My hardware is Lenovo Ideapad 5 14 with an AMD CPU: Ryzen 5500U, 16 gigs of RAM, SSD. No discrete graphics.

jeremypw commented 2 years ago

@wout Thanks for your continuing efforts to get to the bottom of it :smile:

wout commented 2 years ago

I just love elementary that much. :smile:

wout commented 2 years ago

Just freshly installed my desktop, crash happened again just a minute ago. This is completely different hardware:

ASUS Z390 ROG / i5-9600K / 32 GB RAM / 3 TB SSD / AMD Radeon RX 570

So with this, we can be sure it's software-related.

jeremypw commented 2 years ago

Just managed to get my install into a semi-hung state by sending 1000 notifications without any delay between (before I was sending at one second intervals for more realism). Initially most operations became unresponsive because all 8 cores were nearly saturated. Eventually only io.elementary.wingpanel was consuming cpu (about 80% of one core) and the wingpanel was unresponsive but also the dock was unresponsive and I could not switch windows (although I could switch workspaces). When I killed the wingpanel process (sudo killall io.elementary.wingpanel) normal service was resumed. Not sure how this is related to your issue but it shows that the wingpanel can be overloaded by too many (or too rapid) notifications and this could look like a system crash.

jeremypw commented 2 years ago

Looks like this is a known issue - see https://github.com/elementary/wingpanel-indicator-notifications/issues/123

wout commented 2 years ago

Maybe it's related, but in my case, it's just an occasional notification. I rarely have multiple notifications at the same time.

jeremypw commented 2 years ago

If the notification system is not being stressed and it happens with notifications from any source it makes it harder to explain. Does it still only happen when a notification is received at the same time as a workspace operation? Or can it happen without any other simultaneous operation?

wout commented 2 years ago

It happens for example when I'm browsing, writing code in Sublime Text, or doing something else in a given application inside a workspace. Typically, I have about 7 or 8 workspaces open at one time, each one to three applications/windows open in them. It's not necessarily happening when I'm interacting with an application, or switching workspaces. Sometimes I'm just reading an article or document without touching anything.

There are two things I notice that are consistently happening.

First, the notification appears at the top left of the screen, rather than the top right.

Second, any windows that are tiled in split-screen (one left, the other right), are resized by about the height of the wingpanel, after recovering from the crash. It seems like the wingpanel disappeared for a moment and the windows stretched themselves to make up for the empty space. Then the wingpanel came back and pushed both windows down, so their bottom parts fall outside of the screen. Also notable is that both windows are still in the same position, but no longer registered as tiled left and right, because I can drag them. One crtl + cmd + left arrow (or right arrow) will put them back into tiled mode.This doesn't happen with full-size windows, only split-screen tiled windows.

A while back I tried not tiling any windows in split-screen, just having two windows per workspace floating side by side. But that doesn't help either. The crashes still happend, with the exception that the windows' height remained the same.

jeremypw commented 2 years ago

Thanks - that provides some clues. The wingpanel will automatically restart if it crashes, which would explain it disappearing and reappearing.

I recall an old issue where notifications appeared in the wrong place but I cannot remember off-hand what the cause was.

jeremypw commented 2 years ago

If you deliberately kill the wingpanel by typing sudo killall io.elementary.wingpanel twice into a terminal and then run wingpanel from the terminal under gdb with gdb io.elementary,wingpanel and then run, if it crashes it will not restart and you can get a backtrace of the cause of the crash by typing bt into gdb.

You can restart the wingpanel by typing run into gdb again.

jeremypw commented 2 years ago

@wout I notice that in a previous message you mentioned Notifications Demo taking up a lot of memory - this app should only be launchable from the commandline (it does not appear in the Applications Menu) so presumably you were using it? When I run it it only takes up less than 10Mb of memory so something strange is happening. This app does not store any information other than that initially required to run afaict. What type of notifications were you sending with the demo? Did any of these cause the crash?

If you can get a log of what was happening before the crash it would help - the ones you posted seem to show stuff after the segmentation fault in gala.desktop as judged by the timestamps.

janxkoci commented 2 years ago

I can reliably reproduce this bug and trigger a crash following the steps below.

I use Telegram (with native notification enabled) and Terminal to produce notifications, both cause the crash under the conditions mentioned below. I tried to take a screenshot with both the PrtSc key or using a timer, both methods fail. During crash the PrtSc key does not work, while the timer gave me an error dialog saying the screenshot could not be saved.

Symptoms of the crash

The crash itself lasts only about a second or two, then most things go back to normal. I observe the following temporary symptoms:

After about a second, most stuff goes back to normal, but there may be a few lasting effects:

Steps to reproduce

  1. Send yourself a notification from e.g. Telegram (Saved messages > type a message > right-click the send button > Schedule).
  2. Switch to different workspace (I also switched focus to different app before workspace switch).
  3. When the notification comes, click on it (the crash doesn't happen if I don't click on it at this step). You will be taken back to the app.
  4. Set another notification, e.g. as in step 1, or run sleep 5 in Terminal.
  5. Repeat step 2, wait for the notification. Update: alternatively just change volume or brightness to trigger the second notification.
  6. The second notification comes with a crash.

    I was not able to reproduce it with just Terminal though. I needed to use at least Telegram, as above. But in the past I also noticed it with other apps. I suspect the source of the second notification doesn't matter, while the first one is crucial.

Update: I just checked and the second notification can be even just volume or brightness change. So step 3. is the most likely trigger.

Hardware

About two weeks ago I did a fresh install of OS 6.1 on a Slimbook Essential 14", Intel based laptop with integrated graphics.

Snímek z 2022-03-21 10-48-39

jeremypw commented 2 years ago

I tried this using just Terminal (I do not have Telegram) and did not get a crash. I noted that on clicking on the notification that Terminal "bounced" in the dock but the workspace did not switch to focus the Terminal window so your step 3 was not reproduced exactly. Not sure if this is due to some setting being different or because it was a Telegram notification.

janxkoci commented 2 years ago

Hi @jeremypw I noticed it too, see my updates to the post. I think my tests show that only certain sources of the first notification in step 3 are important to trigger this. I will see if I can find another app that does this.

Update: step 5 also seems to be important, I cannot trigger the crash without it.