[reSIProcate] DialogUsageManager.cxx - assert

Daniel Pocock daniel at readytechnology.co.uk
Thu May 4 16:48:05 CDT 2006



This section of code (at bottom) in DialogUsageManager is occasionally 
aborting my application.

I entered the core dump with gdb and got the following:

(gdb) bt
#0  0xb73067a7 in raise () from /lib/tls/libc.so.6
#1  0xb73081a9 in abort () from /lib/tls/libc.so.6
#2  0xb72ff755 in __assert_fail () from /lib/tls/libc.so.6
#3  0xb7e774ad in resip::DialogUsageManager::incomingProcess 
(this=0x807f050,
    msg={_M_ptr = 0x80891d0}) at DialogUsageManager.cxx:1104
#4  0xb7e771e3 in resip::DialogUsageManager::internalProcess 
(this=0x807f050,
    msg={_M_ptr = 0x0}) at DialogUsageManager.cxx:1071

(gdb) print msg
$1 = {_M_ptr = 0x80891d0}
(gdb) print msg._M_ptr
$2 = (resip::Message *) 0x80891d0

Does anyone have any ideas?  Should this be handled more gracefully than 
calling assert?


   if (tid != Data::Empty && !mIncomingFeatureList.empty())
   {
      FeatureChainMap::iterator it;
      //efficiently find or create FeatureChain, should prob. be a 
utility template
      {
         FeatureChainMap::iterator lb = 
mIncomingFeatureChainMap.lower_bound(tid);
         if (lb != mIncomingFeatureChainMap.end() && 
!(mIncomingFeatureChainMap.key_comp()(tid, lb->first)))
         {
            it = lb;
         }
         else
         {
            assert(dynamic_cast<SipMessage*>(msg.get()));
            it = mIncomingFeatureChainMap.insert(lb, 
FeatureChainMap::value_type(tid, new DumFeatureChain(*this, 
mIncomingFeatureList, *mIncomingTarget)));
         }
      }




More information about the resiprocate-devel mailing list