** 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

Reply via email to