<?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>198184</bug_id>
          
          <creation_ts>2019-05-23 10:51:16 -0700</creation_ts>
          <short_desc>[GStreamer] Crash in PlaybackPipeline::setWebKitMediaSrc</short_desc>
          <delta_ts>2019-05-25 15:26:31 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>196902</dup_id>
          
          <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="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538692</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-05-23 10:51:16 -0700</bug_when>
    <thetext>With 2.24.2:

 * Play the video in https://www.reddit.com/r/WTF/comments/bs0vkd/whatwas_the_plan_here/
 * Click the replay button
 * Crash

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f6c4be0666f in webKitMediaSrcFreeStream (
    source=source@entry=0x5562bde7e140, stream=0x5562bde95550)
    at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:512
512	    if (GST_IS_APP_SRC(stream-&gt;appsrc)) {
[Current thread is 1 (Thread 0x7f6c45342ec0 (LWP 16458))]
(gdb) bt
#0  0x00007f6c4be0666f in webKitMediaSrcFreeStream (source=source@entry=0x5562bde7e140, stream=0x5562bde95550)
    at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:512
#1  0x00007f6c4be06e17 in webKitMediaSrcFinalize (object=0x5562bde7e140)
    at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:278
#2  0x00007f6c4a3ccf1d in g_object_unref (_object=&lt;optimized out&gt;) at ../gobject/gobject.c:3368
#3  g_object_unref (_object=0x5562bde7e140) at ../gobject/gobject.c:3260
#4  0x00007f6c482f87d9 in gst_object_unref (object=&lt;optimized out&gt;) at ../gst/gstobject.c:266
#5  0x00007f6c4be0709e in WTF::derefGPtr&lt;_WebKitMediaSrc&gt; (ptr=&lt;optimized out&gt;)
    at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:750
#6  0x00007f6c4d1fa448 in WTF::GRefPtr&lt;_WebKitMediaSrc&gt;::operator= (optr=&lt;optimized out&gt;, this=&lt;optimized out&gt;)
    at DerivedSources/ForwardingHeaders/wtf/glib/GRefPtr.h:150
#7  WebCore::PlaybackPipeline::setWebKitMediaSrc (this=&lt;optimized out&gt;, webKitMediaSrc=&lt;optimized out&gt;)
    at ../Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:96
#8  0x00007f6c4d1f374c in WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup (this=0x5562bde7e140, 
    sourceElement=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:41
#9  0x00007f6c47462bae in ffi_call_unix64 () at ../src/x86/unix64.S:76
#10 0x00007f6c4746256f in ffi_call (cif=cif@entry=0x7ffdb6da0f50, fn=fn@entry=
    0x7f6c4d1dbc90 &lt;WebCore::MediaPlayerPrivateGStreamer::sourceSetupCallback(WebCore::MediaPlayerPrivateGStreamer*, _GstElement*)&gt;, rvalue=&lt;optimized out&gt;, avalue=avalue@entry=0x7ffdb6da0ea0) at ../src/x86/ffi64.c:525
#11 0x00007f6c4a3c8245 in g_cclosure_marshal_generic (closure=&lt;optimized out&gt;, return_gvalue=&lt;optimized out&gt;, 
    n_param_values=&lt;optimized out&gt;, param_values=&lt;optimized out&gt;, invocation_hint=&lt;optimized out&gt;, 
    marshal_data=&lt;optimized out&gt;) at ../gobject/gclosure.c:1500
#12 0x00007f6c4a3c777d in g_closure_invoke (closure=0x5562bde67040, return_value=0x0, n_param_values=2, 
    param_values=0x7ffdb6da1180, invocation_hint=0x7ffdb6da1100) at ../gobject/gclosure.c:810
#13 0x00007f6c4a3db865 in signal_emit_unlocked_R (node=node@entry=0x5562bdd40e70, detail=detail@entry=0, 
    instance=instance@entry=0x5562bde66040, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffdb6da1180) at ../gobject/gsignal.c:3635
#14 0x00007f6c4a3e4b7e in g_signal_emit_valist (instance=&lt;optimized out&gt;, signal_id=&lt;optimized out&gt;, 
    detail=&lt;optimized out&gt;, var_args=var_args@entry=0x7ffdb6da1350) at ../gobject/gsignal.c:3391
