** Description changed:
- On Dell Precision 5480.
+ [ Impact ]
- Plug a thunderbolt monitor with a thunderbolt storage concatenate to it to
DUT's thunderbolt port, both thunderbolt devices are unauthorized.
- The gnome-shell has no response when I click any items on it or icon in Dock.
+ On Ubuntu 24.04, connecting multiple unauthorized Thunderbolt devices can
+ make GNOME Shell unresponsive.
- If the thunderbolt devices are authorized, the operation works normally.
+ GNOME Shell registers an async enrollment function with GLib.idle_add(). The
+ function returns a Promise instead of a synchronous GSource continuation
+ value, so GLib repeatedly dispatches the idle source and Shell enters a busy
+ loop. This makes it impossible to authorize a device.
- ProblemType: Bug
- DistroRelease: Ubuntu 24.10
- Package: gnome-shell 47.0-2ubuntu2
- ProcVersionSignature: Ubuntu 6.11.0-8.8-generic 6.11.0
- Uname: Linux 6.11.0-8-generic x86_64
- ApportVersion: 2.30.0-0ubuntu4
- Architecture: amd64
- CasperMD5CheckResult: pass
- Date: Wed Oct 9 15:59:17 2024
- DisplayManager: gdm3
- GsettingsChanges:
- b'org.gnome.shell' b'welcome-dialog-last-shown-version' b"'47.0'"
- b'org.gnome.desktop.app-folders' b'folder-children' b"['Utilities', 'YaST',
'Pardus']"
- b'org.gnome.desktop.input-sources' b'sources' b"[('xkb', 'us')]"
- b'org.gnome.mutter.keybindings' b'toggle-tiled-left' b'@as []'
- b'org.gnome.mutter.keybindings' b'toggle-tiled-right' b'@as []'
- InstallationDate: Installed on 2024-10-09 (0 days ago)
- InstallationMedia: Ubuntu 24.10 "Oracular Oriole" - Release amd64 (20241008)
- ProcEnviron:
- LANG=en_US.UTF-8
- PATH=(custom, no user)
- SHELL=/bin/bash
- TERM=linux
- XDG_RUNTIME_DIR=<set>
- RelatedPackageVersions: mutter-common 47.0-1ubuntu4
- SourcePackage: gnome-shell
- UpgradeStatus: No upgrade log present (probably fresh install)
- ---
- ProblemType: Bug
- ApportVersion: 2.30.0-0ubuntu4
- Architecture: amd64
- CasperMD5CheckResult: pass
- DisplayManager: gdm3
- DistroRelease: Ubuntu 24.10
- GsettingsChanges:
- b'org.gnome.shell' b'welcome-dialog-last-shown-version' b"'47.0'"
- b'org.gnome.desktop.app-folders' b'folder-children' b"['Utilities', 'YaST',
'Pardus']"
- b'org.gnome.desktop.input-sources' b'sources' b"[('xkb', 'us')]"
- InstallationDate: Installed on 2024-10-09 (0 days ago)
- InstallationMedia: Ubuntu 24.10 "Oracular Oriole" - Release amd64 (20241008)
- Package: gnome-shell 47.0-2ubuntu2
- PackageArchitecture: amd64
- ProcEnviron:
- LANG=en_US.UTF-8
- PATH=(custom, no user)
- SHELL=/bin/bash
- TERM=linux
- XDG_RUNTIME_DIR=<set>
- ProcVersionSignature: Ubuntu 6.11.0-8.8-generic 6.11.0
- RelatedPackageVersions: mutter-common 47.0-1ubuntu4
- Tags: oracular
- Uname: Linux 6.11.0-8-generic x86_64
- UpgradeStatus: No upgrade log present (probably fresh install)
- UserGroups: adm cdrom dip lpadmin plugdev sudo users
- _MarkForUpload: True
+ Run the asynchronous enrollment worker from a synchronous one-shot idle
+ callback that immediately returns GLib.SOURCE_REMOVE.
+
+ This is a GNOME Shell 46 adaptation of upstream commit:
+
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/046cc0e647262332243f0b0001004cd6345cfba8
+
+ [ Test Plan ]
+
+ Use a system that reproduces the issue, such as a Dell XPS 13 9350 with a
+ Thunderbolt dock, Thunderbolt monitor and chained Thunderbolt storage.
+
+ With the current Noble package:
+
+ 1. Forget the devices' existing enrollment and disconnect them.
+ 2. Log in to GNOME and connect the Thunderbolt device chain.
+ 3. Confirm that GNOME Shell becomes unresponsive during authorization.
+
+ With the proposed package:
+
+ 1. Install the update and log out and back in, or reboot.
+ 2. Forget the devices' enrollment and reconnect the same device chain.
+ 3. During authorization, exercise the top bar, quick settings, application
+ switching, and Ubuntu Dock.
+ 4. Confirm that Shell remains responsive and `boltctl list` reports the
+ expected device state.
+ 5. Repeat the disconnect, forget, and reconnect procedure at least ten times.
+ 6. Check `journalctl -b /usr/bin/gnome-shell` and confirm that one idle
source
+ does not cause rapid repeated enrollment attempts.
+ 7. Also test an already-authorized device and a single unauthorized device.
+ Confirm that Shell interaction, enrollment, and notifications still work.
+
+ [ Where problems could occur ]
+
+ A regression in the changed enrollment queue could prevent enrollment from
+ starting or prevent the next queued device from being processed. The visible
+ result would be a Thunderbolt device remaining unauthorized or an expected
+ failure notification not appearing.
+
+ A chained child can still report `parent not authorized, deferring` if it is
+ processed before its parent. That ordering issue is separate; this update's
+ pass criterion is that GNOME Shell remains responsive and does not enter the
+ idle-source busy loop.
+
+ [ Other Info ]
+
+ The issue is not reproducible on Ubuntu 26.04, where the upstream fix is
+ present.
+
+ Noble packaging MR:
+ https://salsa.debian.org/gnome-team/gnome-shell/-/merge_requests/134
+
+ Stable upstream MR:
+ https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4390
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2084015
Title:
gnome-shell has no response when plug-in unauthorized thunderbolt
devices
To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/2084015/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs