Re: Memory leak in nist implementation

"M. Ranganathan" <[email protected]> Mon, 30 Jun 2008 15:58:08 -0400
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
On Mon, Jun 30, 2008 at 3:10 PM, Francisco Javier Tellez Vaquero
<[email protected]> wrote:
> Hello Jeroen,
> it's the solution we have implemented at UAS side. But the problem is a=
t the
> other side, you send a BYE request but you don't receive response.
>
> We have tried executing 'terminate()' method at transaction level,
> 'delete()' at dialog level, but without any result.
>
> We see similar problem when ACK is not received.
>
> Best Regards,
> Fran.
>

Francisco,

Use a memory leak checker and make sure there is no reference in your
application to those objects that do not get garbage collected. If so
then there's nothing the stack can do about it.

If you still think there's a problem, write a very simple test case
that illustrates the problem and submit a bug report and we can test
things out with your test case. You should be able to reproduce this
problem with a very simple UAS/UAC pair.

Thanks

>
>> Date: Mon, 30 Jun 2008 21:00:57 +0200
>> From: [email protected]
>> To: [email protected]
>> CC: [email protected]; [email protected]
>> Subject: Re: [nist-sip] Memory leak in nist implementation
>>
>> Francisco,
>>
>> A B2BUA application connects 2 Dialog objects together, one on the "UA=
S"
>> side (receiving a request) and one on the "UAC" side (forwarding the
>> request)
>> Could it be that you are referring to the "UAS" Dialog that is never
>> destroyed?
>>
>> From that Dialog's perspective, your application received the BYE but
>> never sent a 200 OK. That's different from sending out a BYE onto the
>> network, and not receiving a 200 OK.
>>
>> The proper solution would be to implement logic in the BYE
>> ClientTransaction timeout handler, to still send a 200 OK for the BYE =
on
>> the "UAS" side. Alternatively, you can always immediately send 200 OK
>> when you receive a BYE, and generate a BYE for the second Dialog at th=
e
>> same time.
>>
>> Regards,
>> Jeroen
>>
>> Francisco Javier Tellez Vaquero wrote:
>> > Hi again,
>> > we have an application running as a B2BUA.
>> >
>> > If we receive a BYE from an end point, we send the BYE to the other
>> > point. When we receive 200 response, we re-transmit it.
>> >
>> > We see sometimes this response is lost (because of network problems,
>> > because of terminal, ...). The question is the dialog is never
>> > destroyed until application is re-started. We have wait for garbage
>> > collection (application is running for days).
>> >
>> > Regards.
>> >
>> >
>> > > Date: Mon, 30 Jun 2008 14:39:30 -0400
>> > > From: [email protected]
>> > > To: [email protected]
>> > > Subject: Re: [nist-sip] Memory leak in nist implementation
>> > > CC: [email protected]
>> > >
>> > > When the tx times out delete the dialog and then you have to wait =
for
>> > > the garbage collection to run before you check for leak.
>> > >
>> > > Ranga.
>> > >
>> > > On Mon, Jun 30, 2008 at 2:32 PM, Francisco Javier Tellez Vaquero
>> > > <[email protected]> wrote:
>> > > > Hi Ranga,
>> > > > I agree the example case is a listener bug, but think the opposi=
te
>> > case:
>> > > >
>> > > > - You send a BYE request but no response is received.
>> > > >
>> > > > You have no control about this point, so the idea is trying to
>> > close the
>> > > > dialog anyway.
>> > > >
>> > > > BR.
>> > > >
>> > > >
>> > > >> Date: Mon, 30 Jun 2008 14:09:05 -0400
>> > > >> From: [email protected]
>> > > >> To: [email protected]
>> > > >> Subject: Re: [nist-sip] Memory leak in nist implementation
>> > > >> CC: [email protected]
>> > > >>
>> > > >> On Mon, Jun 30, 2008 at 1:55 PM, Francisco Javier Tellez Vaquer=
o
>> > > >> <[email protected]> wrote:
>> > > >> > Hi all,
>> > > >> > I see sometimes not all stack objects are destroyed.
>> > > >> >
>> > > >> > For example, if you receive BYE request but no 200 response i=
s
>> > sent,
>> > > >> > dialog
>> > > >> > is never closed. There're a lot of different cases (ACK's los=
t,
>> > ...).
>> > > >>
>> > > >> Not sending a 200 OK to a BYE is an application bug. Please fix
>> > > >> that.
>> > > >>
>> > > >> Please post a specific test case (without listener bugs) and I
>> > can look
>> > > >> into it.
>> > > >>
>> > > >> Ranga
>> > > >>
>> > > >> >
>> > > >> > I have tried to free memory executing 'terminate()' and/or
>> > 'delete()'
>> > > >> > methods in both transaction and dialog objects but without an=
y
>> > result.
>> > > >> >
>> > > >> > Is there any way to force to free these objects (timers, dial=
ogs,
>> > > >> > transactions, ...) ?
>> > > >> >
>> > > >> > Regards.
>> > > >> >
>> > > >> >
>> > > >> >
>> > > >> > ________________________________
>> > > >> > Tecnolog=EDa, moda, motor, viajes,.suscr=EDbete a nuestros
>> > boletines para
>> > > >> > estar
>> > > >> > siempre a la =FAltima MSN Newsletters
>> > > >> > _______________________________________________
>> > > >> > nist-sip mailing list
>> > > >> > [email protected]
>> > > >> > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>> > > >> >
>> > > >> >
>> > > >>
>> > > >>
>> > > >>
>> > > >> --
>> > > >> M. Ranganathan
>> > > >
>> > > > ________________________________
>> > > > Sigue los principales acontecimientos deportivos en directo. MSN
>> > > > Motor
>> > >
>> > >
>> > >
>> > > --
>> > > M. Ranganathan
>> >
>> > --------------------------------------------------------------------=
----
>> > Sigue al minuto las principales noticias de tu ciudad MSN Deportes
>> > <http://deportes.es.msn.com/>
>> > --------------------------------------------------------------------=
----
>> >
>> > _______________________________________________
>> > nist-sip mailing list
>> > [email protected]
>> > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>> >
>
> ________________________________
> Tecnolog=EDa, moda, motor, viajes,.suscr=EDbete a nuestros boletines pa=
ra estar
> siempre a la =FAltima MSN Newsletters



--=20
M. Ranganathan