#15 0x00007f6c4a3e5233 in g_signal_emit (instance=instance@entry=0x5562bde66040, signal_id=&lt;optimized out&gt;, 
    detail=detail@entry=0) at ../gobject/gsignal.c:3447
#16 0x00007f57887a719f in notify_source_cb (uridecodebin=&lt;optimized out&gt;, pspec=&lt;optimized out&gt;, 
    group=&lt;optimized out&gt;) at ../../../gst/playback/gstplaybin2.c:5164
#17 0x00007f6c4a3c777d in g_closure_invoke (closure=0x5562bcf273d0, return_value=0x0, n_param_values=2, 
    param_values=0x7ffdb6da1620, invocation_hint=0x7ffdb6da15a0) at ../gobject/gclosure.c:810
#18 0x00007f6c4a3db865 in signal_emit_unlocked_R (node=node@entry=0x5562bce7bdd0, detail=detail@entry=3138, 
    instance=instance@entry=0x5562bdd5d350, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffdb6da1620) at ../gobject/gsignal.c:3635
#19 0x00007f6c4a3e4b7e in g_signal_emit_valist (instance=&lt;optimized out&gt;, signal_id=&lt;optimized out&gt;, 
    detail=&lt;optimized out&gt;, var_args=var_args@entry=0x7ffdb6da17f0) at ../gobject/gsignal.c:3391
#20 0x00007f6c4a3e5233 in g_signal_emit (instance=instance@entry=0x5562bdd5d350, signal_id=&lt;optimized out&gt;, 
    detail=&lt;optimized out&gt;) at ../gobject/gsignal.c:3447
#21 0x00007f6c4a3cc384 in g_object_dispatch_properties_changed (object=0x5562bdd5d350, n_pspecs=&lt;optimized out&gt;, 
    pspecs=&lt;optimized out&gt;) at ../gobject/gobject.c:1110
#22 0x00007f6c482f91a8 in gst_object_dispatch_properties_changed (object=0x5562bdd5d350, n_pspecs=1, 
    pspecs=0x7ffdb6da1960) at ../gst/gstobject.c:430
#23 0x00007f6c4a3ce9c1 in g_object_notify_by_spec_internal (pspec=&lt;optimized out&gt;, object=0x5562bdd5d350)
    at ../gobject/gobject.c:1203
#24 g_object_notify (object=object@entry=0x5562bdd5d350, property_name=property_name@entry=0x7f57887d8eb4 &quot;source&quot;)
    at ../gobject/gobject.c:1251
#25 0x00007f5788792740 in setup_source (decoder=&lt;optimized out&gt;) at ../../../gst/playback/gsturidecodebin.c:2200
#26 gst_uri_decode_bin_change_state (element=0x5562bdd5d350, transition=&lt;optimized out&gt;)
    at ../../../gst/playback/gsturidecodebin.c:2812
