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.ba...@gmail.com tel: (+38067) 403-62-54 2016-04-28 9:16 GMT+03:00 Sergey Basov <sergey.v.ba...@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.ba...@gmail.com > > tel: (+38067) 403-62-54 > > > 2016-04-22 15:45 GMT+03:00 Sergey Basov <sergey.v.ba...@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.ba...@gmail.com >> >> tel: (+38067) 403-62-54 >> >> >> 2016-04-22 14:06 GMT+03:00 Daniel-Constantin Mierla <mico...@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.ba...@gmail.com >>> >>> tel: (+38067) 403-62-54 >>> >>> >>> 2016-04-22 10:20 GMT+03:00 Sergey Basov <sergey.v.ba...@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.ba...@gmail.com >>> >>> tel: (+38067) 403-62-54 >>> >>> >>> 2016-04-22 10:05 GMT+03:00 Daniel-Constantin Mierla <mico...@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.ba...@gmail.com >>> >>> tel: (+38067) 403-62-54 >>> >>> >>> 2016-04-22 9:24 GMT+03:00 Daniel-Constantin Mierla <mico...@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.ba...@gmail.com >>> >>> tel: (+38067) 403-62-54 >>> >>> >>> 2016-04-21 18:11 GMT+03:00 Sergey Basov <sergey.v.ba...@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@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@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@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.ba...@gmail.com >>> >>> _______________________________________________ >>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>> sr-users@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@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 _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users