Desktop Sync seems to never end (and blocks other devices)

I'm a newbe with Joplin. I've installed it on a Windows desktop and two Android devices with identical sync parameter and the same encryption password. On Android, everything works as expected, on Windows it stucks.

The desktop version of Joplin directly starts syncing, showing rotating arrows and the cancel button (German version: Abbrechen). This button incl. rotation never disappears - except when I switch the sync from "webdav" to "none" (Then the button is named "Synchronisieren"). When I press that cancel button, a message "Wird abgebrochen ..." (cancelling) appears, but nothing else happens.

Changes in the notes are not synced, until I force a sync via File-Sync. While the destop app is running this way, the other devices can't sync because it's exclusively locked. When the desktop app is stopped, the other devices can sync. When starting, the desktop app gets new notes from the android devices, so it generally works (if I terminate the desktop app when not used).

With the developer mode I've found some suspicious messages that I unfortunately don't understand:

18:03:26: ResourceService::deleteOrphanResources:
C:\Program Files\Joplin\resources\app.asar\node_modules\@joplin\lib\Logger.js:205 18:03:28: Could not run background sync:
C:\Program Files\Joplin\resources\app.asar\node_modules\@joplin\lib\Logger.js:205 18:03:28: Error: DELETE locks/1_1_cd236274313941919c5fd9bd7e7fefbb.json: Unknown error 2 (409): 
    at newError (C:\Program Files\Joplin\resources\app.asar\node_modules\@joplin\lib\WebDavApi.js:414:11)
    at WebDavApi.exec (C:\Program Files\Joplin\resources\app.asar\node_modules\@joplin\lib\WebDavApi.js:444:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async FileApiDriverWebDav.delete (C:\Program Files\Joplin\resources\app.asar\node_modules\@joplin\lib\file-api-driver-webdav.js:208:4)

Operating system: Windows 10 Pro (22H2)

Joplin 2.11.11 (prod, win32)
Sync-Version: 3
Profil-Version: 43
Unterstützter Schlüsselbund: Ja
Revision: 6886f6f

Syncing via Webdav to "https://webdav.mc.gmx.net/Joplin/"

Any ideas how to get rid of that problem?
Thanks in advance.

An Unknown Error 2 (409) is a conflict error which would suggest that the desktop app is trying to delete a file that does not exist. Thus, locks/1_1_cd236274313941919c5fd9bd7e7fefbb.json probably does not exist or the desktop app is trying to use the wrong path to that file.

When the app encounters an error like this, it retries the request several times (where the retries each have several seconds in-between). Retrying a request that will always fail can thus take a long time before an error message becomes visible. (I think around 20 seconds).

Things to check:

  1. Is the Webdav URL correct on the desktop app?
  2. When the desktop app is syncing, what is in the locks/ folder? (Is the locks/ folder empty when the desktop app is not syncing and no other devices are syncing?)

Additionally, if you don't already have one, please make sure you have a recent backup of your notes.

Thanks for your answer.

The file locks/1_1_cd236274313941919c5fd9bd7e7fefbb.json exists even after I stopped the desktop app. I've removed it, started the app (which again did not stop syncing) and the file appears again and did not vanish after I stopped the app. So it seems that the sync starts correctly but is not able to stop again. Neither by time (I waited more than 10 minutes), nor by terminating the app (by closing the window). I've disable the background part meanwhile.

Make sure the date/time on the computer with sync issues is correct. An incorrect date/time is known to cause sync issues and may cause conflict errors (see the source linked above).

Thanks.

The desktop gets it's time from a time server and has the same time as the Android devices that work as expected.

Hi Arno, I suggest you don't bother with trouble shooting no longer, but start all over again.
Let's assume (example) all relevant notes are now on your desktop. Go into your cloud drive (web interface I assume) and delete all files in the Joplin profile folder. Make a backup of your Joplin notes on the desktop (e.g. using the backup plug-in). Check in this sequence from the options menu ...

  • first sync configuration
  • if that test doesn't work fix the settings
  • next encryption settings

Now ONLY, request a sync in Joplin (desktop) and see if it terminates as it should.
Then report back if you encounter more problems.

Thanks for your suggestions. I renamed the folder on the server, created a new one with the old name and started a re-sync of the local data to webdav. It seems that everything is synced, but again, the sync did not end.

Remote-Elemente erstellt: 1975.
Geladene Elemente: 1976/1976.

The above message is shown - which is the expected number of items - and since more than an hour afterwards, the arrows are still moving beside the "Abbrechen" (cancel) description of the sync button below the message. I'm not sure about the suggestion "next encryption settings", as I did not deactivate the encryption before syncing. So the problem is still there.

In the dev-tools / console I found one minor issue (blue flag) with the following description. Maybe someone has an idea whether it is in any kind related to the problem:

Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform

A page or script is accessing at least one of navigator.userAgent, navigator.appVersion, and navigator.platform. Starting in Chrome 101, the amount of information available in the User Agent string will be reduced.
To fix this issue, replace the usage of navigator.userAgent, navigator.appVersion, and navigator.platform with feature detection, progressive enhancement, or migrate to navigator.userAgentData.
Note that for performance reasons, only the first access to one of the properties is shown.

AFFECTED RESOURCES
1 source
C:\Program Files\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:1
Learn more: User-Agent String Reduction

I've found a workaround for this problem. I would not call it a solution, but as long as there is no solution available, I can live with this:

When I had a sync conflict on the desktop, synchronization stoped and worked as expected in the defined intervals. After a lot of syncs in the background, the problem re-appears the next day. After another (this time intended) sync conflict, it again returns to the expected behavior. I've reduced the sync interval to one hour and disabled background synchronization. The problem has not occured again until now. In case the re-appears I have a note prepared to provoke a sync conflict.

Workaround Cookbook

  1. stop synchronization on Desktop (by switching destination to none)
  2. change a note on the desktop
  3. change the same note in the mobile app (to something different)
  4. sync the mobile app
  5. enable synchronization on Desktop (by switching destination to webdav)
  6. start sync (if it does not start itself)
  7. sync conflict appears on desktop and sync stops
  8. delete the note in the conflict notebook
  9. set sync interval to 1 hour, no background synchronisation

Maybe my workaround helps someone with a similar problem.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.