Re: [reSIProcate-users] Memory Leak
Hi again,
I just ran a similar test with both ends (UAC/UAS) in the same process. I am using the DUM on Linux (resip 1.6).
In a nutshell, I simply make a call, answer it then bye it in a tight loop. I do see my memory (VmSize) grow initially for a little while, but it stabilizes after some time (under 5 minutes).
Now, there might be more going on, but my first gut feeling is that the SIP timers are accumulating up to a certain point. reSIProcate's timers are more or less only "deleted" once they fire or when you shutdown the stack (I don't think they are deleted after a certain transaction or dialog ends).
So, for a normal call there are various timers that get scheduled (for example the SIP T100 timer). I'm thinking that blasting back-to-back calls in a tight loop has the effect of piling up those various timers. Assuming your call rate is constant, this pile up will happen until the oldest timers have a chance to consistently fire. At that point I saw my memory usage reach a plateau.
I've also run my test under valgrind and didn't find any leak.
Could you leave your test process running and keep an eye on it to see if it reaches a plateau like mine did?
Hope this helps,
Francis
On Thu, Nov 18, 2010 at 9:05 AM, Francis Joanis
<francis.joanis@xxxxxxxxx> wrote:
Hi Gregory,
Are you using the SipStack directly or are you using the DUM? Would you be able to post some examples of your code?
Thanks,
Francis
Hi,
I'm
running a test application with the following scenario:
1.
A sends INVITE to B.
2.
B accepts the INVITE, so the call is connected.
3.
After a few seconds, B sends BYE to A.
4.
Goto 1
The
problem is that the memory consumption of my process constantly grows.
I
noticed that the memory sometimes grows after calling and after the call is
terminated, it's not always reduced to what it was before the call.
What
can be the problem?
I
found posts online about memory leaks in Resiprocate, but didn't find what I
can do in order to avoid them.
Thanks