Hi again,

Just found that calling nta_incoming_destroy() after having called
nta_incoming_treply() doesn't seem to be the way to proceed. If I remove
the nta_incoming_destroy, valgrind doesn't report any memory leak.


But, I am really worried about how the memory is managed. Even if
valgrind doesn't report any memory leak, my app grows in memory as time
goes on, and never goes down. Using a stress-test with sipp scenarios
makes the app eat the whole system memory.

What I understand from the home-based memory approach is that memory is
allocated in the home (so the home will grow), and when freed, it is
just marked as freed in the home (so the home won't be smaller). Is this
home memory ever going smaller? Maybe (probably) I am missing something.
Any hint on this?

Thanks,
-Aleksander


Aleksander Morgado wrote:
> Hi all,
> 
> More than probably, it's my fault, but I am getting tons of memory leaks
> in my NTA-based application (using sofia-sip v1.12.8). The worst one is
> reported by valgrind like this:
> 
> ==31415== 8,795,284 (1,302,928 direct, 7,492,356 indirect) bytes in
> 2,692 blocks are definitely lost in loss record 20 of 22
> ==31415==    at 0x4023DE2: calloc (vg_replace_malloc.c:397)
> ==31415==    by 0x40FEA01: su_home_new (su_alloc.c:551)
> ==31415==    by 0x407B35C: msg_create (msg.c:61)
> ==31415==    by 0x40957E1: nta_msg_create_for_transport (nta.c:2790)
> ==31415==    by 0x411558C: tport_msg_alloc (tport.c:2628)
> ==31415==    by 0x4115B59: tport_recv_iovec (tport.c:3075)
> ==31415==    by 0x41224BA: tport_recv_dgram (tport_type_udp.c:308)
> ==31415==    by 0x4119A74: tport_recv_event (tport.c:2821)
> ==31415==    by 0x4119DC7: tport_base_wakeup (tport.c:2760)
> ==31415==    by 0x402CDAC: su_source_dispatch (su_source.c:492)
> ==31415==    by 0x43CD6F7: g_main_context_dispatch (in
> /usr/lib/libglib-2.0.so.0.1800.2)
> ==31415==    by 0x43D0DA2: (within /usr/lib/libglib-2.0.so.0.1800.2)
> 
> I am using stateful NTA agent, and I destroy all the incoming
> transactions with nta_incoming_destroy() and all the call legs with
> nta_leg_destroy(). Is there something I am missing?
> 
> I read that nta_incoming_destroy() won't deallocate the resources
> directly, but mark them as disposable, to be removed in a timeout.
> What's the frequency of that timeout?
> 
> Thanks in advance,
> -Aleksander
> 
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Sofia-sip-devel mailing list
> Sofia-sip-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to