[SR-Users] Possible memory leak dealing with presence in kamailio

Kristian F. Høgh kfh at uni-tel.dk
Tue Jan 13 08:35:16 CET 2015


Hi,

I've been hunting a memory error in publish handling the last couple of days.
The error is on our old but good 3.1.x presence server.
Using memory debug, I located the memory leak in modules/presence/hash.c, function insert_phtable, line 492 (in trunk):
p= (pres_entry_t*)shm_malloc(size);

As far I can see there are two errors when deleting publish htable entries
1. When calling delete_phtable pres.event->type is used instead of pres.event->evp->type

2. When creating publish hashtable, p->publ_count is not set. (defaults to 0)
In delete_phtable, the following code is present
  p->publ_count--;
  if(p->publ_count== 0)
p->publ_count is probably decremented to -1 (unless the user have two active dialogs)

I attach a patch, which I would carefully test in a test environment :-)

Regards,
Kristian Høgh
Uni-tel


On Monday 12 January 2015 15:39:27 Nuno Reis wrote:
> Hello all.
> 
> I'm consistently watching a memory increase in kamailio when dealing with
> PRESENCE events, namely SIP PUBLISH events. The system eventually hangs
> running out of memory.
> This behavior is seen at least in kamailio 4.1 and 4.2. I'm currently using
> the latest stable 4.2.2.
> If I disable the SIP PUBLISH handling in kamailio i don't observe the issue
> anymore but as a side effect I don't have presence (name BLFs) also.
> What do you think can be the right approach here? Should I open an issue in
> github for this? Should I run kamailio under valgrind for some time? Are
> there any other possible debug hints here?
> Please find attached a code snippet with the presence related parts I'm
> using right now.
> Looking forward to hear from you.
> 
> Best Regards,
> 
> --
> 
> *Nuno Miguel Reis* | *Unified Communication** Systems*
> M. +351 913907481 | nreis at wavecom.pt
> WAVECOM-Soluções Rádio, S.A.
> Cacia Park | Rua do Progresso, Lote 15
> 3800-639 AVEIRO | Portugal
> T. +351 309 700 225 | F. +351 234 919 191
> *GPS
> <http://maps.google.com/maps/ms?msa=0&msid=202333747613191340808.0004b4b227a6144f0df88>
> | www.wavecom.pt <http://www.wavecom.pt/>** <http://www.wavecom.pt/>*
> 
> [image: Description: Description: WavecomSignature]
> <http://www.wavecom.pt/pt/wavecom/premios.php>
> 
> [image: Publicity] <http://www.wavecom.pt/pt/mail_eventos.php>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150113/ad9163b1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mem-leak-publish-htable.patch
Type: text/x-patch
Size: 912 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150113/ad9163b1/attachment.bin>


More information about the sr-users mailing list