[SR-Users] set_body_multipart and memory leak

Sergey Basov sergey.v.basov at gmail.com
Fri Apr 29 13:08:12 CEST 2016


Hi Daniel.

Thank you, for commit, and sorry for wrong format.

Can you apply this patches for kamailio 4.4 branch ?

--
Best regards,
Sergey Basov                     e-mail: sergey.v.basov at gmail.com

tel: (+38067) 403-62-54


2016-04-28 9:16 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
> Hi Daniel.
>
> I have create pool request as you have proposed.
>
> https://github.com/kamailio/kamailio/pull/587
>
> After this patches problem with memory leak was solved for me.
>
> Thank you.
> --
> Best regards,
> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>
> tel: (+38067) 403-62-54
>
>
> 2016-04-22 15:45 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>> I found root cause of the second issue.
>>
>> after converting body to multipart
>> in msg_translator.c function "check_boundaries" see that flag
>> FL_BODY_MULTIPART is set , executing "build_body" function which
>> returns buffer
>> but function "get_boundary" called at line 1752 of msg_translator.c (
>> if(get_boundary(msg, &ob)!=0) return -1;) find that content type of
>> message not multipart/mixed but application/sdp and returns -1
>> then exit from function "int check_boundaries(struct sip_msg *msg,
>> struct dest_info *send_info)" is performed without feeing buffer.
>>
>> I have changed line 1752 of msg_translator.c
>> from
>> if(get_boundary(msg, &ob)!=0) return -1;
>>
>> to
>> if(get_boundary(msg, &ob)!=0) {
>>         if(tmp.s) pkg_free(tmp.s);
>>          return -1;
>> }
>>
>> And 3-rd, last for my case, memory leak has gone away.
>>
>> I does not know why check "if(!(msg->msg_flags&FL_BODY_MULTIPART))"
>> returns false...
>>
>> But in this way it works for me without memory leak.
>> --
>> Best regards,
>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>
>> tel: (+38067) 403-62-54
>>
>>
>> 2016-04-22 14:06 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>> Thanks for troubleshooting further. If it is convenient for you, make a pull
>>> request with the patch fixing the problem -- it is easier to review online
>>> and merge the patch if everything is ok.
>>>
>>> If not, I am going to check it later today if I get the time, or during the
>>> next days -- right now being caught with some meetings.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 22/04/16 10:18, Sergey Basov wrote:
>>>
>>> Looks like we nned to free memory for
>>>
>>> if(convert && nb.s!=NULL) pkg_free(nb.s);
>>> if(convert && oc.s!=NULL) pkg_free(oc.s);
>>>
>>> before
>>>
>>> LM_DBG("set flag FL_BODY_MULTIPART\n");
>>>
>>> In this case there no more leak in textops.c:
>>> set_multibody_helper(1637) and textops.c:set_multibody_helper(1648)
>>>
>>> But there is one more trouble after set_body_multipart
>>>
>>>
>>> Apr 22 10:48:39 sip1 /usr/sbin/kamailio-sipt[20349]: ERROR: <core>
>>> [msg_translator.c:1691]: get_boundary(): Content-Type hdr has no
>>> params
>>> Apr 22 10:48:39 sip1 /usr/sbin/kamailio-sipt[20349]: WARNING: <core>
>>> [msg_translator.c:1954]: build_req_buf_from_sip_req():
>>> check_boundaries error
>>>
>>> when doing msg_apply_changes
>>> after 1 call
>>> qm_sums:  count=     1 size=       256 bytes from core:
>>> msg_translator.c: build_body(2986)
>>> after 2 calls
>>> qm_sums:  count=     2 size=       536 bytes from core:
>>> msg_translator.c: build_body(2986)
>>>
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>> tel: (+38067) 403-62-54
>>>
>>>
>>> 2016-04-22 10:20 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>
>>> Done.
>>>
>>> Please see in attached files.
>>>
>>> seems textops.c: set_multibody_helper(1637) and textops.c:
>>> set_multibody_helper(1648) size are increasing..
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>> tel: (+38067) 403-62-54
>>>
>>>
>>> 2016-04-22 10:05 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>>
>>> Checked the code and noticed that the behaviour is controlled also by
>>> mem_summary core parameter.
>>>
>>> https://www.kamailio.org/wiki/cookbooks/4.4.x/core#mem_summary
>>>
>>> Can you redo the tests after setting mem_summary=12 ?
>>>
>>> Cheers,
>>>
>>> Daniel
>>>
>>>
>>> On 22/04/16 08:52, Sergey Basov wrote:
>>>
>>> I have used corex.pkg_summary pid 19607
>>> where pid is the pid of "udp receiver" process
>>>
>>> I used it few times, and after a while I get that output.
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>> tel: (+38067) 403-62-54
>>>
>>>
>>> 2016-04-22 9:24 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>>
>>> Hello,
>>>
>>> this seems to be the memory status output, not the summary. What command did
>>> you use to generate it?
>>>
>>> Also, can you test with kamailio 4.4 started with the option '-x qm'?
>>>
>>> Cheers,
>>>
>>> Daniel
>>>
>>> On 22/04/16 07:25, Sergey Basov wrote:
>>>
>>> Hi, Daniel.
>>>
>>> After enabling pkg.summary dump for "udp receiver" process I got 1-st entry
>>>
>>> Apr 22 08:14:12 sip1 /usr/sbin/kamailio-sipt[19613]: INFO: <core>
>>> [cfg/cfg_ctx.c:608]: cfg_set_now(): INFO: cfg_set_now():
>>> core.mem_dump_pkg has been changed to 19607
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: <core>
>>> [pt.c:532]: mem_dump_pkg_cb(): Memory status (pkg) of process 19607:
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> fm_status (0x7f9636155010):
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  heap size= 2097152
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  used= 473912, used+overhead=627848, free=1469304
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  max used (+overhead)= 642792
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> dumping free list:
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   1 fragments no.:    10, unused:     0#012#011#011 bucket
>>> size:         8 -         8 (first         8)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   2 fragments no.:     4, unused:     0#012#011#011 bucket
>>> size:        16 -        16 (first        16)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   7 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:        56 -        56 (first        56)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   8 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:        64 -        64 (first        64)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 128 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1024 -      1024 (first      1024)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 142 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1136 -      1136 (first      1136)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 217 fragments no.:    12, unused:     0#012#011#011 bucket
>>> size:      1736 -      1736 (first      1736)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 2055 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:   1048576 -   2097152 (first   1446048)
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> TOTAL:     31 free fragments = 1469304 free bytes
>>> Apr 22 08:14:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> -----------------------------
>>>
>>> ----------------------
>>> 2-nd entry, after few test calls
>>>
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: <core>
>>> [pt.c:532]: mem_dump_pkg_cb(): Memory status (pkg) of process 19607:
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> fm_status (0x7f9636155010):
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  heap size= 2097152
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  used= 476264, used+overhead=637832, free=1459320
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  max used (+overhead)= 653072
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> dumping free list:
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   1 fragments no.:    10, unused:     0#012#011#011 bucket
>>> size:         8 -         8 (first         8)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   3 fragments no.:     5, unused:     0#012#011#011 bucket
>>> size:        24 -        24 (first        24)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   6 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:        48 -        48 (first        48)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   7 fragments no.:    25, unused:     0#012#011#011 bucket
>>> size:        56 -        56 (first        56)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   8 fragments no.:    45, unused:     0#012#011#011 bucket
>>> size:        64 -        64 (first        64)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   9 fragments no.:     5, unused:     0#012#011#011 bucket
>>> size:        72 -        72 (first        72)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  12 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:        96 -        96 (first        96)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  13 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:       104 -       104 (first       104)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  14 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       112 -       112 (first       112)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  15 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       120 -       120 (first       120)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  16 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       128 -       128 (first       128)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  18 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       144 -       144 (first       144)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  19 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       152 -       152 (first       152)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  20 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       160 -       160 (first       160)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  29 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       232 -       232 (first       232)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  34 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       272 -       272 (first       272)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  39 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       312 -       312 (first       312)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  50 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       400 -       400 (first       400)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  59 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:       472 -       472 (first       472)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  60 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       480 -       480 (first       480)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  76 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       608 -       608 (first       608)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  78 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       624 -       624 (first       624)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  89 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       712 -       712 (first       712)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 130 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1040 -      1040 (first      1040)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 221 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1768 -      1768 (first      1768)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 229 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1832 -      1832 (first      1832)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 313 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      2504 -      2504 (first      2504)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 2055 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:   1048576 -   2097152 (first   1439728)
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> TOTAL:    125 free fragments = 1459320 free bytes
>>> Apr 22 08:18:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> -----------------------------
>>>
>>> ---------------
>>> 3-d output after more calls
>>>
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: <core>
>>> [pt.c:532]: mem_dump_pkg_cb(): Memory status (pkg) of process 19607:
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> fm_status (0x7f9636155010):
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  heap size= 2097152
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  used= 478096, used+overhead=640384, free=1456768
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>>  max used (+overhead)= 656296
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> dumping free list:
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   1 fragments no.:    10, unused:     0#012#011#011 bucket
>>> size:         8 -         8 (first         8)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   3 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:        24 -        24 (first        24)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   6 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:        48 -        48 (first        48)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   7 fragments no.:    27, unused:     0#012#011#011 bucket
>>> size:        56 -        56 (first        56)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   8 fragments no.:    45, unused:     0#012#011#011 bucket
>>> size:        64 -        64 (first        64)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =   9 fragments no.:     5, unused:     0#012#011#011 bucket
>>> size:        72 -        72 (first        72)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  12 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:        96 -        96 (first        96)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  13 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:       104 -       104 (first       104)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  14 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       112 -       112 (first       112)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  15 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       120 -       120 (first       120)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  16 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       128 -       128 (first       128)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  18 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:       144 -       144 (first       144)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  19 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       152 -       152 (first       152)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  20 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       160 -       160 (first       160)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  29 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       232 -       232 (first       232)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  33 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       264 -       264 (first       264)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  39 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       312 -       312 (first       312)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  50 fragments no.:     2, unused:     0#012#011#011 bucket
>>> size:       400 -       400 (first       400)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  59 fragments no.:     3, unused:     0#012#011#011 bucket
>>> size:       472 -       472 (first       472)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  60 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       480 -       480 (first       480)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  71 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       568 -       568 (first       568)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash =  79 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       632 -       632 (first       632)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 118 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:       944 -       944 (first       944)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 141 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1128 -      1128 (first      1128)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 186 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1488 -      1488 (first      1488)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 221 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1768 -      1768 (first      1768)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 229 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      1832 -      1832 (first      1832)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 313 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:      2504 -      2504 (first      2504)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> hash = 2055 fragments no.:     1, unused:     0#012#011#011 bucket
>>> size:   1048576 -   2097152 (first   1435248)
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> TOTAL:    126 free fragments = 1456768 free bytes
>>> Apr 22 08:24:28 sip1 /usr/sbin/kamailio-sipt[19607]: ALERT: fm_status:
>>> -----------------------------
>>>
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>> tel: (+38067) 403-62-54
>>>
>>>
>>> 2016-04-21 18:11 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>
>>> Hi, Daniel.
>>>
>>> Tested on 4.3.5 and 4.4.0 - same issue.
>>>
>>> Tomorrow I will make dump.
>>>
>>> Thank you.
>>>
>>> Hello,
>>>
>>> what version of kamailio are you using?
>>>
>>> Can you get the pkg summary dump from syslog?
>>>
>>> http://www.kamailio.org/docs/modules/stable/modules/corex.html#idp5056
>>>
>>> Cheers,
>>> Daniel
>>>
>>> On 21/04/16 14:46, Sergey Basov wrote:
>>>
>>> Hi, All.
>>>
>>> I have some problems with pkg_memory leak.
>>>
>>> After each call used private memory of the "udp receiver" process
>>> increases at 2500 bytes.
>>> On test environment I hav set it to 2Mbyte, but it is full after 700
>>> calls.
>>>
>>> I need to modify SDP in invite and other packets.
>>> When I do
>>>
>>> ====================================================
>>>
>>> if(has_body("application/sdp"))
>>>    set_body_multipart();
>>>    if (msg_apply_changes())
>>>     {
>>>        xlog("L_INFO", "ISUP 1 Changes Applied Succesfully");
>>>     }
>>> }
>>>
>>> record_route();
>>> dlg_manage
>>> route(RELAY);
>>>
>>> ====================================================
>>>
>>>
>>> Debug from kamailio:
>>>
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textops
>>> [textops.c:2627]: has_body_f(): content type is 196611
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textops
>>> [textops.c:1577]: set_multibody_helper():
>>> delimiter<17>:[unique-boundary-1]
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textops
>>> [textops.c:1486]: generate_boundary(): adding final CRLF+CRLF
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textops
>>> [textops.c:1714]: set_multibody_helper():
>>> content-type<44>:[multipart/mixed;boundary="unique-boundary-1"]
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textops
>>> [textops.c:1766]: set_multibody_helper(): set flag FL_BODY_MULTIPART
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: ERROR: <core>
>>> [msg_translator.c:1691]: get_boundary(): Content-Type hdr has no
>>> params
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: WARNING: <core>
>>> [msg_translator.c:1954]: build_req_buf_from_sip_req():
>>> check_boundaries error
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [msg_translator.c:422]: clen_builder(): content-length: 251 (251)
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: textopsx
>>> [textopsx.c:231]: msg_apply_changes_f(): SIP message content updated -
>>> reparsing
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:608]: parse_msg(): SIP Request:
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:610]: parse_msg():  method:  <INVITE>
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:612]: parse_msg():  uri:
>>> <sip:0637304494 at 10.56.42.27:5070;user=phone>
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:614]: parse_msg():  version: <SIP/2.0>
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_via.c:1254]: parse_via_param(): Found param type 232,
>>> <branch> = <z9hG4bK09e6.2654d2382f7c4e4fb8bb62fe85f62dfa.0>; state=6
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_via.c:1254]: parse_via_param(): Found param type 236,
>>> <i> = <1>; state=16
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_via.c:2642]: parse_via(): end of header reached, state=5
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:496]: parse_headers(): parse_headers: Via found,
>>> flags=2
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:498]: parse_headers(): parse_headers: this is the
>>> first via
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: INFO: <script>:
>>> ISUP 1 Changes Applied Succesfully
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_via.c:1254]: parse_via_param(): Found param type 232,
>>> <branch> =
>>> <z9hG4bKsr-s7wTDLa0zUfsTql5zpl0zpl0z.lRD.zok.TLz.lSk2Fw1RY9PJYMxpdED.dED.aEG38LkpcsWhqMQr1v1bFAyJGCxrCoQdB71Mtceh52GpZKDpX3zRFAzVFJzhBLGpeJe.TczW7cDuT8GLs7O37vBbn6BbTfGhM2Gpl*>;
>>> state=16
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_via.c:2642]: parse_via(): end of header reached, state=5
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:496]: parse_headers(): parse_headers: Via found,
>>> flags=ffffffffffffffff
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:509]: parse_headers(): parse_headers: this is the
>>> second via
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/parse_addr_spec.c:894]: parse_addr_spec(): end of header
>>> reached, state=10
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:173]: get_hdr_field(): DEBUG: get_hdr_field: <To>
>>> [46]; uri=[sip:0637304494 at 10.56.42.27:5070;user=phone]
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:175]: get_hdr_field(): DEBUG: to body
>>> [<sip:0637304494 at 10.56.42.27:5070;user=phone>#015#012]
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:153]: get_hdr_field(): get_hdr_field: cseq
>>> <CSeq>: <2> <INVITE>
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:187]: get_hdr_field(): DEBUG: get_hdr_body :
>>> content_length=251
>>> Apr 21 15:38:20 sip1 /usr/sbin/kamailio-sipt[17775]: DEBUG: <core>
>>> [parser/msg_parser.c:89]: get_hdr_field(): found end of header
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> http://www.asipto.com
>>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>> Kamailio World Conference, Berlin, May 18-20, 2016 -
>>> http://www.kamailioworld.com
>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> http://www.asipto.com
>>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>> Kamailio World Conference, Berlin, May 18-20, 2016 -
>>> http://www.kamailioworld.com
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> http://www.asipto.com
>>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>> Kamailio World Conference, Berlin, May 18-20, 2016 -
>>> http://www.kamailioworld.com
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> http://www.asipto.com
>>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>> Kamailio World Conference, Berlin, May 18-20, 2016 -
>>> http://www.kamailioworld.com



More information about the sr-users mailing list