Support - initial setup failure: all nodes read "disconnected"

Just getting started. I just started using Ubuntu 12.04 on my laptop and installed an instance on the desktop. I got it working once by double clicking it, and added the node for my desktop (Win 7) according to the instructions. But both nodes are showing “disconnected.”

I’m thinking that I may not have installed it properly in Ubuntu because now I can’t open it by double clicking, so I also installed it on a dell laptop, but still with no luck.

I’ve double checked the instructions including opening port 22000 in all firewalls, but still nothing.

I read a similar post, but it was too complicated for me…

Can somebody help me?

What do you mean with “installed”? You have to unpack and start syncthing, only :wink:

You see the WebGUI, so syncthing is running. Have you add the nodes on both sides?

Maybe, syncthing should display more information about “disconnected”.

Okay, you’re right. I have “unpacked” syncthing on each computer (after rebooting Ubuntu the webGUI is showing fine there also). I have added the nodes on both sides and checked the boxes in the as well, but each computer is displaying itself as “online” but the oter node(s) as “disconnected.” I can see no additional information about “disconnected.”

…On startup, I see “INFO: No UPnP IGD device found, no port mapping (WSARecvFrom udp4 0.0.0.0:57784: i/o timeout)”

Also, now 'm getting a “WARNING: connection to XXXXXXXXX… (laptop Vista key) closed: unexpected EOF” again and again.

There is probably a better reason for the disconnect on the Vista laptop?

I have problems, too.

IMHO it would help, if there are more information around “disconnected”… some ideas:

Maybe add some more steps in the WebGUI:

  1. online
  2. connected
  3. authenticated

e.g.: “online” says only that the node is alive. So the user knowns, that the node name/ip etc. is ok. “Connected” says that there is a syncthing server listening on the port. “authenticated” says that “node ID” is on both sides, ok.

Maybe a good idea is to add something like a “test node connection”…

When we actually do connect, the steps connected->authenticated->online are gone through in a millisecond or two, so there wouldn’t be time to show any of the intermediary steps. We could of course add something to the node section like “Last connection attempt at hh:mm:ss. Last connection status: xxxxxx” to show what happened last we tried.

The “test connection” isn’t a bad idea. It could connect and show a more detailed status on how it went, good or bad.

OK, but if one step failed, the last step can be shown.

Is “disconnected” the “normal” status if nothing to do?

(last step shown) Yeah, as I said above.

Disconnected is the normal state if the node is unreachable. In Sync is the normal state if it is connected.

For better debugging i made a simple python script to verify the config: https://github.com/jedie/python-code-snippets/blob/master/CodeSnippets/PySyncthing/verify_syncthing_config.py

It resolve the given node address to the IP and test if the listening port is open. The Output looks like this:

~$ ./verify_syncthing_config.py 

Test FooBar1 (address: 'FooBar1.fritz.box:22000'):
    FooBar1.fritz.box ==> 192.168.1.2
    Port 22000 is open


Test FooBar2 (address: 'FooBar2.fritz.box:22000'):
    FooBar2.fritz.box ==> 192.168.1.3
    Port 22000 is open


Test FooBar3 (address: 'dynamic'):
    TODO: 'dynamic' nodes are not supported, yet.

SO i can verify that my domainnames and ports are ok. However i get “disconnect” as status.

I now run with set STTRACE=beacon discover net and see this:

[KFHXR] 2014/05/22 10:49:52.032802 discover.go:291: DEBUG: discover: no valid address for
[KFHXR] 2014/05/22 10:49:52.034758 discover.go:295: DEBUG: discover: register: -> []string(nil)

I used local domain names like foo.fritz.box instead of IP addresses. Is that the problem?

btw. Error in debug message? see also: https://github.com/calmh/syncthing/commit/cba554d0faae6c06a14307e3434eba229bd231f1#commitcomment-6411790

No, it’s not the problem. I change the name to IP and restart and wait a while… It’s the same.

Set STTRACE=net to debug connections.

OK, i have try it.

I see many messages like these:

