RE: [reSIProcate] DialogUsageManager.cxx - assert
We probably should understand exactly what is causing this first. I
think only SipMessage's and DumFeatureMessage's get passed into
incomingProcess. So my guess is that some DumFeatureMessage is
triggering this (perhaps UserAuthInfo or ChallengInfo?). But if a dum
feature message is triggering this, then there should already be a
feature chain created for it (by some previous SipMessage). Can you add
some debugging and try to figure out what message is triggering this
assert, and why?
> -----Original Message-----
> From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx
[mailto:resiprocate-
> devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Daniel Pocock
> Sent: Thursday, May 04, 2006 5:48 PM
> To: resiprocate-devel
> Subject: [reSIProcate] DialogUsageManager.cxx - assert
>
>
>
> 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)));
> }
> }
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel