desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #159136
[Bug 1529445] Re: Several memory/file descriptor leaks in gstreamer 1.6.0
Hello Dx, or anyone else affected,
Accepted gstreamer1.0 into wily-proposed. The package will build now and
be available at
https://launchpad.net/ubuntu/+source/gstreamer1.0/1.6.3-1ubuntu1 in a
few hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed. Your feedback will aid us getting this update
out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, and change the tag
from verification-needed to verification-done. If it does not fix the
bug for you, please add a comment stating that, and change the tag to
verification-failed. In either case, details of your testing will help
us make a better decision.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: gstreamer1.0 (Ubuntu Wily)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gst-plugins-base1.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1529445
Title:
Several memory/file descriptor leaks in gstreamer 1.6.0
Status in gst-plugins-base1.0 package in Ubuntu:
Fix Released
Status in gstreamer1.0 package in Ubuntu:
Fix Released
Status in gst-plugins-base1.0 source package in Wily:
Fix Committed
Status in gstreamer1.0 source package in Wily:
Fix Committed
Bug description:
Ubuntu 15.10 includes gstreamer 1.6.0. There were several important
leak fixes in 1.6.1, some of which also meant holding references to
file descriptors around, which can result in crashes once the fd limit
is hit.
Upstream bugs:
https://bugzilla.gnome.org/show_bug.cgi?id=755867
https://bugzilla.gnome.org/show_bug.cgi?id=756552
https://bugzilla.gnome.org/show_bug.cgi?id=756611
All of these were fixed in 1.6.1
What motivated me to investigate this bug is a 'random' crash in
pidgin after several hours of leaking file descriptors, which looks
exactly like bug #1479715 but happened even after applying that patch.
Turns out that it wasn't pidgin holding the references that kept those
file descriptors open, but it was gstreamer itself.
I'd fill the whole SRU template here but i'm afraid there are too many
patches that need to be applied to fix these bugs properly (some of
them in gst-plugins-base, some of them in libgstreamer, and I don't
know exactly which ones are needed) and anything less than updating to
1.6.1 or 1.6.2 would be wrong, IMO. The whole 1.6.x branch is bugfixes
only.
[Test Case]
* Download https://bugzilla.gnome.org/attachment.cgi?id=313241 to
playbin-leak.c
* Optionally change the "a.ogg" uri to a valid path to a sound in the
local system (maybe "file:///usr/share/sounds/alsa/Noise.wav"). Some
leaks and warnings appear anyway even without changing this.
* Build with:
gcc -Wall $(pkg-config --cflags gstreamer-1.0 gtk+-3.0 glib-2.0)
playbin-leak.c $(pkg-config --libs gstreamer-1.0 gtk+-3.0 glib-2.0)
* Run as:
GOBJECT_DEBUG=instance-count GTK_DEBUG=interactive ./a.out
* Let it run, see warnings after some iterations, watch it leak.
Alternatively, how i've been testing this so far, which roughly
imitates the pidgin crash (but probably only applies to a subset of
the leaks)
* Get a ubuntu 15.10 VM without sound card (so that pulseaudio fails
to play sounds)
* Do this:
cd /usr/share/sounds/alsa
valgrind --track-fds=yes gst-play-1.0 --audiosink=pulsesink Noise.wav Noise.wav Noise.wav
* File descriptors open at exit should be 4, not 10 (it leaks two for
each time it plays)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gst-plugins-base1.0/+bug/1529445/+subscriptions
References