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 641636 - valgrind shows several leaks in gstreamer when running wine's conformance tests
valgrind shows several leaks in gstreamer when running wine's conformance tests
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.30
Other Linux
: Normal minor
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-06 01:15 UTC by Austin English
Modified: 2011-02-10 12:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
valgrind log (905.83 KB, text/plain)
2011-02-06 01:15 UTC, Austin English
Details
updated valgrind log (50.73 KB, text/plain)
2011-02-06 03:36 UTC, Austin English
Details

Description Austin English 2011-02-06 01:15:04 UTC
Created attachment 180199 [details]
valgrind log

Running wine's conformance tests shows several hundred leaks and other warnings in gstreamer code. I've attached the valgrind log, after installing debug symbols.

This is on debian sid, x86:
austin@debian:~/wine-git$ dpkg -l | grep gst
ii  gir1.0-gstreamer-0.10                0.10.30-1                         Description: GObject introspection data for the GStreamer library
ii  gstreamer0.10-alsa                   0.10.30-1                         GStreamer plugin for ALSA
ii  gstreamer0.10-esd                    0.10.24-1                         GStreamer plugin for ESD
ii  gstreamer0.10-ffmpeg                 0.10.10-1                         FFmpeg plugin for GStreamer
ii  gstreamer0.10-ffmpeg-dbg             0.10.10-1                         FFmpeg plugin for GStreamer (debug symbols)
ii  gstreamer0.10-nice                   0.0.12-1                          ICE library (GStreamer plugin)
ii  gstreamer0.10-plugins-bad            0.10.19-2+b2                      GStreamer plugins from the "bad" set
ii  gstreamer0.10-plugins-bad-dbg        0.10.19-2+b2                      GStreamer plugins from the "bad" set (debug symbols)
ii  gstreamer0.10-plugins-base           0.10.30-1                         GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-base-dbg       0.10.30-1                         GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-good           0.10.24-1                         GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-good-dbg       0.10.24-1                         GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-ugly           0.10.15-1                         GStreamer plugins from the "ugly" set
ii  gstreamer0.10-plugins-ugly-dbg       0.10.15-1                         GStreamer plugins from the "ugly" set (debug symbols)
ii  gstreamer0.10-pulseaudio             0.10.24-1                         GStreamer plugin for PulseAudio
ii  gstreamer0.10-sdl                    0.10.19-2+b2                      GStreamer plugin for SDL output
ii  gstreamer0.10-tools                  0.10.30-1                         Tools for use with GStreamer
ii  gstreamer0.10-x                      0.10.30-1                         GStreamer plugins for X11 and Pango
ii  libgstfarsight0.10-0                 0.0.20-2                          Audio/Video communications framework: core library
ii  libgstreamer-plugins-base0.10-0      0.10.30-1                         GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base0.10-dev    0.10.30-1                         GStreamer development files for libraries from the "base" set
ii  libgstreamer0.10-0                   0.10.30-1                         Core GStreamer libraries and elements
ii  libgstreamer0.10-0-dbg               0.10.30-1                         Core GStreamer libraries and elements
ii  libgstreamer0.10-dev                 0.10.30-1                         GStreamer core development files
ii  python-gst0.10                       0.10.19-1                         generic media-playing framework (Python bindings)
Comment 1 David Schleef 2011-02-06 01:26:24 UTC
Please run this with the gstreamer suppressions (common/gst.supp inside any gstreamer source tarball).  It's also useful to set the environment variable G_SLICE=always_malloc.

In general, the "possibly lost" chunks are not actually lost.  Of the "definitely lost" chunks, I see only one that is likely due to GStreamer:

 91 bytes in 4 blocks are definitely lost 
    at  malloc (vg_replace_malloc.c:236)
    by  g_malloc (in /lib/libglib-2.0.so.0.2400.2)
    by  g_memdup (in /lib/libglib-2.0.so.0.2400.2)
    by  _priv_gst_registry_chunks_load_plugin (gstregistrychunks.c:775)
    by  gst_registry_binary_read_cache (gstregistrybinary.c:587)
Comment 2 Austin English 2011-02-06 03:36:34 UTC
Created attachment 180205 [details]
updated valgrind log

I've set that variable, used the requested suppression file (from git), and set --show-possibly-lost=no. I also removed the Wine leaks (normally, I get about 416 leaks, 15 of which are in Wine).

With those changes, I get 33 definitely lost warnings.
Comment 3 David Schleef 2011-02-06 19:29:27 UTC
I still don't see much of anything that is due to GStreamer.  It mostly looks like incorrect reference handling in calling code.
Comment 4 Austin English 2011-02-08 01:52:25 UTC
(In reply to comment #3)
> I still don't see much of anything that is due to GStreamer.  It mostly looks
> like incorrect reference handling in calling code.

I'll report it to Wine, thanks.
Comment 5 Tim-Philipp Müller 2011-02-10 12:56:54 UTC
Closing this for now. Please re-open if specific leaks turn out to be in GStreamer libraries or plugins after all, while also making the test files and pipelines available.

(Also, please run against git or at least the latest releases when investigating leaks)