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