Warning: Can't synchronize with the repository (Unsupported version control system "svn": "/usr/lib64/libsvn_ra_neon-1.so.0: undefined symbol: svn_compat_wrap_file_rev_handler" ). Look in the Trac log for more information.

Ticket #44 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Memory leak

Reported by: stlava Owned by: ekilfoil
Priority: blocker Milestone: Mangler 1.0
Component: libventrilo3 Version: 1.0rc1
Keywords: Cc:

Description

After 3 hours of being connected to a server Mangler's memory usage was above 500 MB.

2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux

I compiled mangler a few days ago off the svn. I'm not sure what exact version it is.

Change History

Changed 2 years ago by ekilfoil

  • status changed from new to assigned
  • version set to 0.0
  • milestone set to Mangler 1.0

Changed 2 years ago by clearscreen

  • version 0.0 deleted
  • milestone Mangler 1.0 deleted

Is this issue still present in Mangler? I can't get much more than 20M memory usage, and valgrind does not report any libventrilo leaks.

Changed 2 years ago by ekilfoil

  • status changed from assigned to closed
  • resolution set to fixed

cannot reproduce this in current revision. Please re-open if this is still a problem.

Changed 2 years ago by ekilfoil

  • priority changed from critical to blocker
  • status changed from closed to reopened
  • version set to 1.0rc1
  • resolution fixed deleted
  • milestone set to Mangler 1.0

Can reproduce this. There are two major memory leaks.

The first is in the GUI when receiving inbound audio:

==17093== 407,952 (912 direct, 407,040 indirect) bytes in 57 blocks are definitely lost in loss record 9,462 of 9,462
==17093==    at 0x4C2596C: operator new(unsigned long) (vg_replace_malloc.c:220)
==17093==    by 0x4223D1: ManglerAudio::queue(unsigned int, unsigned char*) (mangleraudio.cpp:114)
==17093==    by 0x40D5C4: Mangler::getNetworkEvent() (mangler.cpp:737)
==17093==    by 0x6721021: ??? (in /usr/lib/libglibmm-2.4.so.1.2.0)
==17093==    by 0x96C12CA: ??? (in /lib/libglib-2.0.so.0.2200.2)
==17093==    by 0x96C0BBD: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2200.2)
==17093==    by 0x96C4587: ??? (in /lib/libglib-2.0.so.0.2200.2)
==17093==    by 0x96C49E4: g_main_loop_run (in /lib/libglib-2.0.so.0.2200.2)
==17093==    by 0x6216176: gtk_main (in /usr/lib/libgtk-x11-2.0.so.0.1800.3)
==17093==    by 0x540D8CA: Gtk::Main::run(Gtk::Window&) (in /usr/lib/libgtkmm-2.4.so.1.1.0)
==17093==    by 0x415686: main (mangler.cpp:1064)

The second is in libventrilo3 when sending speex audio:

==19255== 389,176 (8,640 direct, 380,536 indirect) bytes in 540 blocks are definitely lost in loss record 9,537 of 9,537
==19255==    at 0x4C25153: malloc (vg_replace_malloc.c:195)
==19255==    by 0x4E353D2: _v3_recv (libventrilo3.c:636)
==19255==    by 0x423C91: ManglerNetwork::connect(Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring) (manglernetwork.cpp:72)
==19255==    by 0x41A90A: sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor5<void, ManglerNetwork, Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring>, Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring, Glib::ustring, sigc::nil, sigc::nil>, void>::call_it(sigc::internal::slot_rep*) (mem_fun.h:2127)
==19255==    by 0x671C6B1: ??? (in /usr/lib/libglibmm-2.4.so.1.2.0)
==19255==    by 0x96E9B33: ??? (in /lib/libglib-2.0.so.0.2200.2)
==19255==    by 0xA969A03: start_thread (pthread_create.c:300)
==19255==    by 0xAC5E7BC: clone (clone.S:112)

Changed 2 years ago by clearscreen

  • status changed from reopened to closed
  • resolution set to fixed

Managed to satisfy valgrind with r349.
Additional fix in r350.

Setting back to fixed.

Note: See TracTickets for help on using tickets.