GNOME Shell crashes when Thunderbird opens "Add Account" dialog when on a different workspace than one it was started on
Hey,
This is quite a peculiar crash, but it seems reproducible on today's Arch Linux with gnome-shell v3.34.4-1 and v68.5.0-1. It also happens when extensions are disabled via GNOME Tweak.
The path to the crash is as follows:
- Open Thunderbird.
- Right click on its title bar and select "Always on Visible Workspace".
- Switch to another workspace.
- Open Account Settings in Thunderbird.
- Hit "Account Actions" and then pick, for example, "Add Other Account", from the context menu:
At that point the shell crashes and the crash handler offering a Log Out appears above all other windows. Sometimes windows reappear on top of the crash handler permitting some interaction. The relevant entry in the systemd journal seems to be:
Mar 05 16:02:43 host gnome-shell[61535]: mutter:ERROR:../mutter/src/core/window
.c:4834:set_workspace_state: 'window->unmanaging || workspace != NULL' should be
TRUE
Mar 05 16:02:43 host gnome-shell[61535]: Bail out! mutter:ERROR:../mutter/src/c
ore/window.c:4834:set_workspace_state: 'window->unmanaging || workspace != NULL'
should be TRUE
For what it's worth, if I manage to close the opened wizard with the limited interactivity X11 nakedly provides in the crash state and force-start gnome-shell-x11.service
(after fixing up its Systemd unit file to permit manual starting), it actually manages to start up and take control again. Then it's just a matter of killing the crash-handler, which, again, by default kills the session once it exits.
I wouldn't be surprised if the combination of being an a workspace other than the one an app was started on may cause crashes in other apps, too. I at least remember seeing weird behavior with Transmission, the torrent client. I think its "Add New Torrent" window does get displayed on other workspaces, but is not interactive unless you switch to the workspace Transmission originally was started from. Or it might've been that it's not interactive unless you switch to the workspace Transmission currently resides in, in case it's not marked "Visible on All Workspaces". At least that doesn't cause the entire shell to crash.