Decoding deadlock hint during seek

David Ing ding at panopto.com
Thu Jul 16 17:23:03 UTC 2020


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   0xb4f10054
> 2   __lll_lock_wait                           lowlevellock.c
>             46   0xb4f0de42
> 3   __GI___pthread_mutex_lock                 pthread_mutex_lock.c
>             113  0xb4f088ac
> 4   g_rec_mutex_lock                          gthread-posix.c
>             308  0xb4b87120
> 5   gst_pad_stop_task                         gstpad.c
>             6301 0xaddf1d68
> 6   gst_mpp_video_dec_sink_event              gstmppvideodec.c
>             786  0xac00e816
> 7   gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 8   gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 9   gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 10  gst_base_transform_sink_eventfunc         gstbasetransform.c
>             1910 0xadeaed82
> 11  gst_capsfilter_sink_event                 gstevent.h
>             436  0xad5547e2
> 12  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 13  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 14  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 15  gst_base_parse_sink_event_default         gstbaseparse.c
>             1466 0xade96b6a
> 16  gst_h264_parse_event                      gsth264parse.c
>             2905 0xac0752d8
> 17  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 18  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 19  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 20  gst_multi_queue_sink_event                gstmultiqueue.c
>             2274 0xad56cb50
> 21  gst_pad_send_event_unchecked              gstpad.c
>             5760 0xadde88d8
> 22  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 23  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 24  gst_qtdemux_push_event                    qtdemux.c
>             1007 0xac98f082
> 25  gst_qtdemux_do_seek                       qtdemux.c
>             1659 0xac99efca
> 26  gst_qtdemux_handle_src_event              qtdemux.c
>             1791 0xac99efca
> 27  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 28  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 29  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 30  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 31  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 32  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 33  gst_base_parse_handle_seek                gstevent.h
>             436  0xade92c4e
> 34  gst_base_parse_src_event_default          gstbaseparse.c
>             1635 0xade92c4e
> 35  gst_h264_parse_src_event                  gsth264parse.c
>             2942 0xac079b50
> 36  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 37  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 38  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 39  gst_base_transform_src_eventfunc          gstbasetransform.c
>             1962 0xadeaf226
> 40  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 41  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 42  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 43  gst_video_decoder_src_event_default       gstvideodecoder.c
>             1494 0xad7b9ba6
> 44  gst_pad_send_event_unchecked              gstpad.c
>             5761 0xadde8aec
> 45  gst_pad_push_event_unchecked              gstpad.c
>             5406 0xadde8fa6
> 46  gst_pad_push_event                        gstpad.c
>             5543 0xaddf0cbc
> 47  event_forward_func                        gstevent.h
>             436  0xaddf0f7e
>
> Need some help/idea how debug decoder deadlock on seek on video decoding.
>
> Michael
>
>
> --
> Michael Nazzareno Trimarchi
> Amarula Solutions BV
> COO Co-Founder
> Cruquiuskade 47 Amsterdam 1018 AM NL
> T. +31(0)851119172
> M. +39(0)3479132170
> [`as] https://www.amarulasolutions.com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200716/ec7d32a6/attachment-0001.htm>


More information about the gstreamer-devel mailing list