RESOLVED FIXED 163511
[GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511
Summary [GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlay...
Michael Catanzaro
Reported 2016-10-16 18:02:31 PDT
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
Attachments
Patch (3.84 KB, patch)
2016-10-17 07:16 PDT, Miguel Gomez
no flags
Archive of layout-test-results from ews121 for ios-simulator-wk2 (10.31 MB, application/zip)
2016-10-17 08:29 PDT, Build Bot
no flags
Patch (6.48 KB, patch)
2016-10-20 08:01 PDT, Miguel Gomez
no flags
Patch (6.50 KB, patch)
2016-10-21 01:28 PDT, Miguel Gomez
no flags
Michael Catanzaro
Comment 1 2016-10-16 18:03:16 PDT
(Not updating any expectations for this.)
Miguel Gomez
Comment 2 2016-10-17 01:09:41 PDT
> 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.
Miguel Gomez
Comment 3 2016-10-17 07:16:53 PDT
Build Bot
Comment 4 2016-10-17 08:29:53 PDT
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
Build Bot
Comment 5 2016-10-17 08:29:56 PDT
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
WebKit Commit Bot
Comment 6 2016-10-17 09:59:00 PDT
Comment on attachment 291816 [details] Patch Clearing flags on attachment: 291816 Committed r207409: <http://trac.webkit.org/changeset/207409>
WebKit Commit Bot
Comment 7 2016-10-17 09:59:04 PDT
All reviewed patches have been landed. Closing bug.
WebKit Commit Bot
Comment 8 2016-10-18 10:09:28 PDT
Re-opened since this is blocked by bug 163602
Miguel Gomez
Comment 9 2016-10-20 07:08:56 PDT
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.
Miguel Gomez
Comment 10 2016-10-20 08:01:41 PDT
Carlos Garcia Campos
Comment 11 2016-10-20 08:18:30 PDT
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()
Miguel Gomez
Comment 12 2016-10-21 01:28:56 PDT
WebKit Commit Bot
Comment 13 2016-10-21 03:29:35 PDT
Comment on attachment 292332 [details] Patch Clearing flags on attachment: 292332 Committed r207666: <http://trac.webkit.org/changeset/207666>
WebKit Commit Bot
Comment 14 2016-10-21 03:29:39 PDT
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 15 2016-10-22 10:16:19 PDT
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.
Michael Catanzaro
Comment 16 2016-12-19 12:18:46 PST
(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.
Note You need to log in before you can comment on or make changes to this bug.