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

Re: RE: [reSIProcate] bug of ServerSubscription


Scott Godin, Hello
 
Thanks, I think it's time to release a new version.
 
<%--AID_FROMNAME_BEGIN--%>Noiile<%--AID_FROMNAME_END--%>, <%--AID_FROMADDRESS_BEGIN--%>noiile@xxxxxxxxxxx<%--AID_FROMADDRESS_END--%>
2005-12-9
----- Receiving the following content -----
Receiver: Scott Godin
Time: 2005-12-08, 21:00:49
Subject: 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, 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 :(

2005-12-8