nextcloud / desktop

💻 Desktop sync client for Nextcloud
https://nextcloud.com/install/#install-clients
GNU General Public License v2.0
3.06k stars 804 forks source link

allow linux desktop app to work asynchronously #7456

Open r2evans opened 2 weeks ago

r2evans commented 2 weeks ago

The issue template didn't fill for this (some hints that it's a GH problem), so some standard stuff:

Bug Description

The desktop hangs for various reasons. This happens frequently but not all of the time, and the logs suggest it is busy downloading the list of files (usually not file contents themselves, I have VFS enabled). If I try to open "settings", it can take between 10-60 seconds for the UI to appear, and even then it often hangs (and gnome issues the "hung" dialog, offering to "Force Quit" or "Wait"). Eventually it catches up and all works well again until it tries to connect again.

One of my (two) configured NC profiles has over 50K files (the other over 10K), not sure if that is "a lot" by NC standards. Bandwidth limits are not set, and there are no bandwidth "problems": one of my NC servers is on the same network, and both my internet and the other server are on 200+ Mbps.

I'm confident that most of the desktop application for linux is written in an asynchronous manner, there is at least one code block having to do with network traffic that is not asynchronous.

The app works, but doing anything to it (pause, open settings, open about) will not work immediately if/when the client is syncing files or even just a file list.

Steps to reproduce

  1. Configure a profile that has many files, regardless of file-size.
  2. Enable VFS on linux.
  3. Attempt to bring up and interact with the client window while it is syncing

Server OS: ubuntu-22.04, fresh install (in docker) Client OS: ubuntu-24.04, gnome-46 Client app version: 3.14.2-20241021.144050.4eec4f3d3-1.0~noble1

Encryption? no

External user-backend? saml on the remote server, default on the local

Server logs have no errors or warnings.

Client logs: I will add some when I can get it to re-trigger and isolate which of the logfiles is the culprit (otherwise I'd be uploading tons of logs without knowing which indicates the problem, not helpful to you).

despens commented 1 week ago

I'm not even using nextcloud with VFS, but also managing 100.000+ files, and see the same behavior with sync. The app works in the backgound, files are being synced, but the UI is becoming responsive for very short spans of time only. It is not even possible to unsync the directory that is apparently causing the client to freeze by unticking the box in the settings window.

Jannik44 commented 1 week ago

same problem here

alraban commented 1 week ago

So I see the same behavior as OP but am not using VFS. I'm fairly certain that this is actually a recent regression in the Linux client. I've been using the client for years and the client didn't typically hang like it currently does until a month or two ago.

To troubleshoot, I stepped back through versions and the last version that works normally for me (no hangs or freezes) is 3.14.1. Every version after that (starting with 3.14.2) exhibits the hanging/frozen UI behavior described in the OP.

If anyone else could confirm whether they see the same behavior after rolling back to 3.14.1, that might help the devs narrow down the source of the problem.