[OpenSIPS-Users] Quest to find memory leak

John Nash john.nash778 at gmail.com
Mon Mar 6 07:39:44 EST 2017


with every call attempt it decreases. I tried some changes by rejecting
invite before drouting call (That means after auth , dispatcher) and found
memory is stable but when drouting sends Invite to external gateway and
external gateway rejects it. Then this issue happens.

Inuse transactions and active dialogs also 0. Somthing wrong happening in
handling of failure replies. But apart from use_next_gw and setting some
avps for CDR not much going on there.

On Mon, Mar 6, 2017 at 5:54 PM, Răzvan Crainea <razvan at opensips.org> wrote:

> Ok, so it is the first listener for the private IP that leaks. Next, is
> the memory stabilizing in time? Or it is continously decreasing?
> Yes, that's how you should make the dump.
>
> Best regards,
>
> Răzvan Crainea
> OpenSIPS Solutionswww.opensips-solutions.com
>
> On 03/06/2017 10:57 AM, John Nash wrote:
>
> Dear Razvan,
>
> Below is the info on my processes
> Process::  ID=0 PID=17351 Type=attendant
> Process::  ID=1 PID=17352 Type=MI FIFO
> Process::  ID=2 PID=17353 Type=MI Datagram
> Process::  ID=3 PID=17354 Type=time_keeper
> Process::  ID=4 PID=17355 Type=timer
> Process::  ID=5 PID=17356 Type=SIP receiver udp:1.1.1.1:9094
> Process::  ID=6 PID=17357 Type=SIP receiver udp:1.1.1.1:5060
> Process::  ID=7 PID=17358 Type=SIP receiver udp:192.168.45.5:5064
> Process::  ID=8 PID=17359 Type=Timer handler
>
> 1.1.1.1 is public IP (I changed). The decrease in memory I see is for
> Process::  ID=7 PID=17358 mainly. My call flow is as following
>
> - New Invite hits the opensips on 1.1.1.1:9094
> - Apart from message validity checks I query DB to check if its a valid
> user (Using local cache also there)
> - Create dialog, Topology_hiding functions are called along with some avp
> population
> - Using dispatcher ds_select_domain Call sent to udp:192.168.45.2:7060
> (using force socket). This 192.168.45.2:7060 is actually freeswitch
> - Call again comes back to opensips on udp:192.168.45.5:5064
> - New dialog is created and topology_hiding is called
> - Drouting function do_routing is called which tries one gateway and fails
>
>
> Dump i need to create with memlog=4 memdump=1 right?
>
>
>
>
>
>
>
>
>
> On Mon, Mar 6, 2017 at 2:05 PM, Răzvan Crainea <razvan at opensips.org>
> wrote:
>
>> Hi, John!
>>
>> Transactions are stored in shared memory, not in the private one. So the
>> possible leak you are facing its not related to transactions.
>> During runtime, OpenSIPS might resize some internal structures, which may
>> lead to increase memory usage. However, after a while, these allocations
>> should stabilize .
>> Can you post the output of the kill -SIGUSR1 on pastebin so we can take a
>> look? Also, what type of process is the one you are seeing the leak into?
>> You can find out using the 'opensipsctl ps' command.
>>
>> Best regards,
>>
>> Răzvan Crainea
>> OpenSIPS Solutionswww.opensips-solutions.com
>>
>> On 03/06/2017 09:55 AM, John Nash wrote:
>>
>> I am using OpenSIPS (2.1.5 (x86_64/linux)) in production. I observed
>> private memory is decreasing constantly for one process mainly and
>> ultimately leading to memory errors and crash.
>>
>> To debug this issue I prepared a test server and compiled opensips as per
>> https://www.opensips.org/Documentation/TroubleShooting-OutOfMem
>>
>> I made only one single call (which was rejected by opensips as it was not
>> authorized user) and I saw private free memory decreased. I was hoping
>> since transaction is done ideally it should release memory and should show
>> me same memory as startup but it did not. I verified this with many call
>> attempts and i see free memory is always decreasing slowly.
>>
>> I used kill -SIGUSR1 <lowest pid> to create memory dump. But i am unable
>> to make sense of it. It shows log like ...
>>
>> r  6 07:29:19 Server3021 opensips[13276]: Memory status (pkg):
>> Mar  6 07:29:19 Server3021 opensips[13276]: qm_status (0x7f5b8ebba010):
>> Mar  6 07:29:19 Server3021 opensips[13276]:  heap size= 4194304
>> Mar  6 07:29:19 Server3021 opensips[13276]:  used= 346768,
>> used+overhead=848792, free=3345512
>> Mar  6 07:29:19 Server3021 opensips[13276]:  max used (+overhead)= 931920
>> Mar  6 07:29:19 Server3021 opensips[13276]: dumping all alloc'ed.
>> fragments:
>> Mar  6 07:29:19 Server3021 opensips[13276]:       0. N
>>  address=0x7f5b8ebef528 frag=0x7f5b8ebef4f8 size=40 used=1
>> Mar  6 07:29:19 Server3021 opensips[13276]:             alloc'd from
>> script_cb.c: add_callback(60)
>> Mar  6 07:29:19 Server3021 opensips[13276]:         start
>> check=f0f0f0f0f0f0f0f0, end check= c0c0c0c0c0c0c0c0, abcdefedabcdefed
>> Mar  6 07:29:19 Server3021 opensips[13276]:       1. N
>>  address=0x7f5b8ebef5b0
>>
>> I pasted only few lines in this mail. What should be my next step?...How
>> can i really trace what is wrong in my script or any other memory leak?
>>
>>
>>
>> _______________________________________________
>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>> _______________________________________________ Users mailing list
>> Users at lists.opensips.org http://lists.opensips.org/cgi-
>> bin/mailman/listinfo/users
>
> _______________________________________________
> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170306/f8faf97d/attachment-0001.html>


More information about the Users mailing list