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