corrupt files when syncing, status says "up to date" on both devices

Hi, I have set up a shared directory called DCIM in which I want to sync the pictures and videos of my mobile Android device (Galaxy Tab S5e) with a corresponding directory on my mac mini running MacOS Monterey. But when I do this, I get several corrupted files (just the first part of the picture is decoded, the bottom is just grey, or the file is not readable at all). Hitting rescan on both devices does not change that - the status stays “up to date”. Syncthing on both devices is version 1.27.2 How can I find the reason for that? I don’t think that the device combination is that exotic. Kind regards, Heiko

Where are you seeing the incomplete pictures? On the Mac? What software and is it in the preview mode or when opening the picture fully? Could be that the software generates preview (thumbnail) files while Syncthing is not yet finished downloading the original.

Hi, this is a good point but I can rule that out. I tried to open these files on two different computers and they all show the same behaviour. Important addition: The file sizes are identical but MD5 says that these synced files are not identical. Isn’t there a checksum routine incorporated into syncthing?

this the file in question

and this is the source file

this is a screenshot of Kdiff that says these two files are identical in size

Yes. Something else is going on. Perhaps the files were only partially written when Syncthing read them, and then didn’t get a new timestamp when they were finalised.

2 Likes

This came up every now and then on android - what calmh said. The files on android turned out to be fine, but have the exact same size and mod. time as when Syncthing scanned the partial file. What might help is increasing the FS watcher delay, don’t remember if this was tried before and helped. In principle it should, but the problem likely is in finding a good value - I wouldn’t be surprised if the time until the file is fully written is pretty erratic.

Some android camera apps write files via mmapping. Writes via mmap does not update timestamps. There is nothing reasonable that can be done as far as I understand.

1 Like

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