[Bug]: Nextcloud desktop client (macOS) becomes unresponsive at 100% CPU
⚠️ Before submitting, please verify the following: ⚠️
- [x] This is a bug, not a question or a configuration issue.
- [x] This issue is not already reported on Github (I've searched it).
- [x] Nextcloud Server and Desktop Client are up to date. See Server Maintenance and Release Schedule and Desktop Releases for supported versions.
- [x] I agree to follow Nextcloud's Code of Conduct
Bug description
The desktop client starts syncing and then becomes unresponsive quickly. If I pause the sync right after the client starts then it does not crash.
Steps to reproduce
Unknown
Expected behavior
Desktop client should sync the files and stay responsive.
Which files are affected by this bug
I did not manage to deterministically pinpoint it to a specific file.
Operating system
macOS
Which version of the operating system you are running.
macOS Sonoma 14.7 (23H124)
Package
Official macOS 12+ universal pkg
Nextcloud Server version
29.0.7
Nextcloud Desktop Client version
3.14.1
Is this bug present after an update or on a fresh install?
Updated from a minor version (ex. 3.4.2 to 3.4.4)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
Are you using an external user-backend?
- [x] Default internal user-backend
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other
Nextcloud Server logs
{"reqId":"[REDACTED]","level":0,"time":"2024-10-21T17:23:38+00:00","remoteAddr":"[REDACTED]","user":"[REDACTED]","app":"text","method":"POST","url":"/remote.php/dav/bulk","message":"Reset document skipped in BeforeNodeWrittenEvent","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.14.1daily (Nextcloud, macos-23.6.0 ClientArchitecture: arm64 OsArchitecture: arm64)","version":"29.0.7.1","exception":{"Exception":"OCP\Files\NotFoundException","Message":"","Code":0,"Trace":[{"file":"/usr/local/nextcloud/apps/text/lib/Listeners/BeforeNodeWrittenListener.php","line":60,"function":"getId","class":"OC\Files\Node\NonExistingFile","type":"->"},{"file":"/usr/local/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php","line":86,"function":"handle","class":"OCA\Text\Listeners\BeforeNodeWrittenListener","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":230,"function":"__invoke","class":"OC\EventDispatcher\ServiceEventListener","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":59,"function":"callListeners","class":"Symfony\Component\EventDispatcher\EventDispatcher","type":"->"},{"file":"/usr/local/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":86,"function":"dispatch","class":"Symfony\Component\EventDispatcher\EventDispatcher","type":"->"},{"file":"/usr/local/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":98,"function":"dispatch","class":"OC\EventDispatcher\EventDispatcher","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/HookConnector.php","line":93,"function":"dispatchTyped","class":"OC\EventDispatcher\EventDispatcher","type":"->"},{"file":"/usr/local/nextcloud/lib/private/legacy/OC_Hook.php","line":105,"function":"write","class":"OC\Files\Node\HookConnector","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1287,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1154,"function":"runHooks","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":683,"function":"basicOperation","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/Folder.php","line":192,"function":"file_put_contents","class":"OC\Files\View","type":"->"},{"function":"newFile","class":"OC\Files\Node\Folder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":84,"function":"call_user_func_array"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":463,"function":"__call","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/BulkUpload/BulkUploadPlugin.php","line":92,"function":"newFile","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPost","class":"OCA\DAV\BulkUpload\BulkUploadPlugin","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/Server.php","line":383,"function":"exec","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/remote.php","line":172,"args":["/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/usr/local/nextcloud/lib/private/Files/Node/NonExistingFile.php","Line":52,"message":"Reset document skipped in BeforeNodeWrittenEvent","exception":{},"CustomMessage":"Reset document skipped in BeforeNodeWrittenEvent"}}
{"reqId":"[REDACTED]","level":0,"time":"2024-10-21T17:23:38+00:00","remoteAddr":"[REDACTED]","user":"[REDACTED]","app":"no app in context","method":"POST","url":"/remote.php/dav/bulk","message":"dirty table reads: SELECT fileid FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.14.1daily (Nextcloud, macos-23.6.0 ClientArchitecture: arm64 OsArchitecture: arm64)","version":"29.0.7.1","exception":{"Exception":"Exception","Message":"dirty table reads: SELECT fileid FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","Code":0,"Trace":[{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":348,"function":"executeQuery","class":"OC\DB\Connection","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":384,"function":"executeQuery","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Cache.php","line":497,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Cache.php","line":515,"function":"getId","class":"OC\Files\Cache\Cache","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Updater.php","line":258,"function":"getParentId","class":"OC\Files\Cache\Cache","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Updater.php","line":145,"function":"correctParentStorageMtime","class":"OC\Files\Cache\Updater","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":298,"function":"update","class":"OC\Files\Cache\Updater","type":"->","args":["*** sensitive parameters replaced "]},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1188,"function":"writeUpdate","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":683,"function":"basicOperation","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/Folder.php","line":192,"function":"file_put_contents","class":"OC\Files\View","type":"->"},{"function":"newFile","class":"OC\Files\Node\Folder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":84,"function":"call_user_func_array"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":463,"function":"__call","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/BulkUpload/BulkUploadPlugin.php","line":92,"function":"newFile","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPost","class":"OCA\DAV\BulkUpload\BulkUploadPlugin","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/Server.php","line":383,"function":"exec","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/remote.php","line":172,"args":["/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/usr/local/nextcloud/lib/private/DB/Connection.php","Line":320,"message":"dirty table reads: SELECT fileid FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","tables":["oc_authtoken","oc_filecache"],"reads":["oc_filecache"],"exception":{},"CustomMessage":"dirty table reads: SELECT fileid FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)"}}
{"reqId":"[REDACTED]","level":0,"time":"2024-10-21T17:23:38+00:00","remoteAddr":"[REDACTED]","user":"[REDACTED]","app":"no app in context","method":"POST","url":"/remote.php/dav/bulk","message":"dirty table reads: SELECT path FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (fileid = :dcValue2)","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.14.1daily (Nextcloud, macos-23.6.0 ClientArchitecture: arm64 OsArchitecture: arm64)","version":"29.0.7.1","exception":{"Exception":"Exception","Message":"dirty table reads: SELECT path FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (fileid = :dcValue2)","Code":0,"Trace":[{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":348,"function":"executeQuery","class":"OC\DB\Connection","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":384,"function":"executeQuery","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Cache.php","line":1102,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Cache.php","line":419,"function":"getPathById","class":"OC\Files\Cache\Cache","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Updater.php","line":264,"function":"update","class":"OC\Files\Cache\Cache","type":"->","args":[" sensitive parameters replaced "]},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Updater.php","line":145,"function":"correctParentStorageMtime","class":"OC\Files\Cache\Updater","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":298,"function":"update","class":"OC\Files\Cache\Updater","type":"->","args":[" sensitive parameters replaced ***"]},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1188,"function":"writeUpdate","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":683,"function":"basicOperation","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/Folder.php","line":192,"function":"file_put_contents","class":"OC\Files\View","type":"->"},{"function":"newFile","class":"OC\Files\Node\Folder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":84,"function":"call_user_func_array"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":463,"function":"__call","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/BulkUpload/BulkUploadPlugin.php","line":92,"function":"newFile","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPost","class":"OCA\DAV\BulkUpload\BulkUploadPlugin","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/Server.php","line":383,"function":"exec","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/remote.php","line":172,"args":["/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/usr/local/nextcloud/lib/private/DB/Connection.php","Line":320,"message":"dirty table reads: SELECT path FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (fileid = :dcValue2)","tables":["oc_authtoken","oc_filecache"],"reads":["oc_filecache"],"exception":{},"CustomMessage":"dirty table reads: SELECT path FROM *PREFIX*filecache WHERE (storage = :dcValue1) AND (fileid = :dcValue2)"}}
{"reqId":"[REDACTED]","level":0,"time":"2024-10-21T17:23:38+00:00","remoteAddr":"[REDACTED]","user":"[REDACTED]","app":"no app in context","method":"POST","url":"/remote.php/dav/bulk","message":"dirty table reads: SELECT filecache.fileid, storage, path, path_hash, filecache.parent, filecache.name, mimetype, mimepart, size, mtime, storage_mtime, encrypted, etag, filecache.permissions, checksum, unencrypted_size, metadata_etag, creation_time, upload_time, meta.json AS meta_json, meta.sync_token AS meta_sync_token FROM *PREFIX*filecache filecache LEFT JOIN *PREFIX*filecache_extended fe ON filecache.fileid = fe.fileid LEFT JOIN *PREFIX*files_metadata meta ON filecache.fileid = meta.file_id WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.14.1daily (Nextcloud, macos-23.6.0 ClientArchitecture: arm64 OsArchitecture: arm64)","version":"29.0.7.1","exception":{"Exception":"Exception","Message":"dirty table reads: SELECT filecache.fileid, storage, path, path_hash, filecache.parent, filecache.name, mimetype, mimepart, size, mtime, storage_mtime, encrypted, etag, filecache.permissions, checksum, unencrypted_size, metadata_etag, creation_time, upload_time, meta.json AS meta_json, meta.sync_token AS meta_sync_token FROM *PREFIX*filecache filecache LEFT JOIN *PREFIX*filecache_extended fe ON filecache.fileid = fe.fileid LEFT JOIN *PREFIX*files_metadata meta ON filecache.fileid = meta.file_id WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","Code":0,"Trace":[{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":348,"function":"executeQuery","class":"OC\DB\Connection","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":384,"function":"executeQuery","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/Cache.php","line":164,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Cache/HomeCache.php","line":57,"function":"get","class":"OC\Files\Cache\Cache","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1336,"function":"get","class":"OC\Files\Cache\HomeCache","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1383,"function":"getCacheEntry","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/HookConnector.php","line":226,"function":"getFileInfo","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/HookConnector.php","line":115,"function":"getNodeForPath","class":"OC\Files\Node\HookConnector","type":"->"},{"file":"/usr/local/nextcloud/lib/private/legacy/OC_Hook.php","line":105,"function":"postCreate","class":"OC\Files\Node\HookConnector","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1287,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":1214,"function":"runHooks","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/View.php","line":683,"function":"basicOperation","class":"OC\Files\View","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/Folder.php","line":192,"function":"file_put_contents","class":"OC\Files\View","type":"->"},{"function":"newFile","class":"OC\Files\Node\Folder","type":"->"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":84,"function":"call_user_func_array"},{"file":"/usr/local/nextcloud/lib/private/Files/Node/LazyFolder.php","line":463,"function":"__call","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/BulkUpload/BulkUploadPlugin.php","line":92,"function":"newFile","class":"OC\Files\Node\LazyFolder","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPost","class":"OCA\DAV\BulkUpload\BulkUploadPlugin","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/lib/Server.php","line":383,"function":"exec","class":"Sabre\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\DAV\Server","type":"->"},{"file":"/usr/local/nextcloud/remote.php","line":172,"args":["/usr/local/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/usr/local/nextcloud/lib/private/DB/Connection.php","Line":320,"message":"dirty table reads: SELECT filecache.fileid, storage, path, path_hash, filecache.parent, filecache.name, mimetype, mimepart, size, mtime, storage_mtime, encrypted, etag, filecache.permissions, checksum, unencrypted_size, metadata_etag, creation_time, upload_time, meta.json AS meta_json, meta.sync_token AS meta_sync_token FROM *PREFIX*filecache filecache LEFT JOIN *PREFIX*filecache_extended fe ON filecache.fileid = fe.fileid LEFT JOIN *PREFIX*files_metadata meta ON filecache.fileid = meta.file_id WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)","tables":["oc_authtoken","oc_filecache"],"reads":["oc_filecache","oc_filecache_extended","oc_files_metadata"],"exception":{},"CustomMessage":"dirty table reads: SELECT filecache.fileid, storage, path, path_hash, filecache.parent, filecache.name, mimetype, mimepart, size, mtime, storage_mtime, encrypted, etag, filecache.permissions, checksum, unencrypted_size, metadata_etag, creation_time, upload_time, meta.json AS meta_json, meta.sync_token AS meta_sync_token FROM *PREFIX*filecache filecache LEFT JOIN *PREFIX*filecache_extended fe ON filecache.fileid = fe.fileid LEFT JOIN *PREFIX*files_metadata meta ON filecache.fileid = meta.file_id WHERE (storage = :dcValue1) AND (path_hash = :dcValue2)"}}
Additional info
- The server is running Ubuntu 22.04, but the problem was already present on 20.04.
- There is 48GB of free space on the server and more than 150GB on the client.
- I ran
occ files:scan --allandocc maintenance:repair. - There are no configuration warnings.
- I tried to pinpoint the issue to specific directories or files but did not reach any conclusive results. I tried both excluding directories via the ignore list and manually removing and re-adding them on both the client and server. At one point or another, the client always becomes unresponsive.
- I've had this issue across multiple client and server versions. Unfortunately, I don't remember when it started on the client, but on the server, it has been present since before the "Hub" versions were introduced.
- I tried removing the ".sync" files as suggested in this comment, but with no success.
- I tried downgrading to several versions, including 3.4.2, but all showed the same symptoms.
- An excerpt of the server logs is attached. Happy to provide more if needed. Also happy to provide the client logs, but I wasn't sure if they potentially contain any sensitive information.
If you are using the Mac OS VFS client, you might be experiencing the same issue decribed here: #7326
If you are using the Mac OS VFS client, you might be experiencing the same issue decribed here: #7326
Thanks @marcotrevisan. I’m using the 'classic' client. I reviewed the issue for any clues beforehand, but unfortunately, it doesn’t seem related.
Same problem here on 15.0.1 (24A348) with both versions of the client (VFS or not)
I have the same issue. I have tried using older versions that used to work but the apps still becomes unresponsive with 100% CPU usage.
I have the same problem. becomes unresponsive with 100% CPU. We urgently need a solution here....
Cheers
I don't know whether it is relevant to this, but for me on Ubuntu 24.04, the deb version becomes unresponsive and starts eating more and more RAM until it gets OOM-killed. The behavior is the same on both the latest 3.14.3 version as well as 3.11 from the Ubuntu repos. Apparently, there are some files that trigger it to do so but I see no logic whatsoever, these are just random files which sync perfectly well on my other laptop with the same Ubuntu 24.04 system. I tried deleting configuration files, deleting the sync file, deleting the entire folder and syncing it from scratch, but it all didn't help much. The AppImage version just randomly dies. The flathub version so far seems to stay put. I don't know whether this bug has anything to do with Nextcloud or I somehow managed to bork my Ubuntu.
I don't know whether it is relevant to this, but for me on Ubuntu 24.04, the deb version becomes unresponsive and starts eating more and more RAM until it gets OOM-killed. The behavior is the same on both the latest 3.14.3 version as well as 3.11 from the Ubuntu repos. Apparently, there are some files that trigger it to do so but I see no logic whatsoever, these are just random files which sync perfectly well on my other laptop with the same Ubuntu 24.04 system. I tried deleting configuration files, deleting the sync file, deleting the entire folder and syncing it from scratch, but it all didn't help much. The AppImage version just randomly dies. The flathub version so far seems to stay put. I don't know whether this bug has anything to do with Nextcloud or I somehow managed to bork my Ubuntu.
Maybe related to the issue that was shared above (if you use the VFS client)?
Maybe related to the issue that was shared above (if you use the VFS client)?
No, I don't think VFS support is implemented for Linux.
My Nextcloud desktop client also eats 100% CPU and is totally unresponsive, version 3.14.3, AppImage, Fedora 41 (Linux).
So probably not simply @undefiened having borked their Ubuntu...
I ran strace on my Nextcloud client. I found out that the client tried to descent through an Directory symlink. After i removed the symlink, the Client behaved normally again. Could someone else check if their problem could stem from this? Previous versions Ignored the Directory since it was an symlink.
I ran strace on my Nextcloud client.
@stop5 bear with me, I'll report back (note to self: finally stop forgetting about strace when debugging stuff...)
BTW, I was called away from my laptop this morning while the Nextcloud client was at 100% CPU (I had htop running on the side) and when I returned ~1 hour later, Nextcloud was idling.
Furthermore, right now I have the strace nexcloud... running in a terminal and the process is idling, too. Need to find out what exactly triggers the high CPU usage which I've seen on my machine several days in a row now.
I also invested some more time to dig in deeper and it seems the problem might be related to a connection setting. I had "Upload Bandwidth" set to "Limit automatically". I changed that to "No limit" and the client is working fine for the first time in months. Fingers are still crossed though 🤞.
I'm experiencing the same problem in opensuse Tumbleweed; it started with version 3.14.2 and is always present in 3.14.3 I installed today. I have "no limit" bandwidth selected, but alas! 100% CPU usage while syncing.
Hey, I have the same issue on Linux as well. Some performance tracing shows that the CPU usage comes from constantly reallocating memory. Tracing that backwards leads to the following code:
https://github.com/nextcloud/desktop/blob/907b07cc0968b515e585d9453d888bec0e91942c/src/libsync/syncengine.cpp#L1219-L1222
Here it becomes obvious that the string first is reallocated on every loop iteration and as _localDiscoveryPaths can easily contain thousands of paths this becomes very slow. For me it didn't finish within 30 minutes.
The code was introduced in #7291 and reverting this commit on the latest stable release (3.15) fixes the issue for me.
Still the same with 3.15.1.
I've "killed" the client now in order to give my laptop's fans a rest. Hoping for a fix.
I'm experiencing the same problem in opensuse Tumbleweed; it started with version 3.14.2 and is always present in 3.14.3 I installed today. I have "no limit" bandwidth selected, but alas! 100% CPU usage while syncing.
I'd like to confirm this find. To remove the limit remove entries below
[BWLimit]
downloadLimit=80
uploadLimit=10
useDownloadLimit=-1
useUploadLimit=-1
from config file: $HOME/Library/Preferences/Nextcloud/nextcloud.cfg
The BWLimit does not change anything for me (I'm on Linux Opensuse) Still the same behavior with the last client 3.15.2
Hey, I have the same issue on Linux as well. Some performance tracing shows that the CPU usage comes from constantly reallocating memory. Tracing that backwards leads to the following code:
desktop/src/libsync/syncengine.cpp
Lines 1219 to 1222 in 907b07c
const auto allPaths = std::accumulate(_localDiscoveryPaths.begin(), _localDiscoveryPaths.end(), QString{}, [] (auto first, auto second) -> QString { first += ", " + second; return first; });
Here it becomes obvious that the string
firstis reallocated on every loop iteration and as_localDiscoveryPathscan easily contain thousands of paths this becomes very slow. For me it didn't finish within 30 minutes. The code was introduced in #7291 and reverting this commit on the latest stable release (3.15) fixes the issue for me.
I also expirienced the 100% CPU used issue on an arch linux system using version 3.15.2.
Using perf I could trace the cause to the memory allocation of building the allPaths QString.
Simply deleting the two statements solved the issue for me.
diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp
index 368d0f8c8..1df36bdf4 100644
--- a/src/libsync/syncengine.cpp
+++ b/src/libsync/syncengine.cpp
@@ -1216,13 +1216,6 @@ void SyncEngine::setLocalDiscoveryOptions(LocalDiscoveryStyle style, std::set<QS
_localDiscoveryStyle = style;
_localDiscoveryPaths = std::move(paths);
- const auto allPaths = std::accumulate(_localDiscoveryPaths.begin(), _localDiscoveryPaths.end(), QString{}, [] (auto first, auto second) -> QString {
- first += ", " + second;
- return first;
- });
-
- qCInfo(lcEngine()) << "paths to discover locally" << allPaths;
-
// Normalize to make sure that no path is a contained in another.
// Note: for simplicity, this code consider anything less than '/' as a path separator, so for
// example, this will remove "foo.bar" if "foo" is in the list. This will mean we might have
Hello,
the client was enhanced significantly since the opening of this ticket. You can help us with a retest. If you are still encountering issues, please get back to us