<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>198567</bug_id>
          
          <creation_ts>2019-06-05 08:52:10 -0700</creation_ts>
          <short_desc>[GStreamer] Crash in MediaPlayerPrivateGStreamerBase::ensureGstGLContext</short_desc>
          <delta_ts>2019-06-05 09:41:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541998</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-05 08:52:10 -0700</bug_when>
    <thetext>MediaPlayerPrivateGStreamerBase::ensureGstGLContext is currently a guaranteed crash because it expects PlatformDisplay::sharedDisplayForCompositing() to return a PlatformDisplayLibWPE if compiled with USE(WPE_RENDERER), but PlatformDisplayLibWPE has lower precedence than PlatformDisplayX11 and PlatformDisplayWayland. When running our layout tests with run-webkit-tests --gtk, it&apos;s guaranteed to be a PlatformDisplayX11.

I think Carlos was clearly expecting PlatformDisplayLibWPE, so I don&apos;t know what the ideal desired behavior is, but the crashes go away if we change the code to allow any type of PlatformDisplay. This should hopefully fix our bots, which are still exiting early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542000</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-05 08:54:54 -0700</bug_when>
    <thetext>BTW, it&apos;s very unclear from the crash on the release bots:

Thread 1 (Thread 0x7f9040ff9700 (LWP 4838)):
#0  _g_log_abort () at ../../Source/glib-2.58.1/glib/gmessages.c:557
#1  0x00007f914c979485 in g_logv () at ../../Source/glib-2.58.1/glib/gmessages.c:1371
#2  0x00007f914c9795d2 in g_log () at ../../Source/glib-2.58.1/glib/gmessages.c:1413
#3  0x00007f914d8a348d in gst_caps_unref () at ../../Source/gstreamer-1.16.0/gst/gstcaps.h:223
#4  gst_base_transform_default_query () at ../../Source/gstreamer-1.16.0/libs/gst/base/gstbasetransform.c:1552
#5  0x00007f914d7a2b48 in gst_pad_query () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:4071
#6  0x00007f914d7a3121 in gst_pad_peer_query () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:4203
#7  0x00007f914d7df464 in gst_pad_peer_query_caps () at ../../Source/gstreamer-1.16.0/gst/gstutils.c:3107
#8  0x00007f914d8a381c in gst_base_transform_query_caps () at ../../Source/gstreamer-1.16.0/libs/gst/base/gstbasetransform.c:678
#9  gst_base_transform_default_query () at ../../Source/gstreamer-1.16.0/libs/gst/base/gstbasetransform.c:1550
#10 0x00007f914d7a2b48 in gst_pad_query () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:4071
#11 0x00007f914d7a3121 in gst_pad_peer_query () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:4203
#12 0x00007f914d7d9bd8 in query_caps_func () at ../../Source/gstreamer-1.16.0/gst/gstutils.c:2765
#13 0x00007f914d7a175e in gst_pad_forward () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:3008
#14 0x00007f914d7dc672 in gst_pad_proxy_query_caps () at ../../Source/gstreamer-1.16.0/gst/gstutils.c:2815
#15 0x00007f914d7a1a50 in gst_pad_query_caps_default () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:3187
#16 gst_pad_query_default () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:3415
#17 0x00007f914d7a2b48 in gst_pad_query () at ../../Source/gstreamer-1.16.0/gst/gstpad.c:4071
#18 0x00007f914d7dce24 in gst_pad_query_caps () at ../../Source/gstreamer-1.16.0/gst/gstutils.c:3061
#19 0x00007f90f858b998 in autoplug_continue_cb () at ../../Source/gst-plugins-base-1.16.0/gst/playback/gstplaybin2.c:4538
#20 0x00007f914a0298ee in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#21 0x00007f914a0292bf in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#22 0x00007f914ca543d8 in g_cclosure_marshal_generic () at ../../Source/glib-2.58.1/gobject/gclosure.c:1496
#23 0x00007f914ca53bc5 in g_closure_invoke () at ../../Source/glib-2.58.1/gobject/gclosure.c:810
#24 0x00007f914ca66752 in signal_emit_unlocked_R () at ../../Source/glib-2.58.1/gobject/gsignal.c:3635
#25 0x00007f914ca6eeb8 in g_signal_emit_valist () at ../../Source/glib-2.58.1/gobject/gsignal.c:3401
#26 0x00007f914ca6f842 in g_signal_emit () at ../../Source/glib-2.58.1/gobject/gsignal.c:3447
#27 0x00007f90f8570815 in proxy_autoplug_continue_signal () at ../../Source/gst-plugins-base-1.16.0/gst/playback/gsturidecodebin.c:1691
#28 0x00007f914a0298ee in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#29 0x00007f914a0292bf in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#30 0x00007f914ca543d8 in g_cclosure_marshal_generic () at ../../Source/glib-2.58.1/gobject/gclosure.c:1496
#31 0x00007f914ca53bc5 in g_closure_invoke () at ../../Source/glib-2.58.1/gobject/gclosure.c:810
#32 0x00007f914ca66752 in signal_emit_unlocked_R () at ../../Source/glib-2.58.1/gobject/gsignal.c:3635
#33 0x00007f914ca6eeb8 in g_signal_emit_valist () at ../../Source/glib-2.58.1/gobject/gsignal.c:3401
#34 0x00007f914ca6f842 in g_signal_emit () at ../../Source/glib-2.58.1/gobject/gsignal.c:3447
#35 0x00007f90f8565e0f in analyze_new_pad () at ../../Source/gst-plugins-base-1.16.0/gst/playback/gstdecodebin2.c:1598
#36 0x00007f90f8566be5 in type_found () at ../../Source/gst-plugins-base-1.16.0/gst/playback/gstdecodebin2.c:2883
#37 0x00007f914a0298ee in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#38 0x00007f914a0292bf in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#39 0x00007f914ca543d8 in g_cclosure_marshal_generic () at ../../Source/glib-2.58.1/gobject/gclosure.c:1496
#40 0x00007f914ca53bc5 in g_closure_invoke () at ../../Source/glib-2.58.1/gobject/gclosure.c:810
#41 0x00007f914ca66752 in signal_emit_unlocked_R () at ../../Source/glib-2.58.1/gobject/gsignal.c:3635
#42 0x00007f914ca6f435 in g_signal_emit_valist () at ../../Source/glib-2.58.1/gobject/gsignal.c:3391
#43 0x00007f914ca6f842 in g_signal_emit () at ../../Source/glib-2.58.1/gobject/gsignal.c:3447
#44 0x00007f90f83e0676 in gst_type_find_element_loop () at ../../Source/gstreamer-1.16.0/plugins/elements/gsttypefindelement.c:1169
#45 0x00007f914d7d12d1 in gst_task_func () at ../../Source/gstreamer-1.16.0/gst/gsttask.c:328
#46 0x00007f914c99b3be in g_thread_pool_thread_proxy () at ../../Source/glib-2.58.1/glib/gthreadpool.c:307
#47 0x00007f914c99a9e5 in g_thread_proxy () at ../../Source/glib-2.58.1/glib/gthread.c:784
#48 0x00007f914d192fa3 in start_thread (arg=&lt;optimized out&gt;) at pthread_create.c:486
#49 0x00007f914b8774cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

