-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mbtileserver does not start on Windows #71
Comments
Strangely, after running the exact same command 5+ times it suddenly worked. |
@evbarnett we don't do this in a Windows environment, so I'm not sure what was causing this problem. It might be that location where Or possibly that it didn't build the first few times you tried |
@brendan-ward Thanks for the reply. Follow up question- I'm encountering an error upon running:
Seems like a strange error and upon a google search I could only find a single occurrence: Following the rabbit hole it seems to be a bug in the Go implementation of ipv4/ipv6 that's been around for a while: Do you have any advice? My go version is |
@evbarnett is it possible your firewall or other machine-level security settings are getting in the way? In case it is another application on that port, but not getting reported as such, you could try running on a few other ports, e.g., It might be that recent changes to listen for signals are not working properly on Windows. @nikmolnar ? Unfortunately, I don't have a Windows 10 machine to test on, so I'm not able to troubleshoot. |
Possibly- I have limited control / knowledge about how my computer is restricted (work machine). I'll give it a shot on my personal machine under the same configuration and see if I can replicate.
Doesn't seem to be the case, error is the same with different ports
If I need to run the server on this machine, I suppose I could try running it in a linux docker container. Thanks, if I find a solution I'll reply back. |
@brendan-ward: It's possible. We create the listener explicitly now, whereas it was created implicitly by another library previously. Possibly said library had a workaround for the aforementioned TCP bug in Go. Do we know that |
@brendan-ward @nikmolnar It does not work on my personal machine either,I played around with the firewall just in case also, and I could not get it to work. I'm using the same version of Go and getting the same error. |
I am able to reproduce on a borrowed Windows 10 machine. @nikmolnar I confirmed that this is isolated to the introduction of signals for graceful reloading. If I build from the immediately prior commit, everything works properly. @evbarnett if you need this to work soon, while we're still tracking this down, you can clone the repo and build using this commit: d5769a0 Note: you'll need to have a version of |
@nikmolnar see the things unimplemented for Windows here: https://golang.org/pkg/net/#pkg-note-BUG Since the signals we want to listen on are not available on Windows anyway, what do you think about a split implementation of the startup, where if we detect that we're on Windows we start with no graceful reloading, and otherwise use what you have here? |
@nikmolnar I thought about this a bit more, I think the solution I like best is to enable graceful reloading based on a flag when |
That would different from how most other applications handle reload. I've never seen anything else that requires a flag on start to enable reload. Also, I suspect the problem isn't the signals, it's create a file-based TCP listener. I think the original plan of degrading gracefully to no reload support is still the best approach. |
Hi @evbarnett, this issue should be resolved by #72, but I don't have a Windows machine to try it on. Do you want to give it a go? |
It works, thank you! |
Following the instructions:
However, the command does not install anything. Running it with -v only gives:
Thank you for your help
The text was updated successfully, but these errors were encountered: