Comment #6 on issue 2130 by jean.deruelle: Memory leak in Sip stack when
INFO message is used
http://code.google.com/p/mobicents/issues/detail?id=2130
I created the sipp scripts that work against the latest snapshot version of
sipp http://sipp.sourceforge.net/snapshots/sipp.2009-07-29.tar.gz
MSS is on port 5080 and started with -DinfoTime=10 -DnextHop=127.0.0.1:5080
To run the UAS script
./sipp $TEST_IP:5080 -sf uas.xml -trace_err -trace_msg -i $TEST_IP -p 5070
-nd
To run the UAC script
./sipp $TEST_IP:5080 -s receiver -sf uac.xml -trace_err -trace_msg -i
$TEST_IP -p 5060 -r 1 -m 1 -nd
I ran this and found out that for one call 3 sip sessions were created
instead of 2.
By looking at your code it seems that you implicitly create a new sip
session and subsequent request in B2BUA.updatedHeader method at line 212 :
SipServletRequest tempRequest = b2buaHelper.createRequest(request, true,
headerMap);
This is incorrect and might reduce the perf a lot since the sip session and
sip application session will be kept in memory for 3 minutes before being
invalidated which might make them go the old geneartion of the JVM and thus
not cleaned up before a full GC cycle.
My profiling showed that no SIPClientTransaction or SIPServerTransaction
were retained after the BYE-OK transaction was completed
Please correct the code and rerun it also make sure that logging of the
jain sip stack (mss-sip-stack.properties) is turned off and MSS container
(log4j.xml) is turned at least at ERROR level.
Let me know if you still have a problem and if you do resend an updated
application binary and source code
Note : I didn't use a UAS Servlet and just used the sipp scripts
Attachments:
InfoMemLeak.zip 194 KB