Skip to content

[Bug] Sync stalls after some time #10003

@an-dr-eas-k

Description

@an-dr-eas-k

⚠️ 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:

Image

...

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
    • this is not triggered
  • 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

  1. start sync (regardsless with nextcloud, or nextcloudcmd) I use nextcloudcmd to get better insights to the logs
  2. First, the diff analysis succeeds, then up/downloads start
  3. Wait less than 10 minutes
  4. All threads end, network monitor stops reporting events. No log output indicating something to happen.
    ...

Expected behavior

  1. The sync continues until all files are updated on both sides.
  2. 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?

  • Default internal user-backend
  • LDAP or Active Directory
  • SSO - SAML
  • Other

Nextcloud Server logs

nothing related.

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions