Public bug reported:
DESCRIPTION:
Release: Ubuntu 24.04 LTS
Package: gnome-shell 46.0-0ubuntu6~24.04.16 (Wayland)
Also affected: 26.04 (gnome-shell 50.1) appears to contain the same code.
Symptom
After a few weeks of uptime the whole desktop freezes for ~0.9 s every
11 s. Keystrokes typed during a freeze are queued and delivered in a
burst (e.g. 30 repeated backspaces). Probing org.gnome.Shell over D-Bus
(Properties.Get ShellVersion) at 10 Hz shows main-thread stalls of
840-950 ms, exactly 11.0 s apart. No system-wide stall, no kernel/GPU
errors. Disabling all extensions (ubuntu-dock, appindicators,
tiling-assistant) does not help. perf shows the time spent almost
entirely in libmozjs/libgjs (GC tracing, e.g. JSRuntime::tracePersistentRoots).
gnome-shell RSS was 2.5 GB after 28 days. A heap dump
(imports.system.dumpHeap) contained:
526,195 Function _addAccessPoint/<
527,337 Function _trackDestroy/signalData.destroyId<
547,491 GObject_Object wrappers
Cause
In js/ui/status/network.js, NMWirelessDeviceItem._addAccessPoint():
when ap.get_ssid() == null (hidden network) it does
ap.connectObject('notify::ssid', () => { ... }, this);
and returns. Hidden APs never get an SSID, and
NMWirelessDeviceItem._removeAccessPoint() never calls
ap.disconnectObject(this), so every hidden AP that appears and
disappears in a scan is leaked (NMAccessPoint + closure + SignalTracker
bookkeeping) for the lifetime of the device item. In my location 42 of
119 visible APs are hidden and NetworkManager adds/removes dozens per
minute, so the leak grows quickly, and each GC has to trace all of it.
Upstream gnome-shell's gnome-50 branch (after 50.2) and main fix this:
_removeAccessPoint() now begins with ap.disconnectObject(this).
Tags 50.1 and 50.2 do not have it.
Workaround (verified)
nmcli dev set wlp1s0 managed no; sleep 3; nmcli dev set wlp1s0 managed yes
This destroys the Wi-Fi device menu item, freeing the leak: RSS dropped
2.49 GB -> 1.27 GB and the periodic stalls disappeared (worst D-Bus
response 43 ms over 60 s). Toggling Wi-Fi off/on does NOT help, because
the item is kept in the UNAVAILABLE state.
Request
Please backport the upstream _removeAccessPoint disconnect fix to
noble (46) and resolute (50.1).
MR: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4422
main:
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/bec12ffd2075608d10550232e11516d79b036f7c
gnome-50 cherry-pick:
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/926395681e4073b47df25de5f68ad6b0a812c092
Hardware: Framework Laptop 16, AMD Phoenix1, MediaTek mt7921e Wi-Fi,
kernel 7.0.0-38-generic.
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: gnome-shell 46.0-0ubuntu6~24.04.16
ProcVersionSignature: Ubuntu 7.0.0-38.38~24.04.4-generic 7.0.14
Uname: Linux 7.0.0-38-generic x86_64
ApportVersion: 2.28.3-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Mon Nov 2 10:15:41 2026
DisplayManager: gdm3
InstallationDate: Installed on 2025-06-08 (512 days ago)
InstallationMedia: Ubuntu 24.04.2 LTS "Noble Numbat" - Release amd64 (20250215)
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/usr/bin/zsh
TERM=tmux-256color
XDG_RUNTIME_DIR=<set>
RebootRequiredPkgs: Error: path contained symlinks.
RelatedPackageVersions: mutter-common 46.2-1ubuntu0.24.04.18
SourcePackage: gnome-shell
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: gnome-shell (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug noble 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/2172758
Title:
gnome-shell leaks hidden Wi-Fi access points
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2172758/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs