Public bug reported: Since gnome-shell-ubuntu-extensions 50.26.04.8ubuntu was installed (2026-09-28), my desktop has frozen completely four times in two days (Sep 29 14:39, Sep 30 13:18, 16:08 and 17:46). Screen, mouse and keyboard stop responding. Audio and background processes keep running (I could keep talking in a Teams call). It never recovers on its own; I had to force a logout or hold the power button each time.
In each case gnome-shell is spinning in a tight loop in the main thread and logging the same two errors at roughly 130,000 messages per second. journald reports "Suppressed ~4,000,000 messages from [email protected]" every 30 seconds for the whole episode. rsyslog does not rate limit, so /var/log/syslog grew to 125 GB. What the traces show (see attached gnome-shell-freeze-logs.txt): 1. Before the loop, ubuntu-dock's notificationsMonitor.js (_checkNotifications, lines 86-108, via utils.js GlobalSignalsHandler) accesses and connects signals on a Gjs_ui_messageTray_Notification that "has been already disposed". So a disposed Notification object is still present in a Source's `notifications` array. 2. Later, when the sending app disappears from D-Bus, FdoNotificationDaemonSource ._onNameVanished() (notificationDaemon.js:347) calls destroy() (:390), which runs MessageTray.Source.destroy(): while (this.notifications.length > 0) { const [oldest] = this.notifications; oldest.destroy(reason); // messageTray.js:602 } oldest.destroy() hits the disposed object: emit('destroy') at messageTray.js:489 fails ("impossible to emit any signal on it") and run_dispose() at :497 fails ("impossible to access it"). Because the 'destroy' signal never fires, the notification is never removed from this.notifications, and the while loop never terminates. gnome-shell is the Wayland compositor, so the whole desktop freezes. The loop stops only when the session is killed. Two things seem worth fixing: - ubuntu-dock: the notification counter's signal handling leaves (or fails to cope with) a disposed Notification in the source list. Disabling the counter avoids the problem entirely: gsettings set org.gnome.shell.extensions.dash-to-dock show-icons-notifications-counter false With this setting off there have been no further freezes. - gnome-shell: Source.destroy() should not loop forever if a notification cannot be destroyed, e.g. splice the entry out of this.notifications when oldest.destroy() does not remove it, or iterate over a copy of the array. Other enabled extensions: Vitals, Tiling Shell, simple-weather, BingWallpaper, ding, ubuntu-appindicators, snapd-prompting, snapd-search-provider, web-search-provider. Every stack trace in the attached log goes through ubuntu-dock only. Versions: Ubuntu 26.04.1 LTS, kernel 7.0.0-34-generic, Wayland session gnome-shell 50.1-0ubuntu1.2, mutter 50.1-0ubuntu2.4, gjs 1.88.0-1 gnome-shell-ubuntu-extensions 50.26.04.8ubuntu (ubuntu-dock metadata version 105) Hardware: Microsoft Surface, Intel Meteor Lake-P (Arc graphics) Related upstream reports of "Notification has been already disposed": https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/6983 https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2107662 ProblemType: Bug DistroRelease: Ubuntu 26.04 Package: gnome-shell-ubuntu-extensions 50.26.04.8ubuntu ProcVersionSignature: Ubuntu 7.0.0-34.34-generic 7.0.14 Uname: Linux 7.0.0-34-generic x86_64 ApportVersion: 2.34.1-0ubuntu0.1 Architecture: amd64 CasperMD5CheckResult: pass CurrentDesktop: ubuntu:GNOME Date: Wed Sep 30 20:31:44 2026 InstallationDate: Installed on 2026-07-17 (75 days ago) InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1) PackageArchitecture: all SourcePackage: gnome-shell-ubuntu-extensions UpgradeStatus: No upgrade log present (probably fresh install) ** Affects: gnome-shell-ubuntu-extensions (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug resolute wayland-session -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2169059 Title: gnome-shell hangs in infinite loop in Source.destroy() when a notification is already disposed (ubuntu-dock notification counter), whole desktop freezes and floods the journal To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-shell-ubuntu-extensions/+bug/2169059/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
