[SR-Users] set_body_multipart and memory leak

Sergey Basov sergey.v.basov at gmail.com
Fri Apr 22 14:45:21 CEST 2016


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