Bug 159396 - REGRESSION(r202556): [GStreamer] Deadlock trying to play a video
Summary: REGRESSION(r202556): [GStreamer] Deadlock trying to play a video
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk, Regression
Depends on:
Blocks:
 
Reported: 2016-07-04 00:12 PDT by Carlos Garcia Campos
Modified: 2016-07-11 00:03 PDT (History)
4 users (show)

See Also:


Attachments
Backtrace (69.91 KB, text/plain)
2016-07-04 00:12 PDT, Carlos Garcia Campos
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2016-07-04 00:12:06 PDT
Created attachment 282687 [details]
Backtrace

It seems the gst_pad_query_convert introduced in r202556 is causing another deadlock in the gst locks mess. The convert function starts a new query on the pad that ends up in gst_video_decoder_sink_query_default() that tries to get the GST_VIDEO_DECODER_STREAM_LOCK. But that lock is taken by another thread that calls gst_video_decoder_finish_frame -> gst_video_decoder_clip_and_push_buf -> gst_pad_push and this ends up waiting in gst_queue_chain_buffer_or_list. This has nothing to do with HLS deadlocks, I just tried to play a youtube video embedded in another website. See the backtraces attached.
Comment 1 Philippe Normand 2016-07-04 00:19:26 PDT
Ok let's it roll out. I was actually starting to revise that patch again.
Comment 2 Sebastian Dröge (slomo) 2016-07-04 00:47:38 PDT
This is a GStreamer bug, see https://bugzilla.gnome.org/show_bug.cgi?id=768361
Comment 3 Sebastian Dröge (slomo) 2016-07-04 01:58:01 PDT
And that's fixed now
Comment 4 Michael Catanzaro 2016-07-09 14:26:48 PDT
So can we close this?