#27 0x00007f6c483258d2 in gst_element_change_state (element=element@entry=0x5562bdd5d350, transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../gst/gstelement.c:2952
#28 0x00007f6c48325ffe in gst_element_set_state_func (element=0x5562bdd5d350, state=GST_STATE_PAUSED) at ../gst/gstelement.c:2906
#29 0x00007f57887aea7d in activate_group (target=GST_STATE_PAUSED, group=0x5562bde664c8, playbin=0x5562bde66040) at ../../../gst/playback/gstplaybin2.c:5405
#30 setup_next_source (playbin=playbin@entry=0x5562bde66040, target=GST_STATE_PAUSED) at ../../../gst/playback/gstplaybin2.c:5629
#31 0x00007f57887af72b in gst_play_bin_change_state (element=0x5562bde66040, transition=&lt;optimized out&gt;) at ../../../gst/playback/gstplaybin2.c:5758
#32 0x00007f6c483258d2 in gst_element_change_state (element=element@entry=0x5562bde66040, transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../gst/gstelement.c:2952
#33 0x00007f6c48325ffe in gst_element_set_state_func (element=0x5562bde66040, state=GST_STATE_PLAYING) at ../gst/gstelement.c:2906
#34 0x00007f6c4d1dbf2c in WebCore::MediaPlayerPrivateGStreamer::changePipelineState (this=0x7f570646f780, newState=GST_STATE_PLAYING) at ../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:427
#35 0x00007f6c4d1e09a7 in WebCore::MediaPlayerPrivateGStreamer::play (this=0x7f570646f780) at ../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:464
#36 0x00007f6c4c8c6813 in WebCore::HTMLMediaElement::updatePlayState (this=0x7f57120007e0) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:41
#37 WebCore::HTMLMediaElement::updatePlayState (this=0x7f57120007e0) at ../Source/WebCore/html/HTMLMediaElement.cpp:5401
#38 0x00007f6c4c8c6a15 in WebCore::HTMLMediaElement::playInternal (this=0x7f57120007e0) at ../Source/WebCore/html/HTMLMediaElement.cpp:3603
#39 WebCore::HTMLMediaElement::playInternal (this=0x7f57120007e0) at ../Source/WebCore/html/HTMLMediaElement.cpp:3528
#40 0x00007f6c4c8c6bcd in WebCore::HTMLMediaElement::play (this=0x7f57120007e0, promise=...) at ../Source/WebCore/html/HTMLMediaElement.cpp:3509
#41 0x00007f6c4bf8e780 in WebCore::jsHTMLMediaElementPrototypeFunctionPlayBody (state=0x7ffdb6da1dc0, throwScope=&lt;synthetic pointer&gt;..., promise=..., castedThis=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/Ref.h:130
#42 WebCore::IDLOperationReturningPromise&lt;WebCore::JSHTMLMediaElement&gt;::&lt;lambda(JSC::ExecState&amp;, WTF::Ref&lt;WebCore::DeferredPromise, WTF::DumbPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;)&gt;::operator() (this=&lt;synthetic pointer&gt;, promise=..., state=...) at ../Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h:52
#43 WebCore::callPromiseFunction&lt;(WebCore::PromiseExecutionScope)0, WebCore::IDLOperationReturningPromise&lt;JSClass&gt;::call(JSC::ExecState&amp;, char const*) [with JSC::EncodedJSValue (* operation)(JSC::ExecState*, WebCore::IDLOperationReturningPromise&lt;JSClass&gt;::ClassParameter, WTF::Ref&lt;WebCore::DeferredPromise&gt;&amp;&amp;, JSC::ThrowScope&amp;) = WebCore::jsHTMLMediaElementPrototypeFunctionPlayBody; WebCore::PromiseExecutionScope executionScope = (WebCore::PromiseExecutionScope)0; WebCore::CastedThisErrorBehavior shouldThrow = (WebCore::CastedThisErrorBehavior)2; JSClass = WebCore::JSHTMLMediaElement]::&lt;lambda(JSC::ExecState&amp;, WTF::Ref&lt;WebCore::DeferredPromise&gt;&amp;&amp;)&gt; &gt; (functor=..., state=...) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:299
#44 WebCore::IDLOperationReturningPromise&lt;WebCore::JSHTMLMediaElement&gt;::call&lt;WebCore::jsHTMLMediaElementPrototypeFunctionPlayBody, (WebCore::PromiseExecutionScope)0&gt; (operationName=0x7f6c4d44729e &quot;play&quot;, state=...) at ../Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h:41
#45 WebCore::jsHTMLMediaElementPrototypeFunctionPlay (state=0x7ffdb6da1dc0) at DerivedSources/WebCore/JSHTMLMediaElement.cpp:1548
#46 0x00007f57bffff16b in ?? ()
#47 0x00007ffdb6da1e50 in ?? ()
#48 0x00007f57c0022c1f in ?? ()
#49 0x0000000000000000 in ?? ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538962</commentid>
    <comment_count>1</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2019-05-24 01:29:02 -0700</bug_when>
    <thetext>I tried to load this web with trunk and it does not load properly for me, so I can&apos;t even try to play the video.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539204</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-05-25 09:08:56 -0700</bug_when>
    <thetext>Duplicate of #196902</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539227</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-05-25 15:26:31 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 196902 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>