I can’t figure out why, but I always have to start the syncthing client twice on my laptops in order for it to start connecting to the global discovery server.
I don’t change anything in between the two launches. Just kill the first process, and fire it up again.
The Global Discovery line isn’t even showing up in the dashboard on the right hand side.
It really looks like global discovery won’t connect on first try, regardless the time I’m allowing it to run.
On second try thought, it connects to the GD server below 5 secs and starts to sync.
Well on the first attempt it didn’t even try to do discovery, it seems it just got stuck.
I assume it doesn’t show up as connected on a different node?
What I don’t understand is why it is just hanging there, showing the WebGui and doing nothing else.
I don’t change anything on my laptop (conf, files etc…) nor on the network in between the two launches.
I mean, you can compile syncthing yourself with that fix, and see if it fixes the issue.
Alternatively, as it gets stuck, you can send a SIGABRT and see if there is a routine stuck in the Open syscall.
I’ve found a clue that is confirming you first suggestion.
First of all, I’ve let Syncthing start up the browser:
Starting web GUI on http://127.0.0.1:8080/
Once running, I’ve exited the browser and voila! Syncthing resumed the launch by starting the discovery just like expected.
I believe that solving issue 1273 will solve the whole problem.