[SR-Users] private memory leak - but where?

2017-09-19 Thread Sebastian Damm
Hi, I'm trying to debug a Kamailio which runs out of memory after a while. But following the hints at https://www.kamailio.org/wiki/tutorials/troubleshooting/memory doesn't help. I know it is the private memory that I'm missing. I already increased the pkg size to 16M, but somehow that seems to be

Re: [SR-Users] private memory leak - but where?

2017-09-19 Thread Daniel-Constantin Mierla
Hello, do you use kamailio.cfg variables in the lua script? If yes, can you show how you do it? If you have troubles with pkg dump, it should be printed when you stop/restart. It would be good to do the pkg summary, it is easier to see the used chunks as a report. There are global parameters to c

Re: [SR-Users] private memory leak - but where?

2017-09-19 Thread Sebastian Damm
Okay, when restarting one of those operations I did earlier obviously made Kamailio dump all its private memory information. So I grepped everything from PID 19134 and then let the awk line from the Wiki page run over it. Now I'm lost interpreting the results. The top usages were those: 108 s

Re: [SR-Users] private memory leak - but where?

2017-09-19 Thread Sebastian Damm
Hi Daniel, thanks for the quick response. See my other mail with more details. I don't use cfg variable from the lua script, I only access $shv(...) and $vn(...) or $var(...) and $sht(...) from it. And of course $tU, $hdr(...) and other builtin variables. Some of the variables I'm accessing might

Re: [SR-Users] private memory leak - but where?

2017-09-20 Thread Daniel-Constantin Mierla
Hello, my guess is that you define many cfg variables from lua, which take from private memory (their definition). So $sht(x=>abc) is defined when used first time and kept in memory. If you use also $sht(x=>efg), this is another defined variable. This happens when you do KSR.pv.get("$sht(x=>abc)

Re: [SR-Users] private memory leak - but where?

2017-09-20 Thread Sebastian Damm
Thanks Daniel, looks like that is indeed the case. We the hash table key is the call-id, but we're not calling $sht(foo=>$ci) but instead passing in the call-id as a string. Ich have now written a test script with those two functions: function handle_packet_bad() callId = sr.pv.get("$ci") if

Re: [SR-Users] private memory leak - but where?

2017-09-20 Thread Daniel-Constantin Mierla
The situation is like declaring: int a; int b; ... int ... in a C program -- it will run out of memory as well. As said, I plan to push a solution soon. Cheers, Daniel On 20.09.17 15:35, Sebastian Damm wrote: > Thanks Daniel, > > looks like that is indeed the case. We the hash table key is the