Hello!
We are facing a Kamailio memory leak with the pua module, pua module consumes about 2GBs:
kamcmd mod.stats all shm

Module: pua

{

add_pua_event(72): 648

init_pua_evlist(36): 56

new_htable(79): 8192

init_puacb_list(35): 16

new_htable(64): 8

publ_cback_func(409): 12451504

publ_cback_func(363): 1658482848

update_htable(203): 210590960

new_htable(93): 131512

Total: 1881665744

}

Module: pua_dialoginfo

{

get_str_list(463): 344

get_dialog_data(500): 1744

Total: 2088

}


PUA Module parameters:

loadmodule "pua.so"

loadmodule "pua_dialoginfo"

# ----- pua params -----

modparam("pua", "db_url", DBURL)

modparam("pua", "db_mode", 0)

modparam("pua", "outbound_proxy", PUA_PROXY)

modparam("pua", "db_table_lock_write", 0)

modparam("pua", "update_period", 0) modparam("pua", "dlginfo_increase_version", 0) modparam("pua", "reginfo_increase_version", 0) modparam("pua", "check_remote_contact", 0) modparam("pua", "fetch_rows", 1000) modparam("pua", "default_expires", 30)

# ----- pua_dialoginfo params -----

modparam("pua_dialoginfo", "include_callid", 1)

modparam("pua_dialoginfo", "send_publish_flag", FLT_PUBLISH)

modparam("pua_dialoginfo", "caller_confirmed", 1)

modparam("pua_dialoginfo", "include_tags", 1)

modparam("pua_dialoginfo", "include_localremote", 0)

modparam("pua_dialoginfo", "use_pubruri_avps", 1)

modparam("pua_dialoginfo", "pubruri_caller_avp", "$avp(s:puburis_caller)")

modparam("pua_dialoginfo", "pubruri_callee_avp", "$avp(s:puburis_callee)") - Kamailio 5.5.4 (x86_64/linux), installed from .deb packages:

kamailio --version

version: kamailio 5.5.4 (x86_64/linux)

flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED

ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB

poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.

id: unknown

compiled with gcc 8.3.0 


- Kamailio is runned in Docker:

docker --version

Docker version 20.10.21, build baeda1f - With “Debian GNU/Linux 10” docker image:

cat /etc/issue

Debian GNU/Linux 10 \n \l


- Host OS is “Ubuntu 18.04.6 LTS”:
cat /etc/issue

Ubuntu 18.04.6 LTS \n \l - Server is AWS EC2 with CPU:

lscpu:
Architecture:        x86_64

CPU op-mode(s):      32-bit, 64-bit

Byte Order:          Little Endian

Address sizes:       46 bits physical, 48 bits virtual

CPU(s):              8

On-line CPU(s) list: 0-7

Thread(s) per core:  2

Core(s) per socket:  4

Socket(s):           1

NUMA node(s):        1

Vendor ID:           GenuineIntel

CPU family:          6

Model:               85

Model name:          Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz

Stepping:            7

CPU MHz:             3599.769

BogoMIPS:            5999.98

Hypervisor vendor:   KVM

Virtualization type: full

L1d cache:           32K

L1i cache:           32K

L2 cache:            1024K

L3 cache:            36608K

NUMA node0 CPU(s):   0-7


Please tell me if you need any additional information about this issue.


Thanks for helping me with this!

--
Regards,
Vladyslav Korniiaka
vladyslav.korniiaka@net2phone.com