Changes between Initial Version and Version 1 of Ticket #686


Ignore:
Timestamp:
Dec 19, 2008 12:03:01 PM (15 years ago)
Author:
bennylp
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #686 – Description

    initial v1  
    11The DNS SRV resolver (the '''{{{pj_dns_srv_resolve()}}}''' function) provides a feature to cancel outstanding DNS SRV query job, by using {{{pj_dns_resolver_cancel_query()}}}. 
    22 
    3 This doesn't work for DNS SRV resolver, because once the resolver is in the state of resolving the host with DNS A resolution, the current query job is now different than that is returned by the original '''{{{pj_dns_srv_resolve()}}}''' call. 
     3This doesn't work for DNS SRV resolver, because once the resolver is in the state of resolving hosts with DNS A resolution, the current query job is now different than that is returned by the original '''{{{pj_dns_srv_resolve()}}}''' call. 
     4 
     5This will cause {{{pj_dns_resolver_cancel_query()}}} to potentially cancel the wrong query, and because the intended query or queries are not canceled, they will call the callback when the DNS response is finally received, and this will cause crash/segmentation fault (or assertion in debug mode). 
     6 
     7The crash is reproducible by running pjnath unit test, in the TURN socket destroy test (on Linux i386, gcc-4.1.1). 
     8