Failed Items: pull:generic error

I’m running Syncthing via Docker on Ubuntu Server and am syncing files between it and my Android phone using the Syncthing fork on F-Droid.

In the last couple of weeks something has changed to prevent my phone from being able to sync w/ my Docker instance of Syncthing, and all new files I’ve since added (17 in total) fail to sync, giving me the following error:

generic error: syncing: finishing: pull: generic error

(These are files that are on Ubuntu Server and not being synced to my phone.)

I’ve checked the permissions of the files via the terminal and can confirm they’re as they should be. I can also see both devices are able to connect to each other and show as connected.

Any thoughts on how I can further dig into this issue?

Edit: I just confirmed that if I remove items from the folder on my Ubuntu/Docker instance, the change will sync with my phone and the files will show as removed. I just can’t add items via Ubuntu and also have them added/synced to my phone.

Screenshots with the actual filenames would help, but because this is Android, the first assumption is that you’ve got special characters in the names which aren’t supported by the FAT filesystem.

I’ve obscured folder paths for confidentiality (all consisting of letters a-z, no spaces).

None of the files I’m attempting to upload have any unusual characters. Only letters, numbers, and hyphens.

“Generic error” means something happened on the sending side – several things which shouldn’t happen in a healthy setup, such as folder is paused, folder is not shared with the device in question, and filename is invalid. It can also be a straight up I/O error, Syncthing couldn’t read the file when it tried. Enabling model tracing on the sending side will tell you what the problem is.

This is the only relevant line on the send side that I could find after enabling model tracing:

The device also permanently shows as syncing:

syncthing2

That’s not relevant. Anything with “Request”, “REQ” or “recheckFile” in it is. If there is none around the time you get the generic error, it comes from a different device.

I can’t find anything in the model tracing logs that has any of those words (Request/recheckfile/etc.).

Anywhere else I can look to figure out what’s happening?

You can enable model debug loggin on the device where you see the generic error, that gives you details about the request which includes which device it is calling. And I suppose it might be a protocol level error, so enabling that debug facility on the device where the error comes from might help - if anything it will log that a request comes in.

Here’s the log on the Android device after enabling model tracing:

syncthing model phone

And here’s the log from Ubuntu (which can’t send to the Android device) after enabling protocol tracing:

I mean the “generic error” has to occur while you collect logs - otherwise it’s clear there won’t be anything. Both of the logs show that there’s no requests happening. You can trigger a sync by pausing and resuming the folder.

Sorry. It’s hard to understand what to post here as I parse through the logs. One thing I’ve noticed - on the Android device that can’t receive the new items, I’m noticing the name for the other device popping up in the logs as a bunch of 7’s rather than the actual name - is that important at all?

Not important at all (that’s not another device, that’s a synthetic device id) - Completion logs are not relevant to the problem at hand.