[gstreamer-bugs] [Bug 536856] New: rtpmanager deadlocks when receiving new data while going to NULL
bugzilla-daemon at bugzilla.gnome.org
Thu Jun 5 10:45:49 PDT 2008
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
GStreamer | gst-plugins-bad | Ver: HEAD CVS
Summary: rtpmanager deadlocks when receiving new data while going
Version: HEAD CVS
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: ole.andre.ravnas at tandberg.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
I've experienced deadlocks when changing pipeline state to NULL while pushing
the first buffer for a session. So far this has been tricky to reproduce
reliably depending on different OSes / hardware combinations.
Because of this I put together a small torture application that makes it
reliably reproducible. It hooks up an arbitrary number of simulated streams and
uses pad-probes with synchronization logic to wait for all of them to be ready
to push their first buffer, where one group is standing by to push their first
buffer into rtpbin and the other group is standing by to push the first buffer
into the sink. When all of them are ready to push they get unblocked
simultaneously by the controlling thread, and the controlling thread follows it
by an optional configurable delay and then an immediate state change to NULL.
This is repeated with an outer loop that changes that configurable delay from
none to 100 ms, with an inner loop that varies the number of streams from 1 to
128 (actually 2 to 256 in total, as it's the number of streams in each group --
one group blocking before pushing to rtpbin and the other group blocking before
pushing to the sink).
I haven't managed to make the inner loop get further than about 30, fewer if
running it in gdb or on Windows, so it's very easy to reproduce.
Will attach the test code used.
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=536856.
More information about the Gstreamer-bugs