[KFHXR] 2014/05/22 16:18:17.398006 main.go:559: DEBUG: dial ABC...DEF foobar.tld:12345
[KFHXR] 2014/05/22 16:18:18.120860 main.go:559: DEBUG: dial XYZ...QWE cubie.fritz.box:12345
[KFHXR] 2014/05/22 16:18:18.232188 model.go:312: WARNING: ABC...DEF: remote is missing repository "Apps"
[KFHXR] 2014/05/22 16:18:18.233159 model.go:333: WARNING: Connection to ABC...DEF closed: remote is missing repository "Apps"
[KFHXR] 2014/05/22 16:18:18.283013 model.go:333: WARNING: Connection to ABC...DEF closed: use of closed network connection
[KFHXR] 2014/05/22 16:18:22.593145 main.go:559: DEBUG: dial ASD...FGH pc1.fritz.box:12345
[KFHXR] 2014/05/22 16:18:22.721068 main.go:559: DEBUG: dial XCV...VBN pc2.fritz.box:12345
[KFHXR] 2014/05/22 16:18:22.721068 model.go:312: WARNING: ASD...FGH: remote is missing repository "repro2"
[KFHXR] 2014/05/22 16:18:22.721068 model.go:333: WARNING: Connection to ASD...FGH closed: remote is missing repository "repro2"
[KFHXR] 2014/05/22 16:18:22.746452 model.go:333: WARNING: Connection to ASD...FGH closed: WSARecv tcp 192.168.1.22:62822: use of closed network connection
[KFHXR] 2014/05/22 16:18:22.922226 model.go:312: WARNING: XYZ...QWE: remote is missing repository "repro3"
[KFHXR] 2014/05/22 16:18:22.922226 model.go:333: WARNING: Connection to XYZ...QWE closed: remote is missing repository "repro3"
[KFHXR] 2014/05/22 16:18:22.981793 model.go:333: WARNING: Connection to XYZ...QWE closed: WSARecv tcp 192.168.1.22:62821: use of closed network connection
[KFHXR] 2014/05/22 16:18:23.728932 main.go:564: DEBUG: dial tcp 192.168.2.4:12345: ConnectEx tcp: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
[KFHXR] 2014/05/22 16:18:23.728932 main.go:559: DEBUG: dial ZUI...IOP away.fritz.box:12345
[KFHXR] 2014/05/22 16:18:23.729908 main.go:564: DEBUG: dial tcp: GetAddrInfoW: Der angegebene Host ist unbekannt.
[KFHXR] 2014/05/22 16:18:41.123906 main.go:506: DEBUG: connect from 192.168.2.2:40646
[KFHXR] 2014/05/22 16:19:18.036606 model.go:312: WARNING: XYZ...QWE: remote is missing repository "repro3"
[KFHXR] 2014/05/22 16:19:18.036606 model.go:333: WARNING: Connection to XYZ...QWE closed: remote is missing repository "repro3"
[KFHXR] 2014/05/22 16:19:18.085436 model.go:333: WARNING: Connection to XYZ...QWE closed: WSARecv tcp 192.168.1.22:12345: use of closed network connection
[KFHXR] 2014/05/22 16:19:23.731455 main.go:559: DEBUG: dial ABC...DEF foobar.tld:12345
[KFHXR] 2014/05/22 16:19:25.697768 main.go:506: DEBUG: connect from 192.168.2.55:49544

So, there are some connections that works and there is one PC that’s offline. Nevertheless, the WebGUI display all nodes as “Disconnected”. Sometimes one host is connected. But only a short time…

I created https://github.com/calmh/syncthing/issues/261 for this problem.

Configuration issue. The repo configs must match. https://github.com/calmh/syncthing/issues/223 Those warnings should be shown loud and clear, even in the GUI, without trace level?

IMHO that’s a wrong design decision! See: https://github.com/calmh/syncthing/issues/223#issuecomment-44001860

Yes, it’s been very clear that that’s your opinion, but that’s the reason for the subject issue and it’s easily fixable. Complaining about it does not fix the “all nodes disconnected”, however actually fixing your config does.

As I’ve stated in the issue you link to (multiple times I think, I don’t really want to read it all again) this is an area for improvement.

So the next release will not have this issues? Then i will wait. Because i don’t like to “fix” my config.

It’s easily fixable in your config. But you are of course free to do as you please. I think this discussion has run it’s course - the cause and solution to the problem is clear, and the long term direction for making this friendlier is clear (#223).