[reSIProcate] resiprocate-devel Digest, Vol 84, Issue 5
Boris
borisrozinov at yahoo.ca
Sat Apr 16 13:13:32 CDT 2011
Sent from my iPhone
On 2011-04-16, at 1:00 PM, resiprocate-devel-request at resiprocate.org wrote:
> Send resiprocate-devel mailing list submissions to
> resiprocate-devel at resiprocate.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
> or, via email, send a message with subject or body 'help' to
> resiprocate-devel-request at resiprocate.org
>
> You can reach the person managing the list at
> resiprocate-devel-owner at resiprocate.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of resiprocate-devel digest..."
> Today's Topics:
>
> 1. Who can update the doxygen docs? (Aron Rosenberg)
> 2. meet an error when a DUM as an UAS processing an INVITE
> message with current SVN revision 9100 (Allen Guan)
> 3. Re: meet an error when a DUM as an UAS processing an INVITE
> message with current SVN revision 9100 (Allen Guan)
> 4. Re: meet an error when a DUM as an UAS processing an INVITE
> message with current SVN revision 9100 (Scott Godin)
> Can anybody update the doxygen docs found online? They are 6-7 months old right now and a large number of new changes have been introduced.
>
> http://svn.resiprocate.org/dox/
>
> Aron Rosenberg
> Sr. Director, Engineering
> Logitech Inc. (SightSpeed Group)
>
> Hi, all,
>
> I am using visual studio 2003 to build a very simple SIP server for
> testing with current SVN revision 9100. I added SipStack with an
> instance of DUM as its UA, this dum set an instance of
> InviteSessionHandler with some log lines in it, nothing more. when
> this DUM instance tries to process an INVITE message, it causes an
> error and the call stack looks as the following:
> ---------------------
>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents> std::auto_ptr_ref<resip::Contents>() Line 452 + 0x6 C++
> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> ..........................
> ---------------------
>
> When I dig into it step by step, I notice the error caused by the
> following line in ServerInviteSession::dispatchStart():
> ---------------
> std::auto_ptr<Contents> offerAnswer =
> InviteSession::getOfferAnswer(msg); // line 729
> ---------------
>
> this InviteSession::getOfferAnswer(msg) calls:
> -------------
> return std::auto_ptr<Contents>(Helper::getSdp(msg.getContents())); // line 2736
> -------------
>
> when this InviteSession::getOfferAnswer(msg) returns, the error
> happens. looks like it's caused by class type conversion?
>
> the following the more deep call stack for your reference.
> ----------------------------------
>> MediaServer.exe!resip::Helper::getSdp(resip::Contents * tree=0x01ad54f8) Line 2143 C++
> MediaServer.exe!resip::InviteSession::getOfferAnswer(const
> resip::SipMessage & msg={...}) Line 2736 + 0x12 C++
> MediaServer.exe!resip::ServerInviteSession::dispatchStart(const
> resip::SipMessage & msg={...}) Line 729 + 0x10 C++
> MediaServer.exe!resip::ServerInviteSession::dispatch(const
> resip::SipMessage & msg={...}) Line 642 C++
> MediaServer.exe!resip::Dialog::dispatch(const resip::SipMessage &
> msg={...}) Line 428 C++
> MediaServer.exe!resip::DialogSet::dispatch(const resip::SipMessage &
> msg={...}) Line 893 C++
> MediaServer.exe!resip::DialogUsageManager::processRequest(const
> resip::SipMessage & request={...}) Line 2073 + 0xf C++
> MediaServer.exe!resip::DialogUsageManager::incomingProcess(std::auto_ptr<resip::Message>
> msg={...}) Line 1617 C++
> MediaServer.exe!resip::DialogUsageManager::internalProcess(std::auto_ptr<resip::Message>
> msg={...}) Line 1447 C++
> MediaServer.exe!resip::DumThread::thread() Line 26 C++
> MediaServer.exe!threadIfThreadWrapper(void * threadParm=0x01aa03c8)
> Line 51 + 0xd C++
> msvcr71d.dll!_threadstartex(void * ptd=0x01aa0910) Line 241 + 0xd C
> kernel32.dll!7c80b729()
> -------------------------------------
>
> Could someone please take a look at this? thanks!
>
> -Allen
>
> I have found the fix for this. change the following line in
> InviteSession::getOfferAnswer(msg) calls:
> -------------
> return std::auto_ptr<Contents>(Helper::getSdp(msg.getContents())); // line 2736
> -------------
> to:
> -------------
> auto_ptr<SdpContents> temp = Helper::getSdp(msg.getContents());
> return temp;
> -------------
> please verify if my fix is correct, thanks!
>
>
> On Fri, Apr 15, 2011 at 5:33 PM, Allen Guan <allenguan at gmail.com> wrote:
>> Hi, all,
>>
>> I am using visual studio 2003 to build a very simple SIP server for
>> testing with current SVN revision 9100. I added SipStack with an
>> instance of DUM as its UA, this dum set an instance of
>> InviteSessionHandler with some log lines in it, nothing more. when
>> this DUM instance tries to process an INVITE message, it causes an
>> error and the call stack looks as the following:
>> ---------------------
>>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents> std::auto_ptr_ref<resip::Contents>() Line 452 + 0x6 C++
>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
>> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
>> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
>> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
>> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
>> std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
>> ..........................
>> ---------------------
>>
>> When I dig into it step by step, I notice the error caused by the
>> following line in ServerInviteSession::dispatchStart():
>> ---------------
>> std::auto_ptr<Contents> offerAnswer =
>> InviteSession::getOfferAnswer(msg); // line 729
>> ---------------
>>
>> this InviteSession::getOfferAnswer(msg) calls:
>> -------------
>> return std::auto_ptr<Contents>(Helper::getSdp(msg.getContents())); // line 2736
>> -------------
>>
>> when this InviteSession::getOfferAnswer(msg) returns, the error
>> happens. looks like it's caused by class type conversion?
>>
>> the following the more deep call stack for your reference.
>> ----------------------------------
>>> MediaServer.exe!resip::Helper::getSdp(resip::Contents * tree=0x01ad54f8) Line 2143 C++
>> MediaServer.exe!resip::InviteSession::getOfferAnswer(const
>> resip::SipMessage & msg={...}) Line 2736 + 0x12 C++
>> MediaServer.exe!resip::ServerInviteSession::dispatchStart(const
>> resip::SipMessage & msg={...}) Line 729 + 0x10 C++
>> MediaServer.exe!resip::ServerInviteSession::dispatch(const
>> resip::SipMessage & msg={...}) Line 642 C++
>> MediaServer.exe!resip::Dialog::dispatch(const resip::SipMessage &
>> msg={...}) Line 428 C++
>> MediaServer.exe!resip::DialogSet::dispatch(const resip::SipMessage &
>> msg={...}) Line 893 C++
>> MediaServer.exe!resip::DialogUsageManager::processRequest(const
>> resip::SipMessage & request={...}) Line 2073 + 0xf C++
>> MediaServer.exe!resip::DialogUsageManager::incomingProcess(std::auto_ptr<resip::Message>
>> msg={...}) Line 1617 C++
>> MediaServer.exe!resip::DialogUsageManager::internalProcess(std::auto_ptr<resip::Message>
>> msg={...}) Line 1447 C++
>> MediaServer.exe!resip::DumThread::thread() Line 26 C++
>> MediaServer.exe!threadIfThreadWrapper(void * threadParm=0x01aa03c8)
>> Line 51 + 0xd C++
>> msvcr71d.dll!_threadstartex(void * ptd=0x01aa0910) Line 241 + 0xd C
>> kernel32.dll!7c80b729()
>> -------------------------------------
>>
>> Could someone please take a look at this? thanks!
>>
>> -Allen
>>
>
> I not sure why that code would be causing you problems - or why your fix changes the behavior. That code is being successfully used in lots of working projects. I am a little suspect of memory corruptions problems causing this. Or perhaps it's some bug in the Visual Studio 2003 compiler - I've been mainly using VS2008 and VS2010, and haven't touched VS2003 in years. You could also try a newer Visual Studio release to see if that helps.
>
> Scott
>
> On Fri, Apr 15, 2011 at 9:10 PM, Allen Guan <allenguan at gmail.com> wrote:
> I have found the fix for this. change the following line in
> InviteSession::getOfferAnswer(msg) calls:
> -------------
> return std::auto_ptr<Contents>(Helper::getSdp(msg.getContents())); // line 2736
> -------------
> to:
> -------------
> auto_ptr<SdpContents> temp = Helper::getSdp(msg.getContents());
> return temp;
> -------------
> please verify if my fix is correct, thanks!
>
>
> On Fri, Apr 15, 2011 at 5:33 PM, Allen Guan <allenguan at gmail.com> wrote:
> > Hi, all,
> >
> > I am using visual studio 2003 to build a very simple SIP server for
> > testing with current SVN revision 9100. I added SipStack with an
> > instance of DUM as its UA, this dum set an instance of
> > InviteSessionHandler with some log lines in it, nothing more. when
> > this DUM instance tries to process an INVITE message, it causes an
> > error and the call stack looks as the following:
> > ---------------------
> >> MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents> std::auto_ptr_ref<resip::Contents>() Line 452 + 0x6 C++
> > MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> > std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> > MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> > std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> > MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> > std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> > MediaServer.exe!std::auto_ptr<resip::SdpContents>::operator<resip::Contents>
> > std::auto_ptr_ref<resip::Contents>() Line 454 + 0xc C++
> > ..........................
> > ---------------------
> >
> > When I dig into it step by step, I notice the error caused by the
> > following line in ServerInviteSession::dispatchStart():
> > ---------------
> > std::auto_ptr<Contents> offerAnswer =
> > InviteSession::getOfferAnswer(msg); // line 729
> > ---------------
> >
> > this InviteSession::getOfferAnswer(msg) calls:
> > -------------
> > return std::auto_ptr<Contents>(Helper::getSdp(msg.getContents())); // line 2736
> > -------------
> >
> > when this InviteSession::getOfferAnswer(msg) returns, the error
> > happens. looks like it's caused by class type conversion?
> >
> > the following the more deep call stack for your reference.
> > ----------------------------------
> >> MediaServer.exe!resip::Helper::getSdp(resip::Contents * tree=0x01ad54f8) Line 2143 C++
> > MediaServer.exe!resip::InviteSession::getOfferAnswer(const
> > resip::SipMessage & msg={...}) Line 2736 + 0x12 C++
> > MediaServer.exe!resip::ServerInviteSession::dispatchStart(const
> > resip::SipMessage & msg={...}) Line 729 + 0x10 C++
> > MediaServer.exe!resip::ServerInviteSession::dispatch(const
> > resip::SipMessage & msg={...}) Line 642 C++
> > MediaServer.exe!resip::Dialog::dispatch(const resip::SipMessage &
> > msg={...}) Line 428 C++
> > MediaServer.exe!resip::DialogSet::dispatch(const resip::SipMessage &
> > msg={...}) Line 893 C++
> > MediaServer.exe!resip::DialogUsageManager::processRequest(const
> > resip::SipMessage & request={...}) Line 2073 + 0xf C++
> > MediaServer.exe!resip::DialogUsageManager::incomingProcess(std::auto_ptr<resip::Message>
> > msg={...}) Line 1617 C++
> > MediaServer.exe!resip::DialogUsageManager::internalProcess(std::auto_ptr<resip::Message>
> > msg={...}) Line 1447 C++
> > MediaServer.exe!resip::DumThread::thread() Line 26 C++
> > MediaServer.exe!threadIfThreadWrapper(void * threadParm=0x01aa03c8)
> > Line 51 + 0xd C++
> > msvcr71d.dll!_threadstartex(void * ptd=0x01aa0910) Line 241 + 0xd C
> > kernel32.dll!7c80b729()
> > -------------------------------------
> >
> > Could someone please take a look at this? thanks!
> >
> > -Allen
> >
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20110416/ea084fc5/attachment.htm>
More information about the resiprocate-devel
mailing list