Slow or Hanging GVFS mounts may lead the whole session to hang

Bug #1997264 reported by Marco Trevisan (Treviño)
8
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
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package gnome-shell-extension-ubuntu-dock - 76ubuntu1

---------------
gnome-shell-extension-ubuntu-dock (76ubuntu1) lunar; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * 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_commandline()
  * 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...

Read more...

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: In Progress → Fix Released
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 report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.