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

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


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

--- Comment #4 from Joakim Johansson <Joakim.Johansson at axis.com> ---
Well, I do not know about other test scenarios but in this scenario is it not
the normal case where pending == VOID_PENDING when handling async_done.
Normally is the transition not finished, in my case is the state PAUSED when
the async_done is received from the gstbasesink.

So normally is async_done sent but if we have had this race condition where the
polling flag was set when receiving async_start then do we sometimes (~1/20)
get the async_done in VOID_PENDING instead of PAUSED.

As I have said, I have run this code successfully 1 million times but then
again, I do not think that our application would get into a problem if we
receive two ASYNC_DONE messages.

I understand your concern and perhaps could we add some code to the patch that
make it a little bit more sure that this is the buggy case by adding a new flag
was_busy that is set when async_start is received and polling=true or state !=
VOID_PENDING.

And only send the ASYNC_DONE if nothing_pending AND was_busy = TRUE.

-- 
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