Hi,
I'm seeing a possible leak in parsing the P-Asserted-Identity, and possibly P-Preferred-Identity headers in kamailio-3.3.4.
I have a server running in which one thread has currently most of the 8 MB private memory allocated. At restart qm_sums reports parse_pai.c as sitting on most of the memory:
Apr 16 16:38:58 gws1 /usr/sbin/kamailio[9398]: INFO: qm_status: heap size= 8388608 Apr 16 16:38:58 gws1 /usr/sbin/kamailio[9398]: INFO: qm_status: used= 5369240, used+overhead=6417216, free=1971392 [...] Apr 16 16:39:03 gws1 /usr/sbin/kamailio[9398]: INFO: qm_sums: count= 6198 size= 4721776 bytes from <core>: parse_pai.c: parse_pai_header(58)
I am currently using the header through $ai for xlog statements, the accounting module and a validity check (if (!($(ai{uri.user}) =~ "^+[1-9]+")) {...}).
From digging through the logs it could seem like this happens when using
$ai in the accounting module. I'll try removing it from accounting (log_extra) and see if it stops leaking.
Hello,
I looked quickly to the core and seems ok, I will check the accounting later.
Do you simply account $ai or is any other attribute related to it?
If you have time to test, can you put the $ai in an avp during the request processing and account that avp? If the leak is not shown anymore in that case, it narrows down a lot where to look at.
Cheers, Daniel
On 4/17/13 5:19 PM, Tais Plougmann Hansen wrote:
I had added $ai to acc log_extra like this:
modparam("acc", "log_extra", "src_user=$fU;src_domain=$fd;src_ip=$si;" "dst_ouser=$tU;dst_user=$rU;dst_domain=$rd" "p_asserted_identity=$ai;remote_party_id=$re")
Once I commented out the last line, the leak vanished.
Apr 17 16:55:41 gws1 /usr/sbin/kamailio[10649]: ALERT: qm_status: used= 646728, used+overhead=1099696, free=7288912 Apr 19 12:28:04 gws1 /usr/sbin/kamailio[10649]: ALERT: qm_status: used= 646752, used+overhead=1100104, free=7288504
I'll test the avp intermediary in the next few days.
On Thu, Apr 18, 2013 at 10:13 AM, Daniel-Constantin Mierla < miconda@gmail.com> wrote:
Hello,
On 4/19/13 12:42 PM, Tais Plougmann Hansen wrote:
ok, I will look over acc module for this case.
Do you still have the xlog lines printing these variables?
Cheers, Daniel
Yes, xlog statements have been left in place. Only the "log_extra" parameter of acc was changed.
I've tested the $avp replacement and it does not look like it leaks pkg mem.
On Mon, Apr 22, 2013 at 9:49 AM, Daniel-Constantin Mierla <miconda@gmail.com
wrote: