Hello,

Could someone help me please?

I have a production system stopped and waiting to be fixed.

My production script is more complex, but this issue also occurs with simple scripts like the one described previously.

Help on this is much appreciated

Regards,

Vanderlei

De: Vanderlei Torres Batistela via sr-users <sr-users@lists.kamailio.org>
Enviado: terça-feira, 2 de julho de 2024 09:24
Para: sr-users@lists.kamailio.org <sr-users@lists.kamailio.org>
Cc: Vanderlei Torres Batistela <v.batistela@hotmail.com>
Assunto: [SR-Users] Possible Kamailio memory leak - version 5.8.2
 
Hello all,

I am using a very simple scritp with corex module enabled .  Normal calls works fine, but a scenario where INVITE does not
receive response and the call is released with SIP 408 (request timeout) leads to memory leak.  I verified it making a lot of 
calls with this scenario and printing the  shared memory (using kamcmd core.shmmem) .  Its ocurred with modparam("corex", "nio_intercept", 1).
 If  I modify to modparam("corex", "nio_intercept", 0) the memory leak does not ocurr anymore.
The problem also occurs in another scenario where the SIP Cancel message is not responded to.

My script has this event route
 
# event route
event_route[network:msg] {

    xlog("L_INFO", "Dentro do Event_Route \n");
    if (is_incoming()) {
        xlog("L_INFO", "Received message '$mb' \n");
        $avp(msg) = $mb;
        xinfo("avp(msg) = $avp(msg)");
    } else {
        xlog("L_INFO", "Sending message '$mb' \n");
         $avp(msg) = $mb;
    };
}

Test done wtih 4000 calls:

[root@labcom070 kamailio]# kamctl stats shmem
{
  "jsonrpc":  "2.0",
  "result": [
    "shmem:fragments = 900",
    "shmem:free_size = 6180368",
    "shmem:max_used_size = 66980272",
    "shmem:real_used_size = 60928496",
    "shmem:total_size = 67108864",
    "shmem:used_size = 54884944"
  ],
  "id": 393115
}


[root@labcom070 kamailio]# kamcmd mod.stats all shm
Module: core
{
        create_avp(178): 52257504
        counters_prefork_init(211): 53760
        cfg_clone_str(132): 112
        cfg_shmize(221): 832
        main_loop(1381): 16
        init_pt(104): 16
        init_pt(103): 16
        init_pt(102): 6224
        cfg_register_ctx(47): 96
        init_tcp(5197): 8192
        init_tcp(5191): 32768
        init_tcp(5182): 16
        init_tcp(5175): 16
        init_tcp(5167): 16
        init_tcp(5161): 16
        init_tcp(5149): 16
        init_avps(92): 16
        init_avps(91): 16
        init_dst_blocklist(435): 16384
        init_dst_blocklist(427): 16
        timer_alloc(494): 96
        init_dns_cache(368): 16
        init_dns_cache(359): 16384
        init_dns_cache(351): 16
        init_dns_cache(343): 16
        init_timer(264): 16
        init_timer(263): 16384
        init_timer(262): 16
        init_timer(261): 16
        init_timer(250): 16
        init_timer(218): 16
        init_timer(207): 278544
        init_timer(206): 16
        init_timer(194): 16
        cfg_child_cb_new(832): 64
        sr_cfg_init(371): 16
        sr_cfg_init(364): 16
        sr_cfg_init(356): 16
        sr_cfg_init(344): 16
        sr_cfg_init(332): 16
        ksr_shutdown_phase_init(123): 16
        rpc_hash_add(118): 16
        qm_shm_lock_init(1463): 16
        Total: 52687808
}

 I attached  my kamailio  script used and a log with one call   using the command "kamcmd corex.shm_summary" with modparam("corex", "nio_intercept", 1)
and  modparam("corex", "nio_intercept", 0)

Regards,

Vanderlei