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

RE: [reSIProcate] bug of ServerSubscription


Are you using the latest code from SVN? – I think a recent fix to DialogSet.cxx line 363 will fix this problem.

 


From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Noiile
Sent: Wednesday, December 07, 2005 10:41 PM
To: resiprocate-devel
Subject: [reSIProcate] bug of ServerSubscription

 

resiprocate-devel<%--AID_SENDTO_END--%>, Hello

 

When client send two unsubscribes(expires=0) with different Cseq, it will make my program crash.

Because it will make DUM delete ServerSubscription's Dialog object twice. 

 

When ServerSubscription receives a unsubscribe ,it will delete itself, and post a message(DestroyUsage) to delete its Dialog object.

But Dum receives the second unsubscirbe, which call-id is the same as previous, and Cseq is larger than it.

Dum will create a new ServerSubscription with previous ServerSubscription's dialog , because of the same dialog ID. (Two ServerSubscription share one Dialog object!!!)

And then the 2nd ServerSubscription process this unsubscribe message, it will delete itself, and post a message(DestroyUsage) to delete it's Dialog object.

Now, there are 2 DestroyUsage messages in DUM's fifo, so DUM will delete this Dialog object twice!!!

 

I have no ideas to fix it :(

 

<%--AID_EDIT_ATTACHMENT_BEGIN--%><%--AID_EDIT_ATTACHMENT_END--%>

<%--AID_FROMNAME_BEGIN--%>Noiile<%--AID_FROMNAME_END--%>, <%--AID_FROMADDRESS_BEGIN--%>noiile@xxxxxxxxxxx<%--AID_FROMADDRESS_END--%>

2005-12-8