Follow up: Case-only renaming files may cause deletion

Original topic from @HaujetZhao (Syncthing Community Forum - Support, announcements, development coordination and general chat.)

Hi,

I’ve heard about that “problem” in different topics, issues etc. last year. One of them was still on my to-investigate bookmark list. Now, I’ve found a reproducer by accident.

I’m using Android 12 (January security patch level) and Syncthing v1.18.6 .

I can trigger the unexpected deletion by doing a case only rename on my computer, e.g. “.PDF” got “.pdf”. The computer is a default sendReceive and Android is a default sendReceive. Android reported in the list of global changes “file modified” and then “file deleted”.

What happened: I lost the file on both devices. Expected: The rename done on the computer should have been synced over to the Android.

Maybe this at least sheds some light because I think this is only happening in the niche case of case only renames. If it helps, the file system of the computer is ZFS with ACL. The file system of the Android is default internal storage (f2fs).

Kind regards Catfriend1

2 Likes

Yeah… I did some troubleshooting in the original topic (Renaming caused file deletion bug.) and reproducing it wasn’t a problem – understanding why it happened was a problem. :slight_smile: I failed to understand it, partially because I didn’t have the know-how (or possibly energy) to deploy full scale debugging tools on Android. IIRC it didn’t reproduce on my emulator, only on a physical device, which is more locked down.

It also happened when renaming between dash and underscore, which Syncthing doesn’t consider equivalent under any circumstances. This made me suspect something external, since even if our case-rename-handling is entirely screwed up, it shouldn’t take effect when renaming things like that.

2 Likes

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