2015-12-27 06:36:02 |
dx |
bug |
|
|
added bug |
2015-12-27 06:38:01 |
dx |
bug task added |
|
gstreamer1.0 (Ubuntu) |
|
2015-12-27 06:42:10 |
dx |
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 #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) |
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) |
|
2016-01-05 10:36:27 |
Sebastien Bacher |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2016-01-06 01:16:47 |
Mathew Hodson |
gst-plugins-base1.0 (Ubuntu): importance |
Undecided |
Medium |
|
2016-01-06 01:16:49 |
Mathew Hodson |
gstreamer1.0 (Ubuntu): importance |
Undecided |
Medium |
|
2016-01-12 11:54:17 |
Iain Lane |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2016-01-24 14:22:23 |
Launchpad Janitor |
gst-plugins-base1.0 (Ubuntu): status |
New |
Confirmed |
|
2016-01-24 14:22:23 |
Launchpad Janitor |
gstreamer1.0 (Ubuntu): status |
New |
Confirmed |
|
2016-01-24 14:22:28 |
Paul Smith |
bug |
|
|
added subscriber Paul Smith |
2016-01-27 12:59:55 |
Iain Lane |
nominated for series |
|
Ubuntu Wily |
|
2016-01-27 12:59:55 |
Iain Lane |
bug task added |
|
gstreamer1.0 (Ubuntu Wily) |
|
2016-01-27 12:59:55 |
Iain Lane |
bug task added |
|
gst-plugins-base1.0 (Ubuntu Wily) |
|
2016-01-27 13:00:02 |
Iain Lane |
gst-plugins-base1.0 (Ubuntu): status |
Confirmed |
Fix Released |
|
2016-01-27 13:00:05 |
Iain Lane |
gstreamer1.0 (Ubuntu): status |
Confirmed |
Fix Released |
|
2016-01-27 16:03:41 |
Iain Lane |
gst-plugins-base1.0 (Ubuntu Wily): status |
New |
In Progress |
|
2016-01-27 16:03:43 |
Iain Lane |
gstreamer1.0 (Ubuntu Wily): status |
New |
In Progress |
|
2016-01-27 16:03:47 |
Iain Lane |
gst-plugins-base1.0 (Ubuntu Wily): assignee |
|
Iain Lane (laney) |
|
2016-01-27 16:03:52 |
Iain Lane |
gstreamer1.0 (Ubuntu Wily): assignee |
|
Iain Lane (laney) |
|
2016-01-28 17:40:40 |
Brian Murray |
gst-plugins-base1.0 (Ubuntu Wily): status |
In Progress |
Fix Committed |
|
2016-01-28 17:40:42 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2016-01-28 17:40:45 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2016-01-28 17:40:55 |
Brian Murray |
tags |
|
verification-needed |
|
2016-01-28 18:04:49 |
Brian Murray |
gstreamer1.0 (Ubuntu Wily): status |
In Progress |
Fix Committed |
|
2016-02-27 04:08:52 |
dx |
tags |
verification-needed |
verification-done |
|
2016-03-03 20:12:34 |
Launchpad Janitor |
gst-plugins-base1.0 (Ubuntu Wily): status |
Fix Committed |
Fix Released |
|
2016-03-03 20:12:41 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2016-03-03 20:13:04 |
Launchpad Janitor |
gstreamer1.0 (Ubuntu Wily): status |
Fix Committed |
Fix Released |
|