[SR-Users] Memory leak in 3.3.4

David Cunningham dcunningham at voisonics.com
Wed Oct 2 02:30:21 CEST 2013


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 at 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 at 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.comhttp://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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20131002/45e1ea6f/attachment-0001.html>


More information about the sr-users mailing list