[Bug 796737] ASYNC_DONE message is dropped leading to hanging application

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jul 9 13:04:22 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=796737

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #372980|none                        |reviewed
             status|                            |

--- Comment #3 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 372980:
 --> (https://bugzilla.gnome.org/review?bug=796737&attachment=372980)

::: gst/gstbin.c
@@ +3512,3 @@
+      /* post our combined ASYNC_DONE when all is ASYNC_DONE. */
+      GST_DEBUG_OBJECT (bin, "posting ASYNC_DONE to parent");
+      gst_element_post_message (GST_ELEMENT_CAST (bin), amessage);

I believe this can cause multiple async-done to be posted for the same state
change (and that's a problem as we currently guarantee that there is only one
and there is code expecting that behaviour). Generally most codepaths leading
to "nothing pending" should post the message themselves already, or not?

Can we distinguish between your buggy case and the other code paths? Or is the
actual bug that we always end up here without ever having posted the message?


I remember that I tried something like your patch a longer time ago and it
broke something, we'll have to try the core/base/etc and especially
gst-rtsp-server tests and also do a gst-validate run I guess.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list