The GTK+ debug bot is exiting early due to a bunch of crashes in media elements code. I wonder if it could be related to r207287 "[GTK] Video playback doesn't work properly with accelerated compositing disabled". This backtrace is typical: Thread 1 (Thread 0x7f1b8cfd1700 (LWP 5543)): #0 0x00007f1c3f074162 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:323 #1 0x00007f1c4767a7fc in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint (this=0x7f1c2e9e1240) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:564 #2 0x00007f1c4767aa0f in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::triggerRepaint (this=0x7f1c2e9e1240, sample=0x5ba0f0) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:613 #3 0x00007f1c4767aa81 in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaintCallback (player=0x7f1c2e9e1240, sample=0x5ba0f0) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:633 #4 0x00007f1c3949ef53 in g_cclosure_marshal_VOID__BOXEDv () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/gobject/gmarshal.c:1950 #5 0x00007f1c3949c3b4 in _g_closure_invoke_va () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/gobject/gclosure.c:831 #6 0x00007f1c394b54c8 in g_signal_emit_valist () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/gobject/gsignal.c:3214 #7 0x00007f1c394b5dc2 in g_signal_emit () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/gobject/gsignal.c:3361 #8 0x00007f1c47684c36 in webkitVideoSinkRepaintRequested (sink=0x8a6c00, sample=0x5ba0f0) at ../../Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:184 #9 0x00007f1c47685868 in VideoRenderRequestScheduler::requestRender (this=0x8a6920, sink=0x8a6c00, buffer=0x7f1bac088740) at ../../Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:110 #10 0x00007f1c4768501b in webkitVideoSinkRender (baseSink=0x8a6c00, buffer=0x7f1bac088740) at ../../Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:265 #11 0x00007f1c3aaaf6fd in gst_base_sink_do_preroll () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasesink.c:2289 #12 0x00007f1c3aab02bb in gst_base_sink_do_sync () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasesink.c:2508 #13 0x00007f1c3aab1208 in gst_base_sink_chain_unlocked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasesink.c:3494 #14 0x00007f1c3aab2b64 in gst_base_sink_chain_main () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasesink.c:3655 #15 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #16 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #17 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #18 0x00007f1c3ab4afa3 in gst_proxy_pad_chain_default () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstghostpad.c:126 #19 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #20 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #21 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #22 0x00007f1c3ab4afa3 in gst_proxy_pad_chain_default () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstghostpad.c:126 #23 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #24 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #25 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #26 0x00007f1c3aabc72d in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasetransform.c:2369 #27 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #28 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #29 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #30 0x00007f1c3aabc72d in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasetransform.c:2369 #31 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #32 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #33 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #34 0x00007f1c3aabc72d in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasetransform.c:2369 #35 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #36 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #37 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #38 0x00007f1c3aabc72d in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/libs/gst/base/gstbasetransform.c:2369 #39 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #40 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #41 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #42 0x00007f1c3ab4afa3 in gst_proxy_pad_chain_default () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstghostpad.c:126 #43 0x00007f1c3ab5a01a in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4156 #44 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4408 #45 0x00007f1c3ab61b0e in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gstpad.c:4527 #46 0x00007f1beccb8d57 in gst_queue_push_one () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/plugins/elements/gstqueue.c:1338 #47 gst_queue_loop () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/plugins/elements/gstqueue.c:1485 #48 0x00007f1c3ab8b621 in gst_task_func () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.8.0/gst/gsttask.c:332 #49 0x00007f1c393c17e8 in g_thread_pool_thread_proxy () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gthreadpool.c:307 #50 0x00007f1c393c0e65 in g_thread_proxy () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gthread.c:764 #51 0x00007f1c3ad540a4 in start_thread (arg=0x7f1b8cfd1700) at pthread_create.c:309 #52 0x00007f1c3648a87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(Not updating any expectations for this.)
> The GTK+ debug bot is exiting early due to a bunch of crashes in media > elements code. I wonder if it could be related to r207287 "[GTK] Video > playback doesn't work properly with accelerated compositing disabled". Could be. Checking.
Created attachment 291816 [details] Patch
Comment on attachment 291816 [details] Patch Attachment 291816 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/2304645 New failing tests: media/controls/ipad/close-page-with-picture-in-picture-video-assertion-failure.html
Created attachment 291820 [details] Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 291816 [details] Patch Clearing flags on attachment: 291816 Committed r207409: <http://trac.webkit.org/changeset/207409>
All reviewed patches have been landed. Closing bug.
Re-opened since this is blocked by bug 163602
It seems that we can't rely on HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated() to check whether accelerated compositing is enabled or not, as there are situations where this method will return false when acc compositing is enabled. Due to this, with the previous patch some frames were processed through the slow path instead of the acc compositing one, causing the timeouts in some tests. I'm working on a new patch that uses a new method to check whether acc compositing is enabled. This should fix the timeouts.
Created attachment 292190 [details] Patch
Comment on attachment 292190 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=292190&action=review > Source/WebCore/html/HTMLMediaElement.cpp:4584 > + return document().settings()->acceleratedCompositingEnabled(); You should null check settings()
Created attachment 292332 [details] Patch
Comment on attachment 292332 [details] Patch Clearing flags on attachment: 292332 Committed r207666: <http://trac.webkit.org/changeset/207666>
It broke imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-within-document.html, see bug #163850.
(In reply to comment #15) > It broke > imported/w3c/web-platform-tests/html/semantics/embedded-content/media- > elements/playing-the-media-resource/pause-move-within-document.html, see bug > #163850. Shame, it would be good to know why this broke.