[SR-Users] 4.4.5 Shared memory leak with t_suspend/t_continue

Julia Boudniatsky juliabo at gmail.com
Tue Apr 25 17:04:46 CEST 2017


Hello,

I found my mistake!
Transaction has been suspended in request route, and i try to_continue from
 onreply route.

I change the scenario:
- receive INVITE
- reply and suspend
- in onreply route (when received 180)  send  OPTIONS to localhost with
$T(id_index):$T(id_label)
- in request OPTIONS, continue transaction with adding a new branch.

*Memory leak does not happen.*

*Question:*

Is it possible to revoke the suspension of the INVITE from the script
(without adding a "fake" branch),when received reply is 183?

Thank you,
Julia.




On Mon, Apr 24, 2017 at 7:25 PM, Julia Boudniatsky <juliabo at gmail.com>
wrote:

> Hello Daniel,
> Thank you for reply.
>
> I haven't used event-route in this scenario.
> When i fork parallel (without suspend/continue), memory leak does not
> happen.
>
> On Mon, Apr 24, 2017 at 5:44 PM, Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> there seem to be quite a lot of avps -- are you using an event_route
>> block with avp variables inside?
>>
>> Cheers,
>> Daniel
>>
>> On 24.04.17 14:34, Julia Boudniatsky wrote:
>>
>> Hello all,
>>
>> I need to fork an incoming call to the second destination, after
>> receiving 180 reply from the first destination.
>> I use kamailio version 4.4.5
>> It working fine, but with shared memory leak.
>> The script part:
>>
>>        $avp(00x)=$_s(sip:$var(00x)@$si:$sp;user=phone);
>>        if(!is_known_dlg()){
>>                 dlg_manage();
>>         }
>>         t_relay();
>>         append_branch("$avp(00x)");
>>         if(t_suspend()) {
>>                 xlog("L_NOTICE","FORK: suspend
>> transaction[$T(id_index):$T(id_label)]\r\n");
>>         }
>>
>> onreply_route [REPLY_TO_SOURCE] {
>> if ($T_reply_code=="180") {
>> t_continue("$T(id_index)", "$T(id_label)", "RELAY_FORK");
>> }
>> }
>> route[RELAY_FORK] {
>>                 $ru=$avp(00x);
>>                 $avp(tu) = $_s(sip:$rU@$td;user=phone);
>>                 uac_replace_to("$avp(tu)");
>>                 remove_hf("Supported");
>>                 xlog("L_NOTICE","RELAY_FORK : $rm CSeq[$hdr(CSeq)]
>> branch[$T_branch_idx]\r\n");
>>                 t_relay();
>> }
>>
>> Please find the result of  *kamcmd corex.shm_summary* after 300 calls
>>
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status: summarizing all alloc'ed. fragments:
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       176 bytes from dialog: dlg_profile.c:
>> set_dlg_profile(574)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=       264 bytes from dialog: dlg_var.c:
>> new_dlg_var(97)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=       152 bytes from dialog: dlg_hash.c:
>> dlg_set_leg_info(526)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=       144 bytes from dialog: dlg_hash.c:
>> dlg_set_leg_info(509)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     2 size=      1184 bytes from dialog: dlg_hash.c:
>> build_new_dlg(441)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        24 bytes from dialog: dlg_var.c:
>> new_dlg_var(106)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        24 bytes from dialog: dlg_var.c:
>> new_dlg_var(116)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        88 bytes from dialog: dlg_hash.c:
>> dlg_set_leg_info(517)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   337 size=    367448 bytes from tm: t_reply.c:
>> relay_reply(1891)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   334 size=    549312 bytes from tm: t_msgbuilder.c:
>> build_local_reparse(344)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   672 size=   1123536 bytes from core: msg_translator.c:
>> build_req_buf_from_sip_req(2154)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   337 size=    505048 bytes from core: sip_msg_clone.c:
>> msg_lump_cloner(978)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   331 size=     14784 bytes from tm: t_reply.c:
>> update_totag_set(312)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   340 size=   3566680 bytes from core: sip_msg_clone.c:
>> sip_msg_shm_clone(494)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   339 size=      5024 bytes from dialog: dlg_handlers.c:
>> dlg_get_iuid_shm_clone(280)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   337 size=   2528256 bytes from tm: h_table.c:
>> build_cell(317)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   331 size=     10096 bytes from tm: t_reply.c:
>> update_totag_set(313)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=  2390 size=    315368 bytes from core: usr_avp.c:
>> create_avp(175)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     36480 bytes from core: counters.c:
>> counters_prefork_init(207)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     10944 bytes from sl: sl_stats.c:
>> init_sl_stats_child(125)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       512 bytes from tmx: tmx_pretran.c:
>> tmx_init_pretran_table(90)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     14592 bytes from tm: t_stats.c:
>> init_tm_stats_child(60)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=      2736 bytes from kex: pkg_stats.c:
>> pkg_proc_stats_init(79)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        88 bytes from core: cfg/cfg_struct.c:
>> cfg_clone_str(130)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       648 bytes from core: cfg/cfg_struct.c:
>> cfg_shmize(217)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: pt.c: init_pt(110)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: pt.c: init_pt(105)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=      7984 bytes from core: pt.c: init_pt(104)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=      8192 bytes from htable: ht_api.c:
>> ht_init_tables(381)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from cfgutils: cfgutils.c:
>> mod_init(935)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from cfgutils: cfgutils.c:
>> mod_init(929)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from cfgutils: cfgutils.c:
>> mod_init(921)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=    131088 bytes from dialog: dlg_hash.c:
>> init_dlg_table(284)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dialog: dlg_hash.c:
>> init_dlg_table(276)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dialog: dlg_hash.c:
>> init_dlg_table(269)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dialog: dlg_hash.c:
>> init_dlg_table(264)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dialog: dlg_timer.c:
>> init_dlg_timer(57)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        32 bytes from dialog: dlg_timer.c:
>> init_dlg_timer(48)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       312 bytes from dialog: dlg_profile.c:
>> new_dlg_profile(187)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       432 bytes from dispatcher: dispatch.c:
>> reindex_dests(601)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=   678 size=     31456 bytes from tm: t_hooks.c:
>> insert_tmcb(137)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        32 bytes from dispatcher: dispatch.c:
>> ds_set_attrs(235)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        72 bytes from dispatcher: dispatch.c:
>> add_dest2list(351)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=       360 bytes from core: timer.c:
>> register_timer(1011)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       840 bytes from dispatcher: dispatch.c:
>> add_dest2list(325)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        16 bytes from dispatcher: dispatch.c:
>> init_data(204)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        16 bytes from dispatcher: dispatch.c:
>> init_data(195)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dispatcher:
>> dispatcher.c: ds_parse_reply_codes(1029)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dispatcher:
>> dispatcher.c: mod_init(309)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dispatcher:
>> dispatcher.c: mod_init(307)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from dispatcher: dispatch.c:
>> ds_ping_active_init(102)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from sl: sl_funcs.c:
>> sl_startup(83)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from sl: sl_stats.c:
>> init_sl_stats(110)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        16 bytes from tm: t_hooks.c:
>> init_tmcb_lists(74)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        16 bytes from tm: t_hooks.c:
>> init_tmcb_lists(72)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=   2097152 bytes from tm: h_table.c:
>> init_hash_table(467)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     3 size=        96 bytes from core: cfg/cfg_ctx.c:
>> cfg_register_ctx(47)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: usr_avp.c:
>> init_avps(90)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: usr_avp.c:
>> init_avps(89)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     16384 bytes from core: dst_blacklist.c:
>> init_dst_blacklist(437)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: dst_blacklist.c:
>> init_dst_blacklist(430)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     2 size=        96 bytes from core: timer.c:
>> timer_alloc(514)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: dns_cache.c:
>> init_dns_cache(366)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     16384 bytes from core: dns_cache.c:
>> init_dns_cache(358)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        16 bytes from core: dns_cache.c:
>> init_dns_cache(351)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: dns_cache.c:
>> init_dns_cache(345)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(283)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=     16384 bytes from core: timer.c:
>> init_timer(282)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(281)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(280)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(269)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(237)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=    278544 bytes from core: timer.c:
>> init_timer(220)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(219)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: timer.c:
>> init_timer(206)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        64 bytes from core: cfg/cfg_struct.c:
>> cfg_child_cb_new(830)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: cfg/cfg_struct.c:
>> sr_cfg_init(361)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: cfg/cfg_struct.c:
>> sr_cfg_init(354)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: cfg/cfg_struct.c:
>> sr_cfg_init(347)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: cfg/cfg_struct.c:
>> sr_cfg_init(335)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: cfg/cfg_struct.c:
>> sr_cfg_init(323)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=       232 bytes from htable: ht_api.c:
>> ht_add_table(278)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from pv: pv_shv.c:
>> add_shvar(177)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        64 bytes from pv: pv_shv.c:
>> add_shvar(170)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=        80 bytes from pv: ../../lock_alloc.h:
>> lock_set_alloc(70)
>> Apr 24 15:08:53 vm-tkamasy1 /usr/local/sbin/kamailio[2795]: WARNING:
>> fm_status:  count=     1 size=         8 bytes from core: mem/shm.c:
>> shm_core_lock_init(153)
>>
>> Thank you for help.
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> --
>> Daniel-Constantin Mierlawww.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170425/d377210b/attachment.html>


More information about the sr-users mailing list