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