After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 755773 - gdkpixbufoverlay memleak
gdkpixbufoverlay memleak
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.6.0
Other Linux
: Normal normal
: 1.6.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-29 08:45 UTC by Nicola
Modified: 2015-09-29 10:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicola 2015-09-29 08:45:54 UTC
valgrind show some leaks for gdkpixbufoverlay when a new pixbuf is set, for example:

gst-launch-1.0 videotestsrc num-buffers=10 ! gdkpixbufoverlay location=/tmp/logo_0.png ! xvimagesink

==6779== 59,305 (136 direct, 59,169 indirect) bytes in 1 blocks are definitely lost in loss record 2,019 of 2,020
==6779==    at 0x4C29E6F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6779==    by 0x5AF91A9: g_malloc (gmem.c:97)
==6779==    by 0x5B0FF82: g_slice_alloc (gslice.c:1007)
==6779==    by 0x4E6B6B1: gst_buffer_add_meta (gstbuffer.c:2082)
==6779==    by 0x87F882E: gst_buffer_add_video_meta_full (gstvideometa.c:287)
==6779==    by 0x87F897B: gst_buffer_add_video_meta (gstvideometa.c:256)
==6779==    by 0x8F2C6C5: gst_gdk_pixbuf_overlay_set_pixbuf (gstgdkpixbufoverlay.c:471)
==6779==    by 0x8F2CA14: gst_gdk_pixbuf_overlay_set_property (gstgdkpixbufoverlay.c:301)
==6779==    by 0x54658B2: object_set_property (gobject.c:1415)
==6779==    by 0x54658B2: g_object_set_property (gobject.c:2362)
==6779==    by 0x4EEAA73: gst_parse_element_set.isra.8 (grammar.y:440)
==6779==    by 0x4EEC0E1: priv_gst_parse_yyparse (grammar.y:695)
==6779==    by 0x4EED5FD: priv_gst_parse_launch (grammar.y:1050)
==6779==    by 0x4EE4D4E: gst_parse_launch_full (gstparse.c:325)
==6779==    by 0x4EE4FEB: gst_parse_launchv_full (gstparse.c:262)
==6779==    by 0x40339B: main (gst-launch.c:995)

gst-launch-1.0 v4l2src num-buffers=10 ! gdkpixbufoverlay location=/tmp/logo_0.png ! xvimagesink

==6797== 59,305 (272 direct, 59,033 indirect) bytes in 1 blocks are definitely lost in loss record 2,188 of 2,189
==6797==    at 0x4C29E6F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6797==    by 0x5AF91A9: g_malloc (gmem.c:97)
==6797==    by 0x5B0FF82: g_slice_alloc (gslice.c:1007)
==6797==    by 0x4E686AA: gst_buffer_new (gstbuffer.c:714)
==6797==    by 0x4E69714: gst_buffer_new_wrapped_full (gstbuffer.c:857)
==6797==    by 0xA60E6A8: gst_gdk_pixbuf_overlay_set_pixbuf (gstgdkpixbufoverlay.c:467)
==6797==    by 0xA60EA14: gst_gdk_pixbuf_overlay_set_property (gstgdkpixbufoverlay.c:301)
==6797==    by 0x54658B2: object_set_property (gobject.c:1415)
==6797==    by 0x54658B2: g_object_set_property (gobject.c:2362)
==6797==    by 0x4EEAA73: gst_parse_element_set.isra.8 (grammar.y:440)
==6797==    by 0x4EEC0E1: priv_gst_parse_yyparse (grammar.y:695)
==6797==    by 0x4EED5FD: priv_gst_parse_launch (grammar.y:1050)
==6797==    by 0x4EE4D4E: gst_parse_launch_full (gstparse.c:325)
==6797==    by 0x4EE4FEB: gst_parse_launchv_full (gstparse.c:262)
==6797==    by 0x40339B: main (gst-launch.c:995)
Comment 1 Tim-Philipp Müller 2015-09-29 10:17:59 UTC
commit 81a76853cff3a9a30a08a5cc02149dc24f157eee
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Sep 29 11:15:01 2015 +0100

    tests: gdkpixbufoverlay: add minimal unit test
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755773

commit d77891406df8987e601cdccfbd23760efc2269ab
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Sep 29 11:12:48 2015 +0100

    gdkpixbufsink: don't leak old pixel buffer when setting a new overlay
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755773