Out of sync items that aren't really out of sync

I have an odd situation here after my initial sync between two devices. First of all, here’s my setup:

  • Syncthing v1.20.1 on Windows 10, this is the source of all my files
  • Two instances of Syncthing v1.12.1 on Debian 11 machines (package provided by Debian), these are receive-only

The initial sync from the Windows machine to the two Debian machines is finished, and on one of them, the status of the Windows machine is displayed as expected: Up to date. However on the other Debian machine, the status of the Windows machine is “Out of sync”, with about 30 GiB worth of files that are claimed to be out of sync. The files exist on all three devices and they are identical, bit by bit. The local / global files count also matches on all machines. So it seems that this one Debian instance has a different idea of what the contents of those files on the Windows machine actually look like. Furthermore, if I rename one of those supposedly out-of-sync files on the Windows machine, the count of out-of-sync files decreases by one when this change propagates to the other machines. The renamed file is not re-downloaded, so Syncthing must be aware that it can in fact reuse the file contents.

Is this a known issue? What can I do to make the Windows machine appear up-to-date again to the Debian machine without removing and re-adding the sync folder on the latter (as I’d prefer not having to do a full rescan of the sync folder)? I couldn’t find anything useful in the logs but maybe you can tell me what to look out for. I’d really like to understand why this is happening, so that I can prevent it from happening again.

Probably the differing attributes are permissions and similar, changed after sync or present prior to the sync. You could do a revert on the receive only side to get it back in sync.

You could do a revert on the receive only side

The option is not there. Syncthing firmly believes on all three machines that the sync folder is up to date. Otherwise I would have done that already. Even manually overwriting the files with identical copies on the receive-only side doesn’t change anything.

Some screenshots to hopefully show more clearly what’s happening:

Johannes-Desktop (Windows 10):

  • Audio folder is up-to-date
  • Sees that RasPi is up-to-date
  • bananapi is not fully synced yet but that’s a different folder

RasPi (Debian 11, no issues):

  • Audio folder is up-to-date
  • Sees that Johannes-Desktop is up-to-date
  • There’s two more devices in the network which see exactly the same state

bananapi (Debian 11, this is the one with issues):

  • Audio folder is up-to-date
  • Sees that Johannes-Desktop is not up-to-date but RasPi is up-to-date
  • Checking the out-of-sync list for Johannes-Desktop, it only shows files from the Audio folder. As mentioned, the files that are shown in this list have exactly the same sha256sum on all devices.

I set the folder on the Debian machine to send&receive instead of receive-only, but even then it just keeps sitting there, both sides claiming they are up-todate. Are there any debug options I could try to better understand what’s happening?