Hi Bogdan, thank you for following my issue. I installed it from source non tls. I just read the Changelog in the 1.2.1 source and found that some memory leak were fixed, but doesn't seems to me that are related to my issue. Anyway was my intention to put up the 1.2.1 version (let me know if is better from source or svn) and look at what will happen. Only before i want to make the debugging to let you be able to identify the problem. As i told in my orevious email i'm almost sure that it is related to the wrong REGISTER packet that i receive from one of my test equipments. I saw that more or less one day and halp after this requests started i got the problem. After the first time it happened again after the same amount of time. Theoretically it should happen today again. Let me know if you need any other data to debug the problem. Thanks, Bye, Marcello
Bogdan-Andrei Iancu wrote:
Hi Marcello,
it looks like a mem leak from the script execution (variables related). There were some fixes (about mem leaks) since 1.2.0 release. What version do you use (revision) ? how do you installed 1.2 ? binaries? SVN? source?
regards, bogdan
Bogdan-Andrei Iancu wrote:
Hi Marcello,
thanks for all your debugging work - i will take a look on the logs and try to see what is the problem.
Regards, Bogdan
Marcello Lupo wrote:
Hi to all, the problem of memory leak happened again yesterday evening after one day and half. I think the problem is related to the wrong REGISTER message i talked about in my previous message. I got now the memory allocation debug for each process. From what i can understand there is some problem in the pkg memory been exausted.
I put the logs at this link.
http://82.193.22.211/memory_allocation_log.tar.bz2 (938945 bytes)
Inside the archive you can found:
1229152 2007-06-10 11:57 process_27550_log.txt 1492973 2007-06-10 11:57 process_27560_log.txt 1169865 2007-06-10 11:57 process_27561_log.txt 1494209 2007-06-10 11:58 process_27564_log.txt 1488361 2007-06-10 11:58 process_27566_log.txt 1488745 2007-06-10 11:59 process_27568_log.txt 1499227 2007-06-10 11:59 process_27570_log.txt 1175089 2007-06-10 12:00 process_27571_log.txt 1175089 2007-06-10 12:00 process_27573_log.txt 1175089 2007-06-10 12:01 process_27575_log.txt 1175089 2007-06-10 12:01 process_27577_log.txt 1175089 2007-06-10 12:02 process_27579_log.txt 1173214 2007-06-10 12:02 process_27581_log.txt 1175450 2007-06-10 12:02 process_27583_log.txt 1175450 2007-06-10 12:03 process_27586_log.txt 1175450 2007-06-10 12:03 process_27587_log.txt 1175450 2007-06-10 12:04 process_27589_log.txt 1175450 2007-06-10 12:04 process_27591_log.txt 1170081 2007-06-10 12:04 process_27593_log.txt
Each file contain the memory allocation log of the named process on the restart of the proxy.
I used some grep on the process 27560 log and found that on 4165 occurrence of the alloc term the most are used from:
# grep alloc process_27560_log.txt |wc 4165 37485 476890 # grep alloc process_27560_log.txt |grep route_struct |wc 1193 10737 139052 # grep alloc process_27560_log.txt |grep cfg.lex |wc 915 8235 98820 # grep alloc process_27560_log.txt |grep route.c|wc 896 8064 100334 # grep alloc process_27560_log.txt |grep items.c|wc 651 5859 76818 # grep alloc process_27560_log.txt |grep avpops_parse|wc 245 2205 30923
All the rest have very few utilizations. As i explained before i'm not a coder so if someone can help me it will very helpfull. Thanks, Bye, Marcello
Marcello Lupo wrote:
Hi to all, i made some other investigation on my logs. I found that from one day before the problem of out of memory has been raised in my logs i found this wrong registrations started to come to the proxy every 15 seconds from one client.
REGISTER sip:voip.domain.com:5060 SIP/2.0 Via: SIP/2.0/UDP 123.123.123.123:1375;branch=z9hG4bK00E0F55649500000BF2F00001098 From: sip:voip.domain.com;tag=00E0F55649500000BF2F00001AB7 To: sip:voip.domain.com Call-ID: 00E0F55649500000AE6C00000408@123.123.123.123 CSeq: 59185 REGISTER Contact: sip:123.123.123.123:5060 Expires: 3600 Max-Forwards: 70 Content-Length: 0
In my configuration as route that handle REGISTER requests i made an avp_db_load to check if the username registering is a valid user and make some avp_check on the preferences that are loaded.
Is it possible that having the empty username in From/To is causing some memory leak? Remember i'm using version 1.2.0 . Thanks, Bye, Marcello