Slow file dialogs, open and save
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gvfs (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Focal |
Fix Released
|
Low
|
Unassigned |
Bug Description
[Description/
glib GFileMonitors can cause deadlocks if not explicitly cancelled before unref-ing (as of Dec 2021; see https:/
This issue was reported and fixed in gvfs
issue: https:/
commit: https:/
merge: https:/
[Test Case]
To my knowledge, there is not a 100% reproducer for gvfs from userspace as this is a probable lock-ordering issue in lower-level code. https:/
User reports of gvfsd-trash manifesting this deadlock exist for Focal and Focal-based distributions, and it has been acknowledged and worked-around in gvfs. See:
https:/
https:/
https:/
The code change patched-in here has propagated to various other projects. See:
https:/
https:/
[Regression Potential]
This patch explicitly cancels GFileMonitors before "unreferencing" them to workaround a known glib issue. Absent any currently-unknown issues with the GFileMonitor framework, code added by this patch should be entirely within valid usage of GFileMonitors, is already present in gvfs releases in wide distribution, and, at worst, should become superfluous if/when the underlying glib issue is fixed.
In the event that gvfsd-trash had some (currently unknown) mismanagement of its file watchers, it's possible that attempting to cancel an invalid monitor might behave differently than unref-ing it (which was already happening), but, this scenario would likely be bad either way.
[Original Description]
On Ubuntu Mate 20.04.
Sometime the Open and Save dialogs in GTK applications will over 20 seconds to display.
I found https:/
The issue is apparently fixed in gvfs 1.46.2
Please could 1.46.2 or the fix https:/
Changed in gvfs (Ubuntu): | |
importance: | Undecided → Low |
Changed in gvfs (Ubuntu Focal): | |
importance: | Undecided → Low |
Changed in gvfs (Ubuntu): | |
status: | Confirmed → Fix Released |
Status changed to 'Confirmed' because the bug affects multiple users.