-
Notifications
You must be signed in to change notification settings - Fork 37
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
DNS hangs on invalid domain #156
DNS hangs on invalid domain #156
Comments
Can you capture the entire reply? Also, can you paste your /etc/resolv.conf? I can't reproduce, but I think the problem is related to search generation. In trying to reproduce an environment that can reproduce the issue I discovered that your patch (4d66661) to cqs_newmetatable broke dns.config. The :set method added to the config userdata object is lost, and so dns.config.new(t) doesn't work. In fact, I'm surprised everything else appears to work, and can't figure out how I missed the problem on review. |
It doesn't seem to replicate since I restarted my computer. I had previously moved between various networks.... so I'm not completely sure what the state was. In general if you send a query to a non-existant server it hangs. But I don't think that's the same issue
|
Closing as I can't replicate |
This might have just cropped up again.
It never got to the 2nd nameserver. Removing that from resolv.conf doesn't seem to fix anything. Passing a |
I think this might be easier to replicate with just dns.c.
|
I still have this issue semi-regularly.
Looking at this in wireshark was more educational. The second dns query is invalid:
Which is an invalid type and an invalid class. Which we should have noticed in the dump in my earlier comment...
|
@wahern are you able to look into this issue with the dump above? A user aside from myself seems to be running into it. daurnimator/lua-http#87 |
Digging into dns.c further. the issue seems to be coming in |
I finally figured this out; and it was sitting there as a "fixme" the whole time! PRs sent: wahern/dns#27 and #200 |
This hangs:
Whereas
dig
returns NXDOMAIN almost instantly.Relevant strace output of lua sample (exited during hang):
The text was updated successfully, but these errors were encountered: