Strange behaviour from Syncthing on one particular machine

Until today, I was running Syncthing without any problems. I have four machines, and I recently reinstalled the operating system on one of them (call it machine A). I set up Syncthing to synchronize with my ‘central repository’ machine (machine B) as normal (entered IDs on both, told it which repositories to sync, etc). However, for some reason, I couldn’t connect at all - neither machine registered the other as being ‘connected’ at any point. Syncthing’s GUI at one end (but not both) spat repeated ‘unexpected EOF’ messages.

I then tried to sync machine A with a different computer (let’s say C). Now, this worked for a while, and then stopped again. When I tried running STTRACE=net syncthing, I got this message pair over and over again:

[DFHIJ] 2014/08/06 15:39:58.537647 main.go:659: DEBUG: dial WEUGXLYFGBXCE7T6FVFFH4RUIJHERLHQQZM333LPP5MUDAAW4ENQ [DFHIJ] 2014/08/06 15:42:05.808480 main.go:664: DEBUG: dial tcp connection timed out

Where WE etc is the ID of machine C. This doesn’t seem to have any effect on my other machines (B and C synchronize just fine, for example).

I’m not sure what’s causing this, and would appreciate some help.

A firewall of some kind would be the first suspect. What does the other end ( say with STTRACE=net on?

I tried - the result is that the announce server never starts. If I try a restart, it takes an unusually long time to reboot, and I still have no announce server!

I seem to have the same problem, where I get dial/connection refused on node A (Ubuntu laptop), while node B (Raspberry Pi) doesn’t start the announce server according to the GUI (but it logs “INFO: Sending global discovery announcements”).

I also have ports 8000-9000 and 22000 forwarded on node B, so that shouldn’t be the problem.

If you guys mean that the announce server is shown as offline in the gui, that’s a sure sign that you have interference from a firewall. “Online” means that the node could send and receive data from the announce server. “Offline” means no reply, which in practice is due to either bad connectivity or a firewall. It’s not that the announce server itself is dead.

It’s not shown as ‘offline’ - it never appears in the first place!

However, I think I’ve solved it - it seems the wireless on my server machine is broken somehow, and interferes with the wired connection in some way, making Syncthing misbehave. Having disabled that, it now works fine.

Turns out in my case it was a misconfigured address for one node, resulting in strange, failing connections, and a too strictly configured firewall on a router that blocked even pings (and also connection to the announce server).