-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Requests always time out on Windows 10 #431
Comments
What version of reqwest was used? |
I seem to have the same problem. I'm using version |
Would you be able to try an |
Seems to be a regression from |
Also occurs with |
Just tested if |
Would either of you be able to tell me if 0.9.5 works even if its hyper dependency is at 0.12.20? |
The problem is trust-dns.
This is on Windows 7. I don't have IPv6 on my network. Relevant crate versions:
|
In https://github.com/bluejekyll/trust-dns/blob/master/crates/resolver/src/system_conf/windows.rs#L22 it enumerates every adapter, even ones that don't make sense. I have VirtualBox which has an adapter for its VMs ("VirtualBox Host-Only Network"), which does have IPv6 enabled, so it ends up picking the resolver for that and trying to use it. Disabling IPv6 on that adapter fixed the problem. |
I just put in config to disable trust-dns on Android, we can also add in Windows, and file an issue upstream. |
Can confirm that the problem doesn't occur when disabling the other adapters. |
So it seems the problem may not happen to everyone, just systems that have a lot of adapters, or adapters that don't work? Still, it's not difficult to add Windows to the Android conditional configs. |
Yes, I think disabling it on Windows is a good idea until trust-dns gets a fix. Either it needs to ignore the nameservers from these adapters, or it needs to query them in parallel, or it needs to have a shorter timeout that doesn't elapse before it's tried every nameserver, or whatever. It's not really about "a lot of adapters" or "adapters that don't work". Having adapters that don't have an internet connection is quite normal. VM software like Hyper-V and VirtualBox, VPN software, etc all add virtual adapters. These adapters work, and Especially in the VPN case, I imagine it'll also end up leaking internal domain names over the public internet where gai would've resolved them by the VPN network's DNS server. |
There's currently one primary contributor to trust-dns for Windows. If you would care to move this discussion to hickory-dns/hickory-dns#605 and help us come up with some potential fixes, that would be greatly appreciated. |
👍 @bluejekyll I'm not trying to complain, just trying to identify when reqwest might be failing some people, and the fastest way for me bandage it :) Thanks for your hard work on trust-dns! |
(I should also note that gai has an async version on Windows 8+, GetAddrInfoEx, though of course it should probably be wrapped in a lower-level crate rather than called by reqwest directly.) |
I tried running the following code with both Rust Stable and Nightly:
With either toolchain, I get the following output:
The text was updated successfully, but these errors were encountered: