Asymmetric out of sync stuck syncing

I have 6 Syncthing clients. Names: Genesis (v0.14.33, Windows (64 bit)), Master (v0.14.33, Linux (ARM)) and some others.

The problem is as follows:

  • Genesis shows all folders and device Master as up-to-date
  • Master shows all folders as up-to-date, but shows Genesis as syncing 96%, 3.39GiB

This condition persists since several hours now and no transfers are happening.

Last night i already deleted and rebuilt the index of all clients due to another problem (while all devices were paused everywhere). I connected them only after all folders were scanned.

After that Master had to do some serious syncing even though not much was actually transferred (all files were in sync before), yet Genesis did immediately say all in sync.

Even though i am using ignore-patterns i doubt it has to do with this:

I am using the same (shared in one separate folder) included global ignores file for all my folders on all devices.

The global and local state is everywhere (on Genesis & Master) identical. No changed files are shown anywhere.

Any help would be appreciated!

Greetings Fino;

It could mean some files simply can’t be downloaded. Screenshot of the UI would help.

Here screenshots of both clients:

But if that’s the case it should tell which folder and which files, right?

I looked through all folders. All seems fine.

And before this all clients were in sync. So there should be no difference here now.

It looks like one of the folders is shared asymmetrically, and ignored on the other side.

As in A shares F with B, so A assumes B should have content of F, but F does not exist on B or is not shared with A.

Ok sounds reasonable to explain the condition. But if this is the case i would expect that Syncthing detects the situation and updates the meta-data accordingly.

Let’s see me check the shared folders …

In deed you are right! I found the culprit:

Somehow Master thinks it is shared with Genesis, but Genesis does not have it.

Why can’t Syncthing handle this case in a clever way? Like for example:

  1. At Master give the info: Genesis does not have this folder. (Re-Send)
  2. At Genesis give the info: There is a shared folder for you (i know it usually does this when first time sharing a folder, but now we are in a stuck situation)
  3. There must be a better way to handle this, other than being stuck in this condition …

But anyway: Thanks for the help! :gift:

It already prompts you if that happens (on the other side that has the folder unshared), but you must have pressed ignore.

And how do i get it back now? Manually add it on the other side (ok that would work…)?

I tried un-sharing and re-sharing it on Master to no avail.

Yet again: If i pressed ignore or did not yet accept it, i think the other client should show, that the folder is not set-up instead of “syncing X GiB” but not progressing …

I’m scared now:

What happens if i add a new (empty) folder on Genesis with the same ID as the missing one on Master?

Does it delete all files on Master?

Or sync all files from Master to Genesis?

Either way: Why?

You can shutdown syncthing and modify config.xml by hand and remove the xml element with the id of the ignored folder somewhere there, or just add an empty folder with the same id. That should not remove any files, unless something crazy has happened. As a safe guard you can set the folder to send only on source side to be able to reject any changes from the empty device.

The prompt has 3 options, accept, later and ignore and you must have pressed ignore.

1 Like

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