But I *guess* that&apos;s somehow indirectly caused because we clobber m_glDisplay here. At least the first crashing test is now passing for me locally with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542001</commentid>
    <comment_count>2</comment_count>
      <attachid>371401</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-05 08:56:07 -0700</bug_when>
    <thetext>Created attachment 371401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542026</commentid>
    <comment_count>3</comment_count>
      <attachid>371401</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-05 09:41:12 -0700</bug_when>
    <thetext>Comment on attachment 371401
Patch

Clearing flags on attachment: 371401

Committed r246107: &lt;https://trac.webkit.org/changeset/246107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542027</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-05 09:41:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371401</attachid>
            <date>2019-06-05 08:56:07 -0700</date>
            <delta_ts>2019-06-05 09:41:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198567-20190605105606.patch</filename>
            <type>text/plain</type>
            <size>3113</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU3ZDIyNmRlMmRkZmZl
MmI4MGU1MDY3Zjg0ZmJmNzgwZmI2NGY2NS4uNjdjZjMwOGM4Y2Q3YTQyMTlhYTE5NDMwZGQzNTA2
NDJjZjYzOTc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA2LTA1ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVh
bWVyXSBDcmFzaCBpbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RH
TENvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODU2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmVuc3VyZUdzdEdMQ29udGV4dCBpcyBj
dXJyZW50bHkgYSBndWFyYW50ZWVkIGNyYXNoIGJlY2F1c2UKKyAgICAgICAgaXQgZXhwZWN0cyBQ
bGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXlGb3JDb21wb3NpdGluZygpIHRvIHJldHVybiBh
IFBsYXRmb3JtRGlzcGxheUxpYldQRQorICAgICAgICBpZiBjb21waWxlZCB3aXRoIFVTRShXUEVf
UkVOREVSRVIpLCBidXQgUGxhdGZvcm1EaXNwbGF5TGliV1BFIGhhcyBsb3dlciBwcmVjZWRlbmNl
IHRoYW4KKyAgICAgICAgUGxhdGZvcm1EaXNwbGF5WDExIGFuZCBQbGF0Zm9ybURpc3BsYXlXYXls
YW5kLiBXaGVuIHJ1bm5pbmcgb3VyIGxheW91dCB0ZXN0cyB3aXRoCisgICAgICAgIHJ1bi13ZWJr
aXQtdGVzdHMgLS1ndGssIGl0J3MgZ3VhcmFudGVlZCB0byBiZSBhIFBsYXRmb3JtRGlzcGxheVgx
MS4KKworICAgICAgICBJIHRoaW5rIENhcmxvcyB3YXMgY2xlYXJseSBleHBlY3RpbmcgUGxhdGZv
cm1EaXNwbGF5TGliV1BFLCBzbyBJIGRvbid0IGtub3cgd2hhdCB0aGUgaWRlYWwKKyAgICAgICAg
ZGVzaXJlZCBiZWhhdmlvciBpcywgYnV0IHRoZSBjcmFzaGVzIGdvIGF3YXkgaWYgd2UgY2hhbmdl
IHRoZSBjb2RlIHRvIGFsbG93IGFueSB0eXBlIG9mCisgICAgICAgIFBsYXRmb3JtRGlzcGxheS4g
VGhpcyBzaG91bGQgaG9wZWZ1bGx5IGZpeCBvdXIgYm90cywgd2hpY2ggYXJlIHN0aWxsIGV4aXRp
bmcgZWFybHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRleHQpOgorCiAyMDE5LTA2
LTAxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1BvaW50
ZXIgRXZlbnRzXSBBZGQgc3VwcG9ydCBmb3IgY2hvcmRlZCBidXR0b24gaW50ZXJhY3Rpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAK
aW5kZXggZjBiN2E0M2RkOGE0OWFhMGRmNjJmZDgyNzg5NjU4OGZmMWI3OGJkMy4uNDk2NjE5YmNm
NGUwNzk0MWY0NTNmN2Y5NzhlZDBlYjIwYWQ4Y2Q4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNDUxLDEyICs0NTEsMTMg
QEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRl
eHQoKQogI2VuZGlmCiAKICNpZiBVU0UoV1BFX1JFTkRFUkVSKQotICAgICAgICBBU1NFUlQoaXM8
UGxhdGZvcm1EaXNwbGF5TGliV1BFPihzaGFyZWREaXNwbGF5KSk7Ci0gICAgICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIkNyZWF0aW5nIFdQRSBzaGFyZWQgRUdMIGRpc3BsYXkiKTsK
LSAgICAgICAgaWYgKHNob3VsZEFkb3B0UmVmKQotICAgICAgICAgICAgbV9nbERpc3BsYXkgPSBh
ZG9wdEdSZWYoR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3BsYXlfZWdsX25ld193aXRoX2VnbF9k
aXNwbGF5KGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheUxpYldQRT4oc2hhcmVkRGlzcGxheSkuZWds
RGlzcGxheSgpKSkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2dsRGlzcGxheSA9IEdT
VF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkb3du
Y2FzdDxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KHNoYXJlZERpc3BsYXkpLmVnbERpc3BsYXkoKSkp
OworICAgICAgICBpZiAoaXM8UGxhdGZvcm1EaXNwbGF5TGliV1BFPihzaGFyZWREaXNwbGF5KSkg
eworICAgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiQ3JlYXRpbmcgV1BF
IHNoYXJlZCBFR0wgZGlzcGxheSIpOworICAgICAgICAgICAgaWYgKHNob3VsZEFkb3B0UmVmKQor
ICAgICAgICAgICAgICAgIG1fZ2xEaXNwbGF5ID0gYWRvcHRHUmVmKEdTVF9HTF9ESVNQTEFZKGdz
dF9nbF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkb3duY2FzdDxQbGF0Zm9ybURp
c3BsYXlMaWJXUEU+KHNoYXJlZERpc3BsYXkpLmVnbERpc3BsYXkoKSkpKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBtX2dsRGlzcGxheSA9IEdTVF9HTF9ESVNQTEFZKGdzdF9n
bF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkb3duY2FzdDxQbGF0Zm9ybURpc3Bs
YXlMaWJXUEU+KHNoYXJlZERpc3BsYXkpLmVnbERpc3BsYXkoKSkpOworICAgICAgICB9CiAjZW5k
aWYKIAogICAgICAgICBBU1NFUlQobV9nbERpc3BsYXkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>