Bug 172902 - [GTK] WebProcess freeze when seekign YouTube video with AC disabled
Summary: [GTK] WebProcess freeze when seekign YouTube video with AC disabled
Status: RESOLVED DUPLICATE of bug 170003
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P3 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2017-06-04 03:12 PDT by Emanuele Aina
Modified: 2017-06-04 08:05 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Emanuele Aina 2017-06-04 03:12:09 PDT
As soon as I try to seek a YouTube video by clicking on the time slider with a freshly built r217751/f36e82528540b debug build the WebProcess gets stuck.

$ cd ~/dev/WebKit/
$ cmake . -DCMAKE_BUILD_TYPE=Debug -DPORT=GTK -DENABLE_SPELLCHECK=OFF -DENABLE_ACCELERATED_2D_CANVAS=OFF -DENABLE_GLES2=ON -DENABLE_PLUGIN_PROCESS_GTK2=OFF -DENABLE_TOOLS=ON -DENABLE_MINIBROWSER=ON -DDEVELOPER_MODE=ON
$ make -j16
$ WEB_PROCESS_CMD_PREFIX="$(which gdbserver) :1234" WEBKIT_DISABLE_COMPOSITING_MODE=1 ./bin/MiniBrowser https://www.youtube.com/watch?v=U9t-slLl30E

And under the connected gdb, hitting Ctr+C once the playback got stuck after trying to seek:

gdb> bt
#0  0x00007fffdde9a259 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fffe333087c in g_mutex_lock_slowpath (mutex=mutex@entry=0x55555ba46c38) at ././glib/gthread-posix.c:1313
#2  0x00007fffe33310f2 in g_mutex_lock (mutex=mutex@entry=0x55555ba46c38) at ././glib/gthread-posix.c:1337
#3  0x00007fffe58c678c in gst_base_sink_change_state (element=0x55555ba46b10 [WebKitVideoSink], transition=<optimized out>) at gstbasesink.c:5080
#4  0x00007fffe55ce72e in gst_element_change_state (element=element@entry=0x55555ba46b10 [WebKitVideoSink], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
    at gstelement.c:2695
#5  0x00007fffe55cee9f in gst_element_set_state_func (element=0x55555ba46b10 [WebKitVideoSink], state=GST_STATE_PAUSED) at gstelement.c:2649
#6  0x00007fffe55ad1ad in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_PLAYING, start_time=56722525000, base_time=0, element=0x55555ba46b10 [WebKitVideoSink], bin=0x55555ba4a020 [GstFPSDisplaySink]) at gstbin.c:2619
#7  0x00007fffe55ad1ad in gst_bin_change_state_func (element=0x55555ba4a020 [GstFPSDisplaySink], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2961
#8  0x00007fff539e71a4 in fps_display_sink_change_state (element=0x55555ba4a020 [GstFPSDisplaySink], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at fpsdisplaysink.c:663
#9  0x00007fffe55ce72e in gst_element_change_state (element=element@entry=0x55555ba4a020 [GstFPSDisplaySink], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
    at gstelement.c:2695
#10 0x00007fffe55cee9f in gst_element_set_state_func (element=0x55555ba4a020 [GstFPSDisplaySink], state=GST_STATE_PAUSED) at gstelement.c:2649
#11 0x00007fffe55ad1ad in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_PLAYING, start_time=56722525000, base_time=0, element=0x55555ba4a020 [GstFPSDisplaySink], bin=0x55555b750e00 [GstBin]) at gstbin.c:2619
#12 0x00007fffe55ad1ad in gst_bin_change_state_func (element=0x55555b750e00 [GstBin], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2961
#13 0x00007fffe55ce72e in gst_element_change_state (element=element@entry=0x55555b750e00 [GstBin], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
    at gstelement.c:2695
#14 0x00007fffe55cee9f in gst_element_set_state_func (element=0x55555b750e00 [GstBin], state=GST_STATE_PAUSED) at gstelement.c:2649
#15 0x00007fffe55ad1ad in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_PLAYING, start_time=56722525000, base_time=0, element=0x55555b750e00 [GstBin], bin=0x55555b936220 [GstPlaySink]) at gstbin.c:2619
#16 0x00007fffe55ad1ad in gst_bin_change_state_func (element=0x55555b936220 [GstPlaySink], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2961
#17 0x00007fff607c5138 in gst_play_sink_change_state (element=0x55555b936220 [GstPlaySink], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstplaysink.c:4872
#18 0x00007fffe55ce72e in gst_element_change_state (element=element@entry=0x55555b936220 [GstPlaySink], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
    at gstelement.c:2695
#19 0x00007fffe55cee9f in gst_element_set_state_func (element=0x55555b936220 [GstPlaySink], state=GST_STATE_PAUSED) at gstelement.c:2649
#20 0x00007fffe55ad1ad in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_PLAYING, start_time=56722525000, base_time=0, element=0x55555b936220 [GstPlaySink], bin=0x55555b99d910 [GstPlayBin]) at gstbin.c:2619
#21 0x00007fffe55ad1ad in gst_bin_change_state_func (element=0x55555b99d910 [GstPlayBin], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2961
#22 0x00007fffe55f273a in gst_pipeline_change_state (element=0x55555b99d910 [GstPlayBin], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstpipeline.c:499
#23 0x00007fff607b684f in gst_play_bin_change_state (element=0x55555b99d910 [GstPlayBin], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstplaybin2.c:5768
#24 0x00007fffe55ce72e in gst_element_change_state (element=element@entry=0x55555b99d910 [GstPlayBin], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
    at gstelement.c:2695
#25 0x00007fffe55cee9f in gst_element_set_state_func (element=0x55555b99d910 [GstPlayBin], state=GST_STATE_PAUSED) at gstelement.c:2649
#26 0x00005555597d1008 in (anonymous namespace)::MediaPlayerPrivateGStreamer::changePipelineState(GstState) (this=0x7fff84a94000, newState=GST_STATE_PAUSED)
    at platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:344
#27 0x00005555597d126b in (anonymous namespace)::MediaPlayerPrivateGStreamer::pause() (this=0x7fff84a94000) at platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:400
#28 0x00005555590aecbb in (anonymous namespace)::MediaPlayer::pause() (this=0x7fff61f795a0) at platform/graphics/MediaPlayer.cpp:561
#29 0x0000555558ad11bf in (anonymous namespace)::HTMLMediaElement::updatePlayState((anonymous namespace)::HTMLMediaElement::UpdateState) (this=0x7fff62609800, updateState=(anonymous namespace)::HTMLMediaElement::UpdateState::Synchronously) at html/HTMLMediaElement.cpp:5052
#30 0x0000555558aca97d in (anonymous namespace)::HTMLMediaElement::pauseInternal() (this=0x7fff62609800) at html/HTMLMediaElement.cpp:3318
#31 0x0000555558aca6e6 in (anonymous namespace)::HTMLMediaElement::pause() (this=0x7fff62609800) at html/HTMLMediaElement.cpp:3278
#32 0x00007ffff33ed43a in (anonymous namespace)::jsHTMLMediaElementPrototypeFunctionPauseBody(JSC::ExecState*, (anonymous namespace)::IDLOperation<WebCore::JSHTMLMediaElement>::ClassParameter, JSC::ThrowScope&) (state=0x7fffffffa070, castedThis=0x7fff87560200, throwScope=...) at ../../DerivedSources/WebCore/JSHTMLMediaElement.cpp:1501
#33 0x00007ffff33f0f9a in (anonymous namespace)::IDLOperation<WebCore::JSHTMLMediaElement>::call<WebCore::jsHTMLMediaElementPrototypeFunctionPauseBody>(JSC::ExecState&, char const*) (state=..., operationName=0x7ffff5697817 "pause") at bindings/js/JSDOMOperation.h:53
#34 0x00007ffff33ed468 in (anonymous namespace)::jsHTMLMediaElementPrototypeFunctionPause(JSC::ExecState*) (state=0x7fffffffa070)
    at ../../DerivedSources/WebCore/JSHTMLMediaElement.cpp:1507
#35 0x00007fff87fff028 in  ()
#36 0x00007fffffffa0e0 in  ()
#37 0x00007fffe8b9eced in llint_entry () at /home/user/zzz/wk/WebKit/lib/libjavascriptcoregtk-4.0.so.18
Comment 1 Michael Catanzaro 2017-06-04 08:05:06 PDT

*** This bug has been marked as a duplicate of bug 170003 ***