Thanks, Daniel. That seems to be the logical explanation. I’ll apply the patch and see how it goes.
Looking back, that code was based on a bit of code from modules/purple/mapping.c which also does not free the result, in a few places, in the case of 0 rows in the result. We don’t use “purple” but it’s probably
worth fixing that one up too.
Cheers
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com]
Sent: 19 September 2016 20:04
To: Phil Lavin <phil.lavin@cloudcall.com>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] OOM Errors
Hello,
yes, the db related allocated chunks look to be quite high in number. That can be possible if there are db results with lots of records, but in this case there are more related to column structure than row structure.
Tracing back in the history of commits, I noticed a place where db result is not freed if no row is returned by query, in the presence module, patch done by you. It was not backported to 4.3, iirc, but if you did it in your branch, try with the latest patch
pushed few minutes ago in master and 4.4.
Cheers,
Daniel
On 19/09/16 20:20, Phil Lavin wrote:
Nevermind – I found this in the docs.
kamcmd cfg.set_now_int core mem_dump_pkg 17645
kamcmd cfg.set_now_int core mem_dump_pkg 1
There were 27526 allocations. I have taken and parsed the output, summing the memory usage, grouping it by file/function. Parsed output is at https://gist.github.com/phil-lavin/d2607a4eed36065e01ed42c43a0d27ad
Do any of those stick out to you as being far higher than they should be? My feeling is that it’s related to the db_* stuff.
Cheers
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Phil Lavin
Sent: 19 September 2016 18:15
To: miconda@gmail.com; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] OOM Errors
4.3
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com]
Sent: 19 September 2016 17:47
To: Phil Lavin <phil.lavin@cloudcall.com>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] OOM Errors
The rpc command is in 4.4, what version are you using?
Cheers,
Daniel
On 19/09/16 18:11, Phil Lavin wrote:
Having adding some graphing, I see this memory issue on another production Kamailio server. A few of the processes are using significantly more pkg memory than others. What I assume is happening is that memory is leaking and will eventually start hitting OOM errors. See https://gist.github.com/phil-lavin/27f63b472ace53dc956125a47d210bc9 for pkg memory stats output.
When was corex.pkg_summary added? I’m getting not found error:
error: 500 - command corex.pkg_summary not found
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Phil Lavin
Sent: 19 September 2016 14:36
To: miconda@gmail.com; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] OOM Errors
Thanks, Daniel.
Kamailio has been restarted now so there’s not much of any use in the pkg memory output.
I’m going to add some monitoring/graphing on this and see if there’s an upward trend in usage.
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla
Sent: 19 September 2016 13:41
To: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] OOM Errors
Hello,
it seems that the pkg is out of free space, not shm. You can check it with:
kamcmd pkg.stats
and look for the same pid that printed the log messages.
To troubleshoot, it is good to print the pkg summary, see:
- https://www.kamailio.org/docs/modules/stable/modules/corex.html#corex.rpc.pkg_summary
Then get the log messages from syslog printed by the command and send them over here.
Cheers,
Daniel
On 19/09/16 14:02, Phil Lavin wrote:
Hi all,
Kamailio stopped performing some functions earlier today, citing OOM errors. An excerpt from the log is below.
SHM usage, at the time, looked fine. Also see below for that output.
A restart of Kamailio resolved the issue. Is this SHM related or OS memory manager related?
root@ua-proxy-01:~# kamctl stats shmem
shmem:fragments = 910
shmem:free_size = 104131224
shmem:max_used_size = 51590800
shmem:real_used_size = 30086504
shmem:total_size = 134217728
shmem:used_size = 19558800
Sep 19 11:35:56 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:161]: insert_new_lump_before(): out of memory
Sep 19 11:40:10 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [msg_translator.c:2390]: build_res_buf_from_sip_req(): out of memory; needs 423
Sep 19 11:40:16 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [msg_translator.c:2390]: build_res_buf_from_sip_req(): out of memory; needs 453
Sep 19 11:42:46 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:136]: insert_new_lump_after(): out of memory
Sep 19 11:42:46 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [ut.c:163]: as_asciiz(): Out of memory
Sep 19 11:42:57 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [ut.c:163]: as_asciiz(): Out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:361]: anchor_lump(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:361]: anchor_lump(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:306]: del_lump(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:306]: del_lump(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [msg_translator.c:326]: received_builder(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [msg_translator.c:326]: received_builder(): out of memory
Sep 19 11:43:12 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [msg_translator.c:326]: received_builder(): out of memory
Sep 19 11:43:16 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:136]: insert_new_lump_after(): out of memory
Sep 19 11:43:16 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [ut.c:163]: as_asciiz(): Out of memory
Sep 19 11:44:18 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:161]: insert_new_lump_before(): out of memory
Sep 19 11:45:07 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [ut.c:163]: as_asciiz(): Out of memory
Sep 19 11:45:30 ua-proxy-01 /sbin/kamailio[20218]: ERROR: acc [acc_extra.c:267]: extra2strar(): extra2strar: out of memory.
Sep 19 11:45:43 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:186]: insert_subst_lump_after(): out of memory
Sep 19 11:45:52 ua-proxy-01 /sbin/kamailio[20218]: ERROR: <core> [data_lump.c:161]: insert_new_lump_before(): out of memory
_______________________________________________SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/micondaKamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com
--Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/micondaKamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com