-
Notifications
You must be signed in to change notification settings - Fork 993
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
Windows: dnscrypt-proxy service fails to start often #841
Comments
If network connectivity takes a long time to be available, you should significantly increase Setting it to |
The device does have a constant and reliable connectivity. But changing the netprobe_timeout setting did not affect the issue, it was already present with the default setting (60). I have now changed the ignore_system_dns config from the default (false) to true: |
What are the configured DNS resolvers? Is there a valid one besides |
Only 127.0.0.1 |
I have done some additional debugging. Here are the relevant config options: System configured DNS servers: 127.0.0.1 Now to reproduce the issue:
I have also added the "Dnscache" (DNS Client) to the service's dependencies (DependOnService), but the result is the same. |
Is |
It's the same problem with 9.9.9.9 etc. Can you add some logging here: I would like to know if netProbe actually succeeds. There are some cases where errors are not logged. For example in this case: If possible, always log if network connectivity is detected. This is currently only the case if retried is true. |
Looks like you know Go, and have issues on an operating system I don't use. So your help to sort this out will be appreciated. |
See: #842 |
Fix and explanation is here: #843 |
Write at least 1 byte. This ensures that sockets are ready to use for writing. Windows specific: during the system startup, sockets can be created but the underlying buffers may not be setup yet. If this is the case Write fails with WSAENOBUFS: "An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full This fixes: #841
The dnscrypt-proxy service fails to start often (50%) during system startup and the following 3 relevant events are logged in the event log:
Warning 30.05.2019 18:32:58 DNS Client Events 1014 (1014)
Name resolution for the name raw.githubusercontent.com timed out after none of the configured DNS servers responded.
Error 30.05.2019 18:32:58 Service Control Manager 7000 None
The dnscrypt-proxy service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Error 30.05.2019 18:32:58 Service Control Manager 7009 None
A timeout was reached (45000 milliseconds) while waiting for the dnscrypt-proxy service to connect.
This might be related to this issue reported before: #548
My understanding is that dnscrypt-proxy is trying to update the sources.'public-resolvers' during the startup. The first entry in the urls list is:
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/public-resolvers.md
Now dnscrypt-proxy seems to use the system dns client to resolve the raw.githubusercontent.com host name. However, the system dns client is configured to use dnscrypt-proxy (127.0.0.1) which is starting up.
Using dnscrypt-proxy version 2.0.23
netprobe_timeout was set to 60 and to 0 and it didn't affect the issue.
network connectivity (Ethernet connection) should be available before the service is starting.
The text was updated successfully, but these errors were encountered: