Gnome shell doesn't start when `extension-updates` and `extensions` directories don't match
Affected version
gnome-shell 1:3.36.0-1
Bug summary
When an extension is present in ~/.local/share/gnome-shell/extension-updates
but not in ~/.local/share/gnome-shell/extensions
, the whole gnome shell startup fails with the error message JS ERROR: Gio.IOErrorEnum: Error opening directory '/home/you/.local/share/gnome-shell/extensions/extension@author': No such file or directory
Steps to reproduce
mkdir -p ~/.local/share/gnome-shell/extension-updates/reproduce@bug
- Log out and try to log back in
What happened
Gnome doesn't start
What did you expect to happen
I expected Gnome to start and maybe show me a message that my extension state is broken
Relevant logs, screenshots, screencasts etc.
$ journalctl -b -1 /usr/bin/gnome-shell
--- manually cut
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6813]: JS ERROR: Gio.IOErrorEnum: Error opening directory '/home/tf/.local/share/gnome-shell/extensions/reproduce-bug@me': No such file or directory
recursivelyDeleteDir@resource:///org/gnome/shell/misc/fileUtils.js:33:24
_installExtensionUpdates/<@resource:///org/gnome/shell/ui/extensionSystem.js:492:23
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
_installExtensionUpdates@resource:///org/gnome/shell/ui/extensionSystem.js:484:19
init@resource:///org/gnome/shell/ui/extensionSystem.js:53:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:244:22
start@resource:///org/gnome/shell/ui/main.js:138:5
@<main>:1:47
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6813]: Execution of main.js threw exception: Script <main> threw an exception
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6915]: clutter_input_device_get_device_type: assertion 'CLUTTER_IS_INPUT_DEVICE (device)' failed
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6915]: clutter_input_device_get_device_type: assertion 'CLUTTER_IS_INPUT_DEVICE (device)' failed
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6915]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6915]: Will monitor session 4
Mär 09 16:30:03 tf-thinkpad-arch gnome-shell[6915]: Failed to launch ibus-daemon: launcher.launch is not a function
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6915]: Failed to create file /run/user/1000/gnome-shell-disable-extensions: Error opening file “/run/user/1000/gnome-shell-disable-extensions”: File exists
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6915]: JS ERROR: Gio.IOErrorEnum: Error opening directory '/home/tf/.local/share/gnome-shell/extensions/reproduce-bug@me': No such file or directory
recursivelyDeleteDir@resource:///org/gnome/shell/misc/fileUtils.js:33:24
_installExtensionUpdates/<@resource:///org/gnome/shell/ui/extensionSystem.js:492:23
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
_installExtensionUpdates@resource:///org/gnome/shell/ui/extensionSystem.js:484:19
init@resource:///org/gnome/shell/ui/extensionSystem.js:53:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:244:22
start@resource:///org/gnome/shell/ui/main.js:138:5
@<main>:1:47
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6915]: Execution of main.js threw exception: Script <main> threw an exception
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: clutter_input_device_get_device_type: assertion 'CLUTTER_IS_INPUT_DEVICE (device)' failed
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: clutter_input_device_get_device_type: assertion 'CLUTTER_IS_INPUT_DEVICE (device)' failed
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: Will monitor session 4
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: Failed to launch ibus-daemon: launcher.launch is not a function
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: Failed to create file /run/user/1000/gnome-shell-disable-extensions: Error opening file “/run/user/1000/gnome-shell-disable-extensions”: File exists
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: JS ERROR: Gio.IOErrorEnum: Error opening directory '/home/tf/.local/share/gnome-shell/extensions/reproduce-bug@me': No such file or directory
recursivelyDeleteDir@resource:///org/gnome/shell/misc/fileUtils.js:33:24
_installExtensionUpdates/<@resource:///org/gnome/shell/ui/extensionSystem.js:492:23
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
_installExtensionUpdates@resource:///org/gnome/shell/ui/extensionSystem.js:484:19
init@resource:///org/gnome/shell/ui/extensionSystem.js:53:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:244:22
start@resource:///org/gnome/shell/ui/main.js:138:5
@<main>:1:47
Mär 09 16:30:04 tf-thinkpad-arch gnome-shell[6937]: Execution of main.js threw exception: Script <main> threw an exception