GNOME Bugzilla – Bug 560410
pulse plugin leaks memory
Last modified: 2009-01-19 13:18:33 UTC
This is on Mandriva Cooker with gst-plugins-good 0.10.11 and pulseaudio 0.9.14-0.20081105.1mdv2009.1. I've set the audio output plugin in gstreamer-properties to pulse and pressed the test button a few times. Every button press increases the memory usage as shown in top: 25680 goetz 20 0 106m 19m 15m S 0.7 1.9 0:00.53 gstreamer-prope 25680 goetz 20 0 131m 20m 15m S 4.7 2.0 0:00.71 gstreamer-prope 25680 goetz 20 0 251m 20m 15m S 5.6 2.1 0:01.54 gstreamer-prope 25680 goetz 20 0 307m 20m 15m S 2.3 2.1 0:01.96 gstreamer-prope
top is a very bad way to check for memory leaks. That said, valgrind detects two suspicious leaks: ==24075== 51,292 (4,337 direct, 46,955 indirect) bytes in 38 blocks are definitely lost in loss record 227 of 257 ==24075== at 0x4C265AE: malloc (vg_replace_malloc.c:207) ==24075== by 0x6473452: g_malloc (gmem.c:131) ==24075== by 0x6488EA7: g_slice_alloc (gslice.c:824) ==24075== by 0x60168F9: g_value_array_new (gvaluearray.c:120) ==24075== by 0x144F6F4D: gst_pulseprobe_get_values (pulseprobe.c:351) ==24075== by 0x40357F: (within /usr/bin/gstreamer-properties) ==24075== by 0x4040DE: (within /usr/bin/gstreamer-properties) ==24075== by 0x404461: (within /usr/bin/gstreamer-properties) ==24075== by 0x6B3D465: (below main) (in /lib/libc-2.8.90.so) ==24075== ==24075== 64 bytes in 1 blocks are definitely lost in loss record 75 of 257 ==24075== at 0x4C24384: calloc (vg_replace_malloc.c:397) ==24075== by 0x64733F9: g_malloc0 (gmem.c:151) ==24075== by 0x5D5E0D3: gst_element_init (gstelement.c:274) ==24075== by 0x6013DF0: g_type_create_instance (gtype.c:1666) ==24075== by 0x5FF85CA: g_object_constructor (gobject.c:1334) ==24075== by 0x5FF8C12: g_object_newv (gobject.c:1211) ==24075== by 0x5FF9766: g_object_new_valist (gobject.c:1274) ==24075== by 0x5FF98AB: g_object_new (gobject.c:1056) ==24075== by 0x5D601C3: gst_element_factory_create (gstelementfactory.c:405) ==24075== by 0x5D60A6E: gst_element_factory_make (gstelementfactory.c:474) ==24075== by 0x5DAF1BE: _gst_parse_yyparse (grammar.y:568) ==24075== by 0x5DB06E7: _gst_parse_launch (grammar.y:837) ==24075== presumable caused by gnome-properties not unreffing things.
I had initially reported this for pidgin as it was eating *all* my machine's memory after some chatting: http://developer.pidgin.im/ticket/7519 So it is not just gstreamer-properties.
https://bugzilla.redhat.com/show_bug.cgi?id=470000#c12 Someone wrote a minimal C program that outputs a .wav file via gstreamer every 5 seconds. pulseaudio-0.9.13-6.fc10 gstreamer-0.10.21-2.fc10 gstreamer-plugins-good-0.10.11-1.fc10 On Fedora 10, you can see it leaks a thread every time it outputs sound via gstreamer. F-10 with gstreamer outputting to ALSA reportedly also does not leak. pulseaudio-0.9.10-2.fc9 gstreamer-0.10.20-1.fc9 gstreamer-plugins-pulse-0.9.5-0.5.svn20070924.fc9 The same test binary built on Fedora 9 does not leak any thread.
This looks like bug #567746
confirmed as dup of #567746 *** This bug has been marked as a duplicate of 567746 ***