Hi Daniel
Just want to make you aware of something on kamailio 4.0.3 .
I loaded cfgutils and used pkg_summary() . But I run into the following:
0(14112) NOTICE: <core> [mem/q_malloc.c:437]: qm_free(): qm_free(0x7fbad3882010,
0x7fbad3ab7220), called from <core>: rpc_lookup.c: destroy_rpcs(79)
0(14112) NOTICE: <core> [mem/q_malloc.c:472]: qm_free(): qm_free: freeing frag.
0x7fbad3ab71f0 alloc'ed from <core>: rpc_lookup.c: rpc_hash_add(156)
0(14112) NOTICE: <core> [mem/q_malloc.c:437]: qm_free(): qm_free(0x7fba8923e000,
0x7fba894e62b0), called from cfgutils: cfgutils.c: mod_destroy(806)
0(14112) : <core> [mem/q_malloc.c:466]: qm_free(): BUG: qm_free: freeing already
freed pointer (0x7fba894e62b0), called from cfgutils: cfgutils.c: mod_destroy(806), first
free cfgutils: cfgutils.c: mod_destroy(806) - aborting
Regards,
Dragos
________________________________
From: David Cunningham <dcunningham(a)voisonics.com>
To: Daniel-Constantin Mierla <miconda(a)gmail.com>
Cc: Kamailio (SER) - Users Mailing List <sr-users(a)lists.sip-router.org>
Sent: Wednesday, October 2, 2013 9:26 AM
Subject: Re: [SR-Users] Memory leak in 3.3.4
Hi Daniel,
Thank you - I used the restart method and got a whole load of memory information. 10
megabytes of it! I've compressed that and attached it to this email.
Thanks for your help.
On 2 October 2013 17:17, Daniel-Constantin Mierla <miconda(a)gmail.com> wrote:
Hello,
ahh, right, forgot that it was disabled because it was not safe to
use at
runtime for worker processes. You have to use:
kamcmd cfg.set_now_int core mem_dump_pkg <pid>
then wait for a bit so that process is receiving a SIP message.
Or, if you restart, the stats are printed in syslog for all
processes.
Another alternative is to call pkg_status() or pkg_summary() from
cfgutils
module in config file, like:
if(src_ip==127.0.0.1 && is_method("OPTIONS") &&
$rU=="pkgstats") {
send_reply("200", "OK");
pkg_summary();
exit;
}
You can use sipsak to send an options request to "sip:pkgstats@..."
Cheers,
Daniel
On 10/2/13 2:30 AM, David Cunningham wrote:
Hi Daniel,
>
>When I send SIGUSR1 to a worker process nothing is logged. Any
ideas
there? The following is the output of "sercmd pkg.stats".
>
>{
> entry: 0
> pid: 14570
> rank: 0
> used: 191100
> free: 3731504
> real_used: 462800
>}
>{
> entry: 1
> pid: 14571
> rank: 1
> used: 202656
> free: 3714236
> real_used: 480068
>}
>{
> entry: 2
> pid: 14572
> rank: 2
> used: 202720
> free: 3714220
> real_used: 480084
>}
>{
> entry: 3
> pid: 14573
> rank: 3
> used: 202664
> free: 3714324
> real_used: 479980
>}
>{
> entry: 4
> pid: 14574
> rank: 4
> used: 202744
> free: 3714100
> real_used: 480204
>}
>{
> entry: 5
> pid: 14575
> rank: 5
> used: 201908
> free: 3715176
> real_used: 479128
>}
>{
> entry: 6
> pid: 14576
> rank: 6
> used: 202572
> free: 3714368
> real_used: 479936
>}
>{
> entry: 7
> pid: 14577
> rank: 7
> used: 202740
> free: 3714488
> real_used: 479816
>}
>{
> entry: 8
> pid: 14578
> rank: 8
> used: 199760
> free: 3717084
> real_used: 477220
>}
>{
> entry: 9
> pid: 14579
> rank: 9
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 10
> pid: 14580
> rank: 10
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 11
> pid: 14581
> rank: 11
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 12
> pid: 14582
> rank: 12
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 13
> pid: 14583
> rank: 13
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 14
> pid: 14584
> rank: 14
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 15
> pid: 14585
> rank: 15
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 16
> pid: 14586
> rank: 16
> used: 199440
> free: 3722828
> real_used: 471476
>}
>{
> entry: 17
> pid: 14587
> rank: -1
> used: 199400
> free: 3722868
> real_used: 471436
>}
>{
> entry: 18
> pid: 14588
> rank: -1
> used: 2105844
> free: 3722868
> real_used: 2337944
>}
>{
> entry: 19
> pid: 14589
> rank: -2
> used: 198552
> free: 3723236
> real_used: 471068
>}
>{
> entry: 20
> pid: 0
> rank: 0
> used: 209756
> free: 3712368
> real_used: 481936
>}
>{
> entry: 21
> pid: 14591
> rank: -4
> used: 253660
> free: 3668704
> real_used: 525600
>}
>
>
>
>
>
>
>On 1 October 2013 22:45, Daniel-Constantin Mierla <miconda(a)gmail.com> wrote:
>
>Hello,
>>
>>send SIGUSR1 to one of the worker processes (e.g., UDP
listener). The main process of kamailio doesn't process
SIP messages, so it is not exposed to leaks.
>>
>>You can used 'kamcmd pkg.stats" to see statistics about
usage of pkg per each process (older versions have
sercmd).
>>
>>'kamctl ps' gives the list of processes.
>>
>>Cheers,
>>Daniel
>>
>>
>>
>>On 10/1/13 2:35 PM, David Cunningham wrote:
>>
>>Hi Daniel,
>>>
>>>
What I copied and pasted is all that's listed when I do a kill
-SIGUSR1 on the Kamailio master process. How do I get fuller logs?
>>>
>>>
Thanks for your help.
>>>
>>>
>>>
>>>
>>>>
>>>>On 1 October 2013 21:57, Daniel-Constantin Mierla
<miconda(a)gmail.com> wrote:
>>>>
>>>>Hello,
>>>>>
>>>>>you gave only the first part of memory log
output. The chunks listed there are from
startup, thus not part of a leak, because they
are not allocated again at runtime.
>>>>
>>>>Can you give the full logs with messages from
qm_status? The leaks are typically listed
towards the end of those messages.
>>>>
>>>>Yesterday someone else reported a potential
leak when using perl module, so it might be
something else there. I found one, which is
related to an error case, but perhaps you
don't get that, otherwise you will notice the
error message.
>>>>
>>>>Cheers,
>>>>Daniel
>>>>
>>>>
>>>>On 10/1/13 12:03 PM, David Cunningham
wrote:
>>>>
>>>>Hello,
>>>>>
>>>>>Following up on this after a long break.
It seems we are still having a memory
leak. We've added the memory debugging
options as per the documentation with
the following output.
>>>>>I'm not sure how to read it
though - can
anyone help? Thank you.
>>>>>
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
<core> [main.c:754]: Memory status
(pkg):
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: (0x4019b008):
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: heap size= 4194304
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: used= 191100,
used+overhead=462800, free=3731504
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: max used (+overhead)= 480224
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: dumping all alloc'ed.
fragments:
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 0. N address=0x401cf414
frag=0x401cf3fc size=512 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: str_hash.h:
str_hash_alloc(69)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 1. N address=0x401cf644
frag=0x401cf62c size=128 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: str_hash.h:
str_hash_alloc(69)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 2. N address=0x401cf6f4
frag=0x401cf6dc size=256 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: counters.c:
cnt_hash_add(331)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 3. N address=0x401cf824
frag=0x401cf80c size=64 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: counters.c:
init_counters(121)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 4. N address=0x401cf894
frag=0x401cf87c size=8 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: init_rlist(180)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 5. N address=0x401cf8cc
frag=0x401cf8b4 size=64 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: str_hash.h:
str_hash_alloc(69)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 6. N address=0x401cf93c
frag=0x401cf924 size=24 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: route_add(159)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 7. N address=0x401cf984
frag=0x401cf96c size=8 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: init_rlist(180)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 8. N address=0x401cf9bc
frag=0x401cf9a4 size=64 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: str_hash.h:
str_hash_alloc(69)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 9. N address=0x401cfa2c
frag=0x401cfa14 size=24 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: route_add(159)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 10. N address=0x401cfa74
frag=0x401cfa5c size=8 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: db_id.c: dupl_string(50)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 11. N address=0x401cfaac
frag=0x401cfa94 size=64 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: str_hash.h:
str_hash_alloc(69)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 12. N address=0x401cfb1c
frag=0x401cfb04 size=24 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: route_add(159)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 13. N address=0x401cfb64
frag=0x401cfb4c size=8 used=1
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: alloc'd from
<core>: route.c: init_rlist(180)
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: start
check=f0f0f0f0, end check= c0c0c0c0,
abcdefed
>>>>>Oct 1 05:58:48 sip0-test
/sbin/kamailio[14570]: NOTICE:
qm_status: 14. N address=0x401cfb9c
frag=0x401cfb84 size=64 used=1
>>>>>
>>>>>
>>>>>
>>>>
>>>>--
>>>>Daniel-Constantin Mierla -
http://www.asipto.com
>>>>http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
>>>>
Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami, Nov 18-20,
2013
>>>>> - more details about Kamailio trainings at
http://www.asipto.com -
>>>>>
>
>>>
>>>
>>>>
>>>>--
>>>>David Cunningham, Voisonics
>>>>http://voisonics.com/
>>>>USA: +1 213 221 1092
>>>>UK: +44 (0) 20 3298 1642
>>>>Australia: +61 (0) 2 8063 9019
>>>>
>>>
>>>--
Daniel-Constantin Mierla -
http://www.asipto.com http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami,
Nov 18-20, 2013 - more details about Kamailio trainings at
http://www.asipto.com -
--
David Cunningham, Voisonics
http://voisonics.com/
USA: +1 213 221 1092
UK: +44 (0) 20 3298 1642
Australia: +61 (0) 2 8063 9019
--
Daniel-Constantin Mierla -
http://www.asipto.com http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami,
Nov 18-20, 2013 - more details about Kamailio trainings at
http://www.asipto.com -
--
David Cunningham, Voisonics
http://voisonics.com/
USA: +1 213 221 1092
UK: +44 (0) 20 3298 1642
Australia: +61 (0) 2 8063 9019
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users