Slow or Hanging GVFS mounts may lead the whole session to hang
Bug #1997264 reported by
Marco Trevisan (Treviño)
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-shell (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
gnome-shell-extension-ubuntu-dock (Ubuntu) |
Fix Released
|
Critical
|
Marco Trevisan (Treviño) | ||
Jammy |
In Progress
|
High
|
Marco Trevisan (Treviño) | ||
gvfs (Ubuntu) |
Triaged
|
Undecided
|
Unassigned |
Bug Description
[ Impact ]
Trying to query info from a mout point that is hanging may lead the whole shell to hang due to a sync call, that cannot be cancelled nor times out.
[ Test case ]
1. Start a slow copy operation on file manager (good test case is using mpt protocol,
and so, copying some big file to/from an android device) on a mounted device that
is visible in the launcher.
2. Try to interact with the mounted launcher icon (right clicking it)
3. The whole session should never hang
[ Regression potential ]
Mounted locations are not properly launched from dock
Changed in gnome-shell (Ubuntu): | |
status: | New → Won't Fix |
Changed in gvfs (Ubuntu): | |
status: | New → Triaged |
summary: |
- slow GVFS mounts may lead the whole session to hang + Slow or Hanging GVFS mounts may lead the whole session to hang |
no longer affects: | gnome-shell (Ubuntu Jammy) |
no longer affects: | gvfs (Ubuntu Jammy) |
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu Jammy): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
importance: | Undecided → High |
status: | New → In Progress |
description: | updated |
To post a comment you must log in.
This bug was fixed in the package gnome-shell- extension- ubuntu- dock - 76ubuntu1
--------------- extension- ubuntu- dock (76ubuntu1) lunar; urgency=medium
gnome-shell-
[ Marco Trevisan (Treviño) ] commandline( )
* New upstream release 76
* windowPreviews, appIcons: set maximum width/height on menus taking scaling
in account.
Even if St.Theme is supposed to scale down all the css values, this
doesn't seem to happen for the menus max-width / height values and so
we may end up having too big menus to be visible. (LP: #1992980)
* appIcons, windowPreview: Use overlay-scrollbars for window previews.
Helps to have them properly aligned
* appIcons: do not set isHorizontal parameter on AppIcon when opening a menu.
It's not an object property, so no need to keep it changed here.
* windowPreview: Improve style of menu-items depending on dock positioning.
Sadly this is not just a style change, because apparently St is bugged
when it comes to handle the first/last child properties so if we'd just
use normal allocation we would have lost the special padding for those
elements causing unwanted behavior.
In this way, instead we preserve the style-defined sizes also for
first/last children.
* utils: Use nicer syntax for later and MonitorManager wrappers
* Add gnome-suggested eslint and auto-fix main issues.
* extension: Cleanup code to be conform to ESLint rules
* docking: Remove autohide trigger timeout on destruction
* windowPreview: Get scale size without using an utility function.
That's simple enough to be handled internally
* appIcons: Allow marking urgent applications when not running.
This may be supported when using remote launcher actions
* appIconIndicators: Do not load theme node for off-stage widgets.
These information are only available when a widget is on the stage
* locations: Notify error message to the user, not the error itself
* locations: Ignore errors when mounting a mounted device or umounting an
umounted one
* locations: Do not try to use the handler app twice to launch if not found.
We're already doing a check for handler app in vfunc_launch(), so
there's no need to go through the same via vfunc_get_
* locations: Check for gjs version just once
* locations: Do not return anything on open_new_window.
* locations: Mark the application as stopped if launching fails.
* locations: Use async API to get the handler APP for uri.
GVfs implementations of GFile could cause the shell to hang while querying
the file infos, making the whole UI to freeze, and such actions can't be
cancelled, even if that's running in external processes.
To avoid this to happen, we need to use the async API and limit its
execution time to handle failures gracefully.
In case we also cache the last valid handler applications so that in case
we can re-use it on timeouts. (LP: #1997264)
* locations: Use better logic to check if a new window can be opened.
Sadly we can't use the new-window action directly because it does not
support adding further arguments.
* locations: Handle undefined error gracefully
* eslint: disable so...