🐞 Bug Report: GNOME Shell crash on sleep / account switch caused by Zorin extensions (Zorin OS 18)

Zorin OS version: Zorin OS 18
GNOME Shell: 46.x (mutter 46.2)
Session: X11
GPU: NVIDIA (proprietary driver)
Hardware: MSI GF63 Ultra Thin
Architecture: amd64


:red_exclamation_mark: Summary

GNOME Shell crashes during sleep preparation, lock screen, or user switching due to an unhandled exception in Zorin GNOME Shell extensions (zorin-taskbar and zorin-appindicator). This results in the β€œOh no! Something has gone wrong” screen, forcing a logout.

This is not an NVIDIA driver issue β€” the crash originates from Zorin-maintained GNOME Shell extensions during session mode transitions on GNOME 46.


:repeat_button: Steps to Reproduce

  1. Boot into Zorin OS 18
  2. Log in normally
  3. Trigger any of the following:
  • Let system auto-sleep due to inactivity
  • Manually lock the screen
  • Switch to another user account
  1. GNOME Shell crashes and shows:

β€œA problem has occurred and the system can’t recover. Please log out and try again.”


:white_check_mark: Expected Result

GNOME Shell should gracefully handle sleep / lock / session transitions without crashing.


:cross_mark: Actual Result

GNOME Shell crashes and GDM cannot recover the session.


Screenshot

:package: Affected Packages (latest from ppa:zorinos/stable)

gnome-shell-extension-zorin-taskbar
  Installed: 70.1.1
  Candidate: 70.1.1

gnome-shell-extension-zorin-appindicator
  Installed: 60.0.1
  Candidate: 60.0.1

:scroll: Relevant Logs (journalctl)

TypeError: SettingsManager.getDefault() is null

Stack trace:
  getDefaultGSettings@file:///usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com/settingsManager.js:54:28
  _updateIconSize@file:///usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com/appIndicator.js:1558:42
  _updateWhenFullyReady@file:///usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com/appIndicator.js:1013:18
  async*_init/<@file:///usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com/appIndicator.js:966:22
  disable/<@file:///usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/panelManager.js:344:20
  disable@file:///usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/panelManager.js:319:20
  disable@file:///usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/extension.js:132:26
  _callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:220:32
  _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:646:24
  async*_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:847:20
  ...
  _prepareForSleep@resource:///org/gnome/shell/ui/screenShield.js:294:22

Additional messages seen before the crash:

Failed to parse saved session file
meta_output_get_monitor: runtime check failed

:brain: Analysis

  • Crash occurs during _prepareForSleep / session mode transitions
  • Zorin extensions do not handle GNOME 46 lifecycle changes correctly
  • SettingsManager.getDefault() returns null during extension disable
  • GNOME Shell crashes instead of recovering

Disabling the following extensions fully resolves the issue:

  • zorin-taskbar@zorinos.com
  • zorin-appindicator@zorinos.com
  • zorin-window-move-effect@zorinos.com

This confirms the root cause is extension logic, not graphics drivers or hardware.


:hammer_and_wrench: Temporary Workaround

Disable the affected extensions:

sudo mv /usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com \
        /usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com.bak
sudo mv /usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com \
        /usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com.bak

After reboot, sleep / lock / user switching works reliably.


:pushpin: Impact

  • Affects default Zorin OS 18 desktop
  • Causes frequent forced logouts
  • Easily triggered on laptops due to sleep/lock behavior
  • High user-facing severity

:folded_hands: Request

Please patch the Zorin GNOME Shell extensions to safely handle GNOME 46 session transitions, or guard against SettingsManager.getDefault() returning null during disable.

Regards
Mukesh Kumar

1 Like

I have moved this report to the Feedback Section.

Hey guys, adding my hat to this bug/feedback.

I am experiencing consistent GNOME Shell crashes on Zorin OS 18 (using Wayland) specifically when the monitor enters sleep mode or the screen blanks (usually after 10-40 or so minutes of idle time). The crash forces a logout and returns me to the GDM login screen.

After hardware troubleshooting, including verifying PSU power delivery and BIOS setting changes like disabling C-State/ Deep Sleep, and changing PCIE link speed to gen 4), the system logs confirm a recurring JS error within the Zorin AppIndicator extension that appears to trigger the session crash.

Computer specs are:
Zorin OS 18 (non pro) fully updated as of this post.
Intel Core i9 12900K
AMD Radeon RX 9070 XT
96GB RAM
ASRock B760M Pro RS

This has happened to me on other distros, like Nobara, Bazzite, CachyOS, and Elementary-- all running Gnome.

I did generate a crash txt file, which I can include, but these are some of the juicy bits:

Jan 27 18:38:02 COSMIC gnome-shell[2143]: TypeError: this._indicator is null

  • _waitForFullyReady@file:///usr/share/gnome-shell/extensions/zorin-appindicator@zorinos.com/appIndicator.js:993:13*

Jan 27 18:47:51 COSMIC gnome-shell[2143]: Received an X Window System error.

  • The error was 'BadWindow (invalid Window parameter)'.*
  • (Details: serial 906289 error_code 3 request_code 7 (core protocol) minor_code 0)*

Jan 27 18:47:51 COSMIC gnome-shell[1393]: JS ERROR: Gio.IOErrorEnum: Xwayland exited unexpectedly

(COSMIC is just the name of my computer, not the Cosmic DE from Mint).

In my case, this also causes the monitor to physically reset its brightness to 25% (likely a failed DDC/CI handshake during the crash). Disabling the Zorin extensions manually prevents the crash, but obviously removes the core Zorin look.

I've set my monitor to never turn off in the meantime as a fix, and set for the lock screen to not appeard when monitor sleeps. :slight_smile:

Thanks!

1 Like