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@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>
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda