-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
evdns crash in evdns_request_transmit #64
Comments
I applied a few patches by Azat Khuzhin to the Libevent 2.1 branch recently to resolve these; please check for his name in the commit logs to see them. Any interest in backporting these to 2.0? |
His patch ( 14971a8 ) does seem related (and even addresses the issue), but as you can see from my code some nameservers were just installed. Maybe doesn't matter, but it seems like there is some way the nameservers are being removed. It's also worth noting that 5c710c0 solves the issue too. I backported Azat Khuzhin's changeset to 2.0 here https://github.com/ghazel/Libevent/tree/20_evdns_resume_fix . Want a pull request? |
A pull request would be great there, yes! Especially if the backport was at all nontrivial. I think that the issue isn't that the nameservers are being removed, but that any requests inflight when clear_and_suspend wind up with NULL-valued nameservers. |
Seems that patches are merged in https://github.com/nmathewson/Libevent/pull/79 |
This is with libevent 2.0.21
The line numbers are a little funny I think because of gcc optimization. Anyway, on this system, it appears that 0x12d matches the offset of the
choked
member of astruct nameserver *
which is NULL. So the crash is probably in the access toreq->ns->choked
wherereq->ns
is NULL. Not sure how it got to be NULL -- right before this, I did this:The text was updated successfully, but these errors were encountered: