Bug 423187 - Dolphin freezes when opening rclone or other FUSE mounts
Summary: Dolphin freezes when opening rclone or other FUSE mounts
Status: CONFIRMED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 21.04.2
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-18 20:52 UTC by Sipho Mateke
Modified: 2024-02-28 20:47 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Demonstration of Dolphin becoming unresponsive while a FUSE mount is loading (3.30 MB, video/mp4)
2020-06-18 20:52 UTC, Sipho Mateke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sipho Mateke 2020-06-18 20:52:32 UTC
Created attachment 129500 [details]
Demonstration of Dolphin becoming unresponsive while a FUSE mount is loading

SUMMARY
Opening [rclone](http://rclone.org/) or other FUSE-based mounts such as pCloud Drive makes Dolphin's UI unresponsive and completely unusable until the mount has finished loading. Other file managers such as Nautilus do not freeze when opening the exact same mounts.

STEPS TO REPRODUCE
1. Add a remote to rclone such as OneDrive ([see rclone's documentation](https://rclone.org/onedrive/))
2. Mount the remote
3. Open a folder on the remote that has many files in Dolphin
4. Wait for the remote folder to load and try to continue using Dolphin
5. Open the same folder in Nautilus
6. Try to use Nautilus while the folder loads

OBSERVED RESULT
Dolphin becomes unresponsive while the remote loads and no loading indicator is shown. Opening the same folder in Nautilus does not render it unresponsive and it correctly shows a loading indicator.

EXPECTED RESULT
Dolphin should remain responsive and show some sort of loading indicator while loading FUSE mounts just like it does for other remotes such as FTP.

SOFTWARE/OS VERSIONS
Dolphin Version: 19.12.3
Operating System: Kubuntu 20.04
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-37-generic

ADDITIONAL INFORMATION
Originally reported on Reddit https://www.reddit.com/r/kde/comments/haxpfg/dolphin_freezes_when_opening_rclone_mounts/
Comment 1 Christoph Feck 2020-07-05 12:56:16 UTC
Dolphin believes FUSE mount points are local, because they don't use a remote protocol. I am not sure if it is possible to ask the kernel if a local file path is actually remote, and if KIO needs to be changed or the change needs to be made in Dolphin.
Comment 2 Sipho Mateke 2020-07-06 20:13:10 UTC
(In reply to Christoph Feck from comment #1)
> Dolphin believes FUSE mount points are local, because they don't use a
> remote protocol. I am not sure if it is possible to ask the kernel if a
> local file path is actually remote, and if KIO needs to be changed or the
> change needs to be made in Dolphin.

Would it be worth looking into how Nautilus (or gvfs) handles it? Maybe it just assumes all mount points are remote and always adds a progress indicator? That might make sense since some old local drives can be quite slow to read.

This issue will probably become more important once kio-fuse is rolled out as, from what I understand, it will use FUSE to mount Google Drive and other remote folders.
Comment 3 Christoph Feck 2020-07-06 22:20:13 UTC
Of course gvfs knows if a mount point is local or not, because gvfs created it. The question is, how an application using this mount point can learn if it is a local or remote file system.

BTW, kio-fuse does the reverse: It offers KIO mount points for non-KIO applications as local paths.
Comment 4 Sipho Mateke 2020-07-06 22:29:09 UTC
(In reply to Christoph Feck from comment #3)
> Of course gvfs knows if a mount point is local or not, because gvfs created
> it. The question is, how an application using this mount point can learn if
> it is a local or remote file system.
> 
> BTW, kio-fuse does the reverse: It offers KIO mount points for non-KIO
> applications as local paths.

Oh. I clearly still don't understand anything about how all the components in Linux work. I'll leave this to the professionals :)
Comment 5 Fushan Wen 2021-10-13 02:19:58 UTC
(In reply to Christoph Feck from comment #3)
> Of course gvfs knows if a mount point is local or not, because gvfs created
> it. The question is, how an application using this mount point can learn if
> it is a local or remote file system.
> 
> BTW, kio-fuse does the reverse: It offers KIO mount points for non-KIO
> applications as local paths.

KIO has a function called isSlow(), but it can also cause blocking.
Comment 6 Léo 2023-04-06 08:46:52 UTC
I can reproduce this bug with rclone. Using dolphin is basically impossible when working with large remote file systems using FUSE.
Comment 7 Thibault Molleman 2023-05-13 09:05:17 UTC
I just have a folder with 500 files in it, just navigating folders is a pain. I'm not even trying to download the actual files themselves. Just browsing
Comment 8 David Pearson 2024-02-28 20:47:51 UTC
I have been running into this issue with using onedriver to access OneDrive. I had seen a work around was to use Nautilus, and tried that today. There the behavior was as expected: my OneDrive files load quickly and Nautilus remains responsive in the default view. However, when I tried to switch from the gird view to the list view in Nautilus, it too started to become unresponsive. So I opened Dolphin, switched to the grid view there (I tend to use the details view mode usually) , and the OneDrive folder works without Dolphin becoming unresponsive. It did slow down a little as various file previews were loading, but never became fully unresponsive.

I hope this bit of information is useful in tracking down what the actual issue might be (something with pulling metadata needed for the details view?) and also maybe provides a work around for other affected users (just switch to grid view).