< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] Problem with DNS and mActiveQueryCount


Hi!

I have been running resiprocate for several months and it has been really stable. But this morning I suddenly had problem 4 times, with exactly 1 hour between the problems. (TTL of DNS-records is 3600, I don't know if this is related in some way) . The following line: assert(mInterface.mActiveQueryCount >= 0) was triggered in DnsResult.cxx:79.

Of cource I receive no core if I disable the asserts, but then the mActiveQueryCount come in a strange state. What about changing the code, so an if-clause check if it's below zero and set it to zero? I have looked at the code but I can't see why this is happening. I need help with some ideas.

Best regards,

Fredrik


bt from core is:

#2  0x4037f2df in __assert_fail () from /lib/tls/libc.so.6
#3 0x400dfb88 in resip::DnsResult::transition (this=0x44012070, t=29463) at DnsResult.cxx:79 #4 0x400e6fca in resip::DnsResult::processHost (this=0x44012070, status=0, result=0x440037b8) at DnsResult.cxx:810 #5 0x400ddb93 in resip::DnsInterface::handle_host (this=0x44bccc08, res= {<resip::ExternalDnsResult> = {<resip::AsyncResult> = {mErrorCode = 0}, userData = 0x44012070}, host = 0x440037b8}) at AsyncID.hxx:36 #6 0x400bc4d5 in resip::AresDns::aresHostCallback (arg=0x440076c8, status=0, result=0x6) at ExternalDns.hxx:76 #7 0x401e98a6 in end_hquery (hquery=0x44009fc8, status=0, host=0x440037b8) at ares_gethostbyname.c:161 #8 0x401e982c in host_callback (arg=0x44009fc8, status=0, abuf=0x0, alen=0) at ares_gethostbyname.c:153 #9 0x401ec27a in end_squery (squery=0x44016ba0, status=0, abuf=0x0, alen=0) at ares_search.c:174 #10 0x401ec16d in search_callback (arg=0x44016ba0, status=6, abuf=0x0, alen=0) at ares_search.c:137 #11 0x401ebf17 in qcallback (arg=0x440005e8, status=0, abuf=0x453ee470 "", alen=124) at ares_query.c:115 #12 0x401ebced in end_query (channel=0xfdf56e0, query=0x440166d8, status=0, abuf=0x0, alen=0) at ares_process.c:768 #13 0x401eb49c in read_udp_packets (channel=0xfdf56e0, read_fds=0x453f08f0, now=1174960961) at ares_process.c:306 #14 0x401eb079 in ares_process (channel=0xfdf56e0, read_fds=0x453f08f0, write_fds=0x0) at ares_process.c:67 #15 0x400bc6f0 in resip::AresDns::process (this=0x0, read=@0x0, write=@0x0) at AresDns.cxx:151 #16 0x400dd95b in resip::DnsInterface::process (this=0x7317, fdset=@0x6) at DnsInterface.cxx:147 #17 0x40197ab8 in resip::TransportSelector::process (this=0x44bccc04, fdset=@0x453f08f0) at TransportSelector.cxx:177 #18 0x40179fde in resip::TransactionController::process (this=0x44bccb74, fdset=@0x0) at TransactionController.cxx:80 #19 0x4016741e in resip::SipStack::process (this=0x44ba9008, fdset=@0x0) at SipStack.cxx:421 #20 0x0818b99b in lSipStack::threadProcess (this=0x107ec890) at sipstack.cxx:289