⚠️ Before submitting, please verify the following: ⚠️
Bug description
I am syncing something like 200GB from my local disk to server version 33.0.2. It makes me trouble because I have to restart the sync every 10 minutes. It reads kind of similar to
#7861
I started to investigate here. In this endevour I also created the PR #9975 to get more insights.
What I see:
- there are absolutely no log outputs when the sync starts to hang
- I observe, all threads are being destroyed when this issue arises.
Here is a screenshot of my system monitor and the active running threads:
...
Here, the whole session of nextcloudcmd is traced. Initially, the scan happens on the database, no network traffic, Eventually, traffic indicates sync (first some upload, then some download in my case) and suddenly, the all traffic is ended, while there are still unsynced files, and you see, in the log on bottom a new file is propagated to be uploaded. Then the log ends
...
My investigations
What I tried in the meantime:
- I tried >= 5 previous nextcloud-desktop versions. All have the same issue. (I am using nextcloud only since february)
- In the meantime my home network provider changed coincidently. Issue still there.
- added log output to
void PropagateItemJob::done(const SyncFileItem::Status statusArg, const QString &errorString, const ErrorCategory category) for the case a FatalError occurs
- created some workaround https://github.com/an-dr-eas-k/desktop/tree/bug/10003_stall_detection
- this one is successfully overcoming the issue and sync proceeds
- I am still investigating the root cause
Steps to reproduce
- start sync (regardsless with nextcloud, or nextcloudcmd) I use nextcloudcmd to get better insights to the logs
- First, the diff analysis succeeds, then up/downloads start
- Wait less than 10 minutes
- All threads end, network monitor stops reporting events. No log output indicating something to happen.
...
Expected behavior
- The sync continues until all files are updated on both sides.
- I get some logs that tell me where to investigate
...
Which files are affected by this bug
src/libsync/abstractnetworkjob.h
Operating system
Linux
Which version of the operating system you are running.
Fedora 43
Installation method
Compiled it myself (please test with the AppImage package ?)
Nextcloud Server version
33.0.2
Nextcloud Desktop Client version
33.0.50daily
Did this occur after an update or on a clean installation?
Clean desktop client installation
Are you using the Nextcloud Server Encryption module?
Yes
Are you using an external user-backend?
Nextcloud Server logs
Additional info
Here is the bottom of my log output:
05-08 07:50:27:778 [ debug nextcloud.sync.database ] [ OCC::SyncJournalDb::commitInternal ]: Transaction commit "download file start" and starting new transaction
05-08 07:50:27:778 [ info nextcloud.sync.accessmanager ]: 2 "" "https://beonline.wolkesicher.de/remote.php/dav/files/an.dr.eas.k/Photos/cam/2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" has X-Request-ID "3fa5ba7f-08a5-4e07-99eb-407da2568d4d"
05-08 07:50:27:779 [ debug nextcloud.sync.networkjob.get ] [ OCC::GETFileJob::start ]: OCC::BandwidthManager(0x555555d53fb8) false false
05-08 07:50:27:780 [ info nextcloud.sync.networkjob ]: OCC::GETFileJob created for "https://beonline.wolkesicher.de" + "/Photos/cam/2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" "OCC::PropagateDownloadFile"
05-08 07:50:27:780 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:27:780 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:27:780 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:27:780 [ debug nextcloud.sync.propagator.root.directory ] [ OCC::PropagateRootDirectory::scheduleSelfOrChild ]: root folder has more jobs to do
05-08 07:50:28:657 [ debug nextcloud.sync.checksums ] [ OCC::ComputeChecksum::start ]: Computing "SHA1" checksum of "/home/share/cam/2026/04/.PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg.~68603c33" in a thread
05-08 07:50:28:657 [ debug nextcloud.sync.networkjob ] [ OCC::AbstractNetworkJob::slotFinished ]: Network job OCC::GETFileJob finished for "/Photos/cam/2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg"
05-08 07:50:28:657 [ debug nextcloud.sync.networkjob.get ] [ OCC::GETFileJob::slotReadyRead ]: Get file job finished bytesAvailable/_saveBodyToFile: 0 / true
05-08 07:50:28:662 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::downloadFinished ]: setModTime "/home/share/cam/2026/04/.PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg.~68603c33" 1777140780
05-08 07:50:28:662 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::downloadFinished ]: "/home/share/cam/2026/04/.PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg.~68603c33" file is not locked: making it read write
05-08 07:50:28:662 [ info nextcloud.sync.database ]: Updating file record for path: "2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" inode: 11295593 modtime: 1777140780 type: CSyncEnums::ItemTypeFile etag: "ca7165f863df2eda10e29e4e7d6bb15b" fileId: "00132664ocvf1519jzpr" remotePerm: "GWDNVR" fileSize: 2346647 checksum: "SHA1:908e9e7ffcfdebdbbb6f65044c4a34480409c079" e2eMangledName: "" isE2eEncrypted: false lock: false lock owner type: 0 lock owner: "" lock owner id: "" lock editor: "" sharedByMe: false isShared: false lastShareStateFetchedTimestamp: 1778218923198 isLivePhoto false livePhotoFile "" folderQuota - bytesUsed: -1 bytesAvailable: -1
05-08 07:50:28:663 [ debug nextcloud.sync.database ] [ OCC::SyncJournalDb::commitInternal ]: Transaction commit "download file start2" and starting new transaction
05-08 07:50:28:663 [ info nextcloud.sync.propagator ]: Completed propagation of "2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" by OCC::PropagateDownloadFile(0x55555655e480) with status OCC::SyncFileItem::Success
05-08 07:50:28:663 [ debug nextcloud.sync.statustracker ] [ OCC::SyncFileStatusTracker::slotItemCompleted ]: Item completed "2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" OCC::SyncFileItem::Success CSyncEnums::CSYNC_INSTRUCTION_NEW
05-08 07:50:28:663 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::updateMetadata ]: "/home/share/cam/2026/04/PXL_20260425_181257968.PORTRAIT.ORIGINAL.jpg" file is not locked: making it read write
05-08 07:50:28:666 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs are done
05-08 07:50:28:666 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs are done
05-08 07:50:28:666 [ info nextcloud.sync.propagator ]: Starting CSyncEnums::CSYNC_INSTRUCTION_NEW propagation of "2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" by OCC::PropagateDownloadFile(0x55555655e480)
05-08 07:50:28:666 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::start ]: "2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" 2
05-08 07:50:28:667 [ debug nextcloud.sync.database ] [ OCC::SyncJournalDb::commitInternal ]: Transaction commit "download file start" and starting new transaction
05-08 07:50:28:667 [ info nextcloud.sync.accessmanager ]: 2 "" "https://beonline.wolkesicher.de/remote.php/dav/files/an.dr.eas.k/Photos/cam/2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" has X-Request-ID "081a6075-5647-4aad-aab7-999ee54c6d61"
05-08 07:50:28:667 [ debug nextcloud.sync.networkjob.get ] [ OCC::GETFileJob::start ]: OCC::BandwidthManager(0x555555d53fb8) false false
05-08 07:50:28:667 [ info nextcloud.sync.networkjob ]: OCC::GETFileJob created for "https://beonline.wolkesicher.de" + "/Photos/cam/2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" "OCC::PropagateDownloadFile"
05-08 07:50:28:667 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:28:667 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:28:667 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs have more work to do
05-08 07:50:28:667 [ debug nextcloud.sync.propagator.root.directory ] [ OCC::PropagateRootDirectory::scheduleSelfOrChild ]: root folder has more jobs to do
05-08 07:50:29:444 [ debug nextcloud.sync.checksums ] [ OCC::ComputeChecksum::start ]: Computing "SHA1" checksum of "/home/share/cam/2026/04/.PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg.~532ea0f6" in a thread
05-08 07:50:29:445 [ debug nextcloud.sync.networkjob ] [ OCC::AbstractNetworkJob::slotFinished ]: Network job OCC::GETFileJob finished for "/Photos/cam/2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg"
05-08 07:50:29:445 [ debug nextcloud.sync.networkjob.get ] [ OCC::GETFileJob::slotReadyRead ]: Get file job finished bytesAvailable/_saveBodyToFile: 0 / true
05-08 07:50:29:456 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::downloadFinished ]: setModTime "/home/share/cam/2026/04/.PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg.~532ea0f6" 1777140784
05-08 07:50:29:456 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::downloadFinished ]: "/home/share/cam/2026/04/.PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg.~532ea0f6" file is not locked: making it read write
05-08 07:50:29:457 [ info nextcloud.sync.database ]: Updating file record for path: "2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" inode: 11295596 modtime: 1777140784 type: CSyncEnums::ItemTypeFile etag: "3239cbc8e26647dcf377163403f7ade6" fileId: "00132665ocvf1519jzpr" remotePerm: "GWDNVR" fileSize: 2040039 checksum: "SHA1:512de97058b25b68e3c9d52a0bea515f9daa1af9" e2eMangledName: "" isE2eEncrypted: false lock: false lock owner type: 0 lock owner: "" lock owner id: "" lock editor: "" sharedByMe: false isShared: false lastShareStateFetchedTimestamp: 1778218923199 isLivePhoto false livePhotoFile "" folderQuota - bytesUsed: -1 bytesAvailable: -1
05-08 07:50:29:457 [ debug nextcloud.sync.database ] [ OCC::SyncJournalDb::commitInternal ]: Transaction commit "download file start2" and starting new transaction
05-08 07:50:29:458 [ info nextcloud.sync.propagator ]: Completed propagation of "2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" by OCC::PropagateDownloadFile(0x55555655e480) with status OCC::SyncFileItem::Success
05-08 07:50:29:458 [ debug nextcloud.sync.statustracker ] [ OCC::SyncFileStatusTracker::slotItemCompleted ]: Item completed "2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" OCC::SyncFileItem::Success CSyncEnums::CSYNC_INSTRUCTION_NEW
05-08 07:50:29:459 [ debug nextcloud.sync.propagator.download ] [ OCC::PropagateDownloadFile::updateMetadata ]: "/home/share/cam/2026/04/PXL_20260425_181302881.PORTRAIT.ORIGINAL.jpg" file is not locked: making it read write
05-08 07:50:29:462 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs are done
05-08 07:50:29:462 [ debug nextcloud.sync.propagator.directory ] [ OCC::PropagateDirectory::scheduleSelfOrChild ]: folder child jobs are done
05-08 07:50:29:462 [ info nextcloud.sync.propagator ]: Starting CSyncEnums::CSYNC_INSTRUCTION_NEW propagation of "2026/04/PXL_20260425_181306417.PORTRAIT.jpg" by OCC::PropagateDownloadFile(0x55555655e480)
^C
^C indicated my abortion of the process.
Bug description
I am syncing something like 200GB from my local disk to server version 33.0.2. It makes me trouble because I have to restart the sync every 10 minutes. It reads kind of similar to
#7861
I started to investigate here. In this endevour I also created the PR #9975 to get more insights.
What I see:
Here is a screenshot of my system monitor and the active running threads:
...
Here, the whole session of nextcloudcmd is traced. Initially, the scan happens on the database, no network traffic, Eventually, traffic indicates sync (first some upload, then some download in my case) and suddenly, the all traffic is ended, while there are still unsynced files, and you see, in the log on bottom a new file is propagated to be uploaded. Then the log ends
...
My investigations
What I tried in the meantime:
void PropagateItemJob::done(const SyncFileItem::Status statusArg, const QString &errorString, const ErrorCategory category)for the case a FatalError occursSteps to reproduce
...
Expected behavior
...
Which files are affected by this bug
src/libsync/abstractnetworkjob.h
Operating system
Linux
Which version of the operating system you are running.
Fedora 43
Installation method
Compiled it myself (please test with the AppImage package ?)
Nextcloud Server version
33.0.2
Nextcloud Desktop Client version
33.0.50daily
Did this occur after an update or on a clean installation?
Clean desktop client installation
Are you using the Nextcloud Server Encryption module?
Yes
Are you using an external user-backend?
Nextcloud Server logs
Additional info
Here is the bottom of my log output:
^Cindicated my abortion of the process.