Decoding deadlock hint during seek
Olivier Crête
olivier.crete at collabora.com
Thu Jul 16 18:14:26 UTC 2020
Hi,
On Thu, 2020-07-16 at 20:01 +0200, Michael Nazzareno Trimarchi wrote:
> From the stacktrace look like that I'm here
> GST_PAD_STREAM_LOCK (pad); <----- pad is already
> lockedGST_PAD_STREAM_UNLOCK (pad);
> Can someone explain me this code?
This pattern is used to ensure that the pad lock has been released by
other code before proceding further. Normally after stopping a task. So
if it stops there, you want to look at the other thread holding the
lock and find out why it's not stopping, there is probably somethign
blocking downstream.
Olivier
> On Thu, Jul 16, 2020 at 7:51 PM Michael Nazzareno Trimarchi<
> michael at amarulasolutions.com> wrote:
> > Hi
> > This is more straight forward and happen using QTMultimedia and
> > seek on mpp
> > Michael
> > On Thu, Jul 16, 2020 at 7:23 PM David Ing <ding at panopto.com> wrote:
> > > In the past, I have encountered deadlocks when a part of my
> > > pipeline has a demuxer or a tee, or basically some kind of
> > > element which "splits" a single stream into multiple
> > > streams. The outputs (source pads) of all such elements should
> > > always be attached to some kind of queue because a queue is a
> > > thread boundary.
> > > So I guess step 1 is to analyze your pipeline and make sure you
> > > have queues in the right places.
> > > If you are still stuck then sometimes you can add more queues
> > > into random spots in your pipeline to see if that fixes the
> > > problem.
> > >
> > > On Thu, Jul 16, 2020 at 7:16 AM Michael Nazzareno Trimarchi <
> > > michael at amarulasolutions.com> wrote:
> > > > Hi all
> > > > 1 __libc_do_syscall libc-do-
> > > > syscall.S 48 0xb4f100542 __lll_lock_wait
> > > > lowlevellock.c 46 0xb4f0de423
> > > > __GI___pthread_mutex_lock pthread_mutex_lock.c
> > > > 113 0xb4f088ac4 g_rec_mutex_lock
> > > > gthread-
> > > > posix.c 308 0xb4b871205 gst_pad_stop_task
> > > > gstpad.c 6301
> > > > 0xaddf1d686 gst_mpp_video_dec_sink_event gstmppv
> > > > ideodec.c 786 0xac00e8167 gst_pad_send_event_unch
> > > > ecked gstpad.c 5761
> > > > 0xadde8aec8 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa69 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc10 gst_base_transform_sink_eventfunc gstbase
> > > > transform.c 1910
> > > > 0xadeaed8211 gst_capsfilter_sink_event gsteven
> > > > t.h 436 0xad5547e212 gst_pad_send_event_unchecked
> > > > gstpad.c 5761
> > > > 0xadde8aec13 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa614 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc15 gst_base_parse_sink_event_default gstbase
> > > > parse.c 1466
> > > > 0xade96b6a16 gst_h264_parse_event gsth264
> > > > parse.c 2905
> > > > 0xac0752d817 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec18 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa619 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc20 gst_multi_queue_sink_event gstmult
> > > > iqueue.c 2274
> > > > 0xad56cb5021 gst_pad_send_event_unchecked gstpad.
> > > > c 5760
> > > > 0xadde88d822 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa623 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc24 gst_qtdemux_push_event qtdemux
> > > > .c 1007
> > > > 0xac98f08225 gst_qtdemux_do_seek qtdemux
> > > > .c 1659
> > > > 0xac99efca26 gst_qtdemux_handle_src_event qtdemux
> > > > .c 1791
> > > > 0xac99efca27 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec28 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa629 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc30 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec31 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa632 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc33 gst_base_parse_handle_seek gsteven
> > > > t.h 436 0xade92c4e34 gst_base_parse_src_event_defa
> > > > ult gstbaseparse.c 1635
> > > > 0xade92c4e35 gst_h264_parse_src_event gsth264
> > > > parse.c 2942
> > > > 0xac079b5036 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec37 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa638 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc39 gst_base_transform_src_eventfunc gstbase
> > > > transform.c 1962
> > > > 0xadeaf22640 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec41 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa642 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc43 gst_video_decoder_src_event_default gstvide
> > > > odecoder.c 1494
> > > > 0xad7b9ba644 gst_pad_send_event_unchecked gstpad.
> > > > c 5761
> > > > 0xadde8aec45 gst_pad_push_event_unchecked gstpad.
> > > > c 5406
> > > > 0xadde8fa646 gst_pad_push_event gstpad.
> > > > c 5543
> > > > 0xaddf0cbc47 event_forward_func gsteven
> > > > t.h 436 0xaddf0f7e
> > > > Need some help/idea how debug decoder deadlock on seek on video
> > > > decoding.
> > > > Michael
> > > >
> > > > --Michael Nazzareno TrimarchiAmarula Solutions BVCOO Co-
> > > > FounderCruquiuskade 47 Amsterdam 1018 AM NLT. +31(0)851119172M.
> > > > +39(0)3479132170[`as] https://www.amarulasolutions.com
> > > > _______________________________________________gstreamer-devel
> > > > mailing listgstreamer-devel at lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > >
> > > _______________________________________________gstreamer-devel
> > > mailing listgstreamer-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> > --Michael Nazzareno TrimarchiAmarula Solutions BVCOO Co-
> > FounderCruquiuskade 47 Amsterdam 1018 AM NLT. +31(0)851119172M.
> > +39(0)3479132170[`as] https://www.amarulasolutions.com
>
>
--
Olivier Crête
olivier.crete at collabora.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200716/51e131ff/attachment.htm>
More information about the gstreamer-devel
mailing list