UDNS issues at high query rate

Abhijit Pandey abhijpandey at gmail.com
Thu Aug 6 08:29:50 MSD 2009


Hi Michael,

I had dns_submit in one thread and dns_timeout loop (which does the
select on the socket) in another thread.
The list gets corrupted if they are not protected.

Doing submit and timeout in single thread context, seems to work fine
at this high rate.

Abhijit




On Tue, Aug 4, 2009 at 10:52 PM, Abhijit Pandey<abhijpandey at gmail.com> wrote:
> Ok,
>
> The crash for case 2) is at
>
> udns_resolver.c:614: dns_end_query: Assertion `ctx->dnsc_nactive > 0' failed.
>
> Abhijit
>
>
>
>
> On Tue, Aug 4, 2009 at 7:44 PM, Abhijit Pandey<abhijpandey at gmail.com> wrote:
>> Hi Michael,
>>
>>
>> I needed some help in isolating the following issues I am facing, when
>> I send the queries at a high rate.
>>
>>
>> The query rate is around 1000/second. The default resolver
>> context(NULL) is opened to which queries are continually submitted.
>> Have a forever thread for the ioevent.
>>
>> 1) The queries get submitted, but the responses(dnscb) does not get called.
>>     As a result those queries are not freed.
>>
>>
>> 2) Submitting the query at a high rate, result in a lot of dns errors.
>>    I see the following
>>
>>         unable to lookup A record for
>> ikrnlmlmc3kvti31ab6ahtgt85.prpt.trmp.com: temporary failure in name
>> resolution
>>         unable to lookup A record for
>> ikrnlmlmc3kvti31ab6ahtgt85.prpt.trmp.com: temporary failure in name
>> resolution
>>         unable to lookup A record for
>> 9pljvmjeqwlqdue6rrahw6799v.prpt.trmp.com: temporary failure in name
>> resolution
>>
>>   After a while I see a crash in the library.
>>
>> *** glibc detected *** malloc(): memory corruption: 0x30545838 ***
>> Program received signal SIGABRT, Aborted.
>>
>>
>> 3) When I change the IP address in resolv.conf, when queries are being
>> submitted to the resolver.
>>     I do a dns_init. This sometimes also causes a assertion failure
>>
>> udns_resolver.c:862: dns_submit_dn: Assertion
>> `(ctx->dnsc_udpsock >= 0)' failed.
>> Program received signal SIGABRT, Aborted.
>>
>> Let me know how should I fix it.
>>
>> I could probably rate limit, the queries being submitted if they fix the issue.
>> Let me know some numbers in that case.
>>
>> Thanks,
>> Abhijit
>>
>


More information about the udns mailing list