Can't write to file... Abandoning share

I tried to install 0.9.18 on Win7 and Linux Ubuntu 14.04. It all works fine with 0.8.21. But with 0.9.18 on Win7 end I get the error in the command window: Can’t write to file … file name is in Cyrillic and is displayed as # numerics instead of properly displaying the characters. Then it says “abandoning the share”. Any idea of what could this be? Thanx in advance.

Can we have the actual error message please?

This is from r/o node, Win7: INFO: create: error: “Repo_name” / “file_path\img#U0413#U0430#U0447…_00.css.tmp”: The system can not find the path specified WARNING: All remaining files failed to sync. Stopping repo “Repo_name”

Also, on Win7 side, which is not a master side, it shows almost 3 times as many files in the repo as there in fact are.

On Linux (Ubuntu 14.04), which is a master side, it shows about 30% more files and total repo size than there are in repo.

There could be some error factor as this repo is fed on the master side by BTSync, and so there are few archive version laying around which syncthing will count as a part of the repo. But the difference in file count/size between the master and r/o side is pretty close to 2 times, which seems strange.

There are about 13,000 files in the repo. but the r/o node says: 30332, and the master node: 15389.

Edit 1: I did not change the node name keys to the new standard, if that matters here. Basically, I have these 2 nodes in full sync via 0.8.21 and then merely stop the nodes and install the 0.9.18 without changing anything. I thought it is OK not the change the node-id keys to the new format.

Edit 2: Well, the issue seems to be with one file on r/o node (Win7) that has file name in Cyrillic:

Грачёва Татьяна_Невидимая Хазария_00.css

On the master node (Linux) its file name is:

#U0413#U0440#U0430#U0447#U0451#U0432#U0430 #U0422#U0430#U0442#U044c#U044f#U043d#U0430_#U041d#U0435#U0432#U0438#U0434#U0438#U043c#U0430#U044f #U0425#U0430#U0437#U0430#U0440#U0438#U044f_00.css

When I removed that file and restarted syncthing 0.9.18 it seems to be running OK and not producing “abandoning the repo” error. It’s been running now for about 30 mins.

Side question: do I HAVE to change the node names to the new convention for existing nodes? I’d like to keep an option of going back to 0.8.21 because it is a production system and it is a pretty busy site, so breaking things on it is highly undesirable, no matter what.

Edit 3: It seems to be too radical of a solution to abandon the entire repo because of one “bad” file, or even many, for that matter. I’d prefer to see it automatically logged in a plain text log file that I can keep open in a Notepad++. But the repo should go on, unless it is totally broken to the point that syncthing can’t recognize it as a repo.

I’m not sure I understand. Is the error on the Windows or Linux side? If on the Window side, what do you mean by it meaning “r/o” (it’s obviously trying to create a file there)? What’s the actual file path in the error message (common problems are that the path is too long, for example, so hiding it makes it trickier to figure out)? Are there any other error messages preceding this one?

It seems to be too radical of a solution to abandon the entire repo because of one “bad” file, or even many, for that matter.

This is no longer the case from the current dev build onwards.

The error is in on Win7 side in the command box from which syncthing is started. It looks like syncthing is trying to copy a file from Linux box and, since each of the Cyrillic characters in the file name are incorrectly represented by Unicode ASCII numeric representation, the file path might look too long.

Here’s the information copied from GUI for both nodes:

Win7 box: Repository ID Repo_Name Folder R:\Sync\Repo_Name Global Repository 30246 items, ~4.24 GiB Local Repository 30246 items, ~4.24 GiB Out Of Sync 0 items, 0 B Master Repo No Ignore Permissions No Rescan Interval 60 s

Ubuntu 14.04 box: Repository ID Repo_Name Folder /srv/www/site/public_html Global Repository 15249 items, ~2.16 GiB Local Repository 15251 items, ~2.16 GiB Out Of Sync 200 items, ~5.90 MiB Master Repo Yes Ignore Permissions Yes

The actual size of this repo is: 1.5 GB and the number of files is: 14,153 (approx, because of extra files in .SyncArchive directories created by BTSync. We can calculate the exact number of files and exact actual size of the repo if necessary).

Questions:

  1. Why does the master side (Linux) show 200 items out of sync while r/o side shows 0?

  2. Why are there such discrepancies in the number of files and repo size on r/w and r/o nodes?

No, the path is not too long if file name is correctly.represented in Cyrillics. There are longer paths that that one in this repo.

Here is the actual image from the command box on Win7.

[Screen shot removed]

What seems to be strange there is that on Win7 side, the problem file is named in Cyrillic as:

Грачёва Татьяна_Невидимая Хазария_00.css

But on the master node (Linux) its file name is:

#U0413#U0440#U0430#U0447#U0451#U0432#U0430#U0422#U0430#U0442#U044c#U044f#U043d#U0430_#U041d#U0435#U0432#U0438#U0434#U0438#U043c#U0430#U044f#U0425#U0430#U0437#U0430#U0440#U0438#U044f_00.css

So, the file path does seem to be too long, if there’s such a limitation, on Linux end (master side). Because Cyrillic characters in the file name are replaced with the Unicode ASCII numeric representation, which is incorrect. The file name above (with #U0413#U0440#… values) was actually copied from the copy buffer, except I do not remember exactly how did I copy it, either from Filezilla FTP client or in some other way. But the above numeric file name representation was indeed copied from a copy buffer.

So, it seems that something at some point named that file in long Unicode ASCII numeric representation string and probably the file path did become too long. But the question here would be: but how come 0.8.21 did run without problems? It is not some new file that was created AFTER I tried to install the latest version. That file was always there. Was there a change in code to handle the Unicode characters differently between these versions of syncthing?

When that file is removed on both, Win7 and Linux, then syncthing works fine after restarting it on both nodes. The node are running for at least half an hour now and this error is no longer displayed.

Since then, I did copy that file from Win7 node to the Linux node using Filezilla and now its name is correctly displayed in Cyrillic in both, the Filezilla and via Bash shell on Linux end as:

Грачёва Татьяна_Невидимая Хазария_00.css

That is its correct file name without conversion of Cyrillic chars to Unicode ASCII numeric representation.

At this point, I did restore that file on both nodes, restarted syncthing on both nodes and its been running fine with no error messages so far.

So, who and what and why and at what exact point changed that name to Unicode ASCII numeric representation - I have not the sligthtest clue.

Sorry, I haven’t had the time to fully read the description above, but I’m quite sure this is not the issue. The error message quotes non-ascii characters, for whatever reason, but that’s most likely not what it tries to write to disk.