gnome-shell --replace fails on --x11
Affected version
- OS: Fedora 34 (Live)
- GNOME Shell version: 40.0
- mutter version 40.0
- Appears on XOrg
Bug summary
In a XOrg GNOME shell, running gnome-shell --replace --x11
will crash.
Steps to reproduce
- Start Fedora 34 Live (note that default is Wayland)
- Switch to Xorg
- Open a gnome-terminal
- Run
gnome-shell --replace --x11
- Click on a window on the overview screen
What happened
After step 5, "Oh no! Something has gone wrong." appears.
What did you expect to happen
No error should appear; all windows should be restored.
Relevant logs, screenshots, screencasts etc.
Note that I cannot reproduce this on Wayland. Maybe Wayland does not support --replace
?
After step 4, the screen looks like this (note that there are some messages on the terminal):
Now, for step 5 I clicked on the gnome-terminal's overview, then I get this:
This is the command output of journalctl -f -o cat /usr/bin/gnome-shell
during step 4 and 5:
Skipping parental controls support as it’s disabled
Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Will monitor session 4
Telepathy is not available, chat integration will be disabled.
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
GNOME Shell started at Sat May 22 2021 23:42:54 GMT-0400 (Eastern Daylight Time)
Registering session with GDM
Connection to xwayland lost
Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
meta_later_add: assertion 'display' failed
meta_later_remove: assertion 'display' failed
JS ERROR: TypeError: adjustment is null
goToPage@resource:///org/gnome/shell/ui/iconGrid.js:1395:9
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1102:20
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1674:15
_init/<@resource:///org/gnome/shell/ui/appDisplay.js:146:18
_init/<@resource:///org/gnome/shell/ui/iconGrid.js:1175:59
_removePage@resource:///org/gnome/shell/ui/iconGrid.js:472:14
_removeItemData@resource:///org/gnome/shell/ui/iconGrid.js:513:18
_addItemToPage/<.destroyId<@resource:///org/gnome/shell/ui/iconGrid.js:560:59
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
JS ERROR: TypeError: container is null
_patchLayoutClass/layoutClass.prototype.hookup_style@resource:///org/gnome/shell/ui/environment.js:60:13
vfunc_set_container@resource:///org/gnome/shell/ui/overviewControls.js:115:14
clutter_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed
meta_later_add: assertion 'display' failed
meta_later_add: assertion 'display' failed
Object .Gjs_ui_calendar_Placeholder (0x55d4864f06e0), has been already deallocated — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
== Stack trace for context 0x55d48535e140 ==
#0 55d4859e0f30 i resource:///org/gnome/shell/ui/calendar.js:1028 (3249f7c56ce0 @ 149)
#1 7ffce477f310 b self-hosted:850 (d2bd9824470 @ 454)
#2 55d4859e0ea0 i resource:///org/gnome/shell/ui/calendar.js:1014 (3249f7c56d80 @ 49)
#3 55d4859e0e08 i resource:///org/gnome/shell/ui/popupMenu.js:811 (3249f7c0c790 @ 52)
#4 55d4859e0d70 i resource:///org/gnome/shell/ui/popupMenu.js:968 (3249f7c0c420 @ 190)
#5 55d4859e0cd8 i resource:///org/gnome/shell/ui/panelMenu.js:189 (3249f7c8e5b0 @ 41)
#6 7ffce4785030 b self-hosted:850 (d2bd9824470 @ 423)
../gobject/gsignal.c:2732: instance '0x55d4864f70d0' has no handler with id '2847'
clutter_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed
ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=5 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=3011 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1
org.gnome.Shell already exists on bus and --replace not specified
org.gnome.Shell already exists on bus and --replace not specified
org.gnome.Shell already exists on bus and --replace not specified
Adding device '/dev/dri/card0' (i915) using atomic mode setting.
Boot VGA GPU /dev/dri/card0 selected as primary
Using public X11 display :1024, (using :1025 for managed services)
Using Wayland display name 'wayland-0'
Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-FzvzdRq6vP: Permission denied
Skipping parental controls support as it’s disabled
Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Will monitor session c2
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
Usage of object.actor is deprecated for AuthPrompt
get@resource:///org/gnome/shell/ui/environment.js:317:29
_initEntryRow@resource:///org/gnome/shell/gdm/authPrompt.js:176:9
_init@resource:///org/gnome/shell/gdm/authPrompt.js:93:14
_init@resource:///org/gnome/shell/gdm/loginDialog.js:446:28
_ensureUnlockDialog@resource:///org/gnome/shell/ui/screenShield.js:406:28
showDialog@resource:///org/gnome/shell/ui/screenShield.js:334:14
_initializeUI/<@resource:///org/gnome/shell/ui/main.js:273:26
_prepareStartupAnimation@resource:///org/gnome/shell/ui/layout.js:684:14
_loadBackground/signalId</id<@resource:///org/gnome/shell/ui/layout.js:621:22
Registering session with GDM
WL: file descriptor expected, object (5), message create_pool(nhi)
WL: error in client communication (pid 4295)
ATK Bridge is disabled but a11y has already been enabled.
Skipping parental controls support as it’s disabled
Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Will monitor session 7
Telepathy is not available, chat integration will be disabled.
Failed to create file /run/user/1000/gnome-shell-disable-extensions: Error opening file “/run/user/1000/gnome-shell-disable-extensions”: File exists
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
GNOME Shell started at Sat May 22 2021 23:44:39 GMT-0400 (Eastern Daylight Time)
Registering session with GDM
Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
I am happy to provide gdb stack traces if needed (but I need some instructions on where to set break points etc.)