<?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>125411</bug_id>
          
          <creation_ts>2013-12-08 05:57:11 -0800</creation_ts>
          <short_desc>[GTK][GStreamer] media/video-preload.html is flakily crashing on WK2</short_desc>
          <delta_ts>2017-04-25 23:50:34 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Brendan Long">b.long</assigned_to>
          <cc>avast22</cc>
    
    <cc>berto</cc>
    
    <cc>b.long</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>nick.diego</cc>
    
    <cc>pnormand</cc>
    
    <cc>self</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>957606</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-12-08 05:57:11 -0800</bug_when>
    <thetext>The media/video-preload.html layout test seems to crash from time to time.
http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=media%2Fvideo-preload.html

Here&apos;s the stderr output from the latest crash:
STDERR: (WebKitWebProcess:26929): GStreamer-CRITICAL **: gst_tag_list_get_string: assertion &apos;GST_IS_TAG_LIST (list)&apos; failed
STDERR: 
STDERR: (WebKitWebProcess:26929): GStreamer-CRITICAL **: gst_tag_list_get_string: assertion &apos;GST_IS_TAG_LIST (list)&apos; failed
STDERR: 
STDERR: (WebKitWebProcess:26929): GStreamer-CRITICAL **: gst_mini_object_unref: assertion &apos;mini_object-&gt;refcount &gt; 0&apos; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957647</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-12-08 09:49:52 -0800</bug_when>
    <thetext>media/video-transformed.html as well.
http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=media%2Fvideo-transformed.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957659</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-12-08 10:46:11 -0800</bug_when>
    <thetext>I can&apos;t reproduce this in my environment, maybe a gstreamer bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957817</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-12-09 02:43:06 -0800</bug_when>
    <thetext>Brendan, rings a bell?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957818</commentid>
    <comment_count>4</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 02:44:23 -0800</bug_when>
    <thetext>Is this GStreamer 0.10 or 1.0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957821</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-12-09 02:52:46 -0800</bug_when>
    <thetext>1.0, 0.10 is gone for good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957857</commentid>
    <comment_count>6</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 05:07:34 -0800</bug_when>
    <thetext>Backtrace:

#0  0x00007fffef6a09d7 in g_slice_alloc () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fffecc7155f in gst_caps_new_empty () at gstcaps.c:242
#2  0x00007fffecc715f9 in gst_caps_new_any () at gstcaps.c:264
#3  0x00007fffecccbc65 in gst_pad_proxy_query_caps (pad=pad@entry=0x7fff4401a2c0, query=query@entry=0x7fff4003fa30) at gstutils.c:2529
#4  0x00007fffecc9b9c3 in gst_pad_query_caps_default (query=0x7fff4003fa30, pad=0x7fff4401a2c0) at gstpad.c:2859
#5  gst_pad_query_default (pad=0x7fff4401a2c0, parent=&lt;optimized out&gt;, query=0x7fff4003fa30) at gstpad.c:2970
#6  0x00007fffecc9c0ac in gst_pad_query (pad=pad@entry=0x7fff4401a2c0, query=query@entry=0x7fff4003fa30) at gstpad.c:3465
#7  0x00007fffecc9c690 in gst_pad_peer_query (pad=pad@entry=0x7fff4401a780, query=0x7fff4003fa30) at gstpad.c:3596
#8  0x00007fffeccc9698 in query_caps_func (pad=pad@entry=0x7fff4401a780, data=data@entry=0x7fff3e7f9be0) at gstutils.c:2481
#9  0x00007fffecc9b417 in gst_pad_forward (pad=pad@entry=0x2688dd0, forward=forward@entry=0x7fffeccc9680 &lt;query_caps_func&gt;, user_data=user_data@entry=0x7fff3e7f9be0) at gstpad.c:2695
#10 0x00007fffecccbc0a in gst_pad_proxy_query_caps (pad=pad@entry=0x2688dd0, query=query@entry=0x7fff4003fa30) at gstutils.c:2531
#11 0x00007fffecc9b9c3 in gst_pad_query_caps_default (query=0x7fff4003fa30, pad=0x2688dd0) at gstpad.c:2859
#12 gst_pad_query_default (pad=0x2688dd0, parent=&lt;optimized out&gt;, query=0x7fff4003fa30) at gstpad.c:2970
#13 0x00007fffecc9c0ac in gst_pad_query (pad=pad@entry=0x2688dd0, query=query@entry=0x7fff4003fa30) at gstpad.c:3465
#14 0x00007fffecc9c690 in gst_pad_peer_query (pad=pad@entry=0x7fff44063640, query=query@entry=0x7fff4003fa30) at gstpad.c:3596
#15 0x00007fffeccce824 in gst_pad_peer_query_caps (pad=pad@entry=0x7fff44063640, filter=filter@entry=0x0) at gstutils.c:2811
#16 0x00007fff3d781e7e in gst_deinterlace_getcaps (filter=0x7fff4003f9e0, pad=0x7ffefc388f80, self=0x7fff38ac49d0) at gstdeinterlace.c:2145
#17 gst_deinterlace_sink_query (pad=0x7ffefc388f80, parent=&lt;optimized out&gt;, query=0x7fff0c000f70) at gstdeinterlace.c:2649
#18 0x00007fffecc9c0ac in gst_pad_query (pad=pad@entry=0x7ffefc388f80, query=query@entry=0x7fff0c000f70) at gstpad.c:3465
#19 0x00007fffecccc334 in gst_pad_query_caps (pad=pad@entry=0x7ffefc388f80, filter=filter@entry=0x7fff4003f9e0) at gstutils.c:2765
#20 0x00007fffeca0f4dc in gst_base_transform_find_transform (caps=0x7fff4003f990, pad=0x7fff24902b20, trans=0x7fff38037230) at gstbasetransform.c:1124
#21 gst_base_transform_setcaps (trans=trans@entry=0x7fff38037230, pad=0x7fff24902b20, incaps=incaps@entry=0x7fff4003f990) at gstbasetransform.c:1327
#22 0x00007fffeca100eb in gst_base_transform_handle_buffer (trans=trans@entry=0x7fff38037230, inbuf=inbuf@entry=0x7fff4083b4e0, outbuf=outbuf@entry=0x7fff3e7fa2a8) at gstbasetransform.c:1968
#23 0x00007fffeca10b64 in gst_base_transform_chain (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff4083b4e0) at gstbasetransform.c:2201
#24 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff4083b4e0, type=4112, pad=0x7fff24902b20) at gstpad.c:3717
#25 gst_pad_push_data (pad=pad@entry=0x7fff60017240, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff4083b4e0) at gstpad.c:3950
#26 0x00007fffecc9d766 in gst_pad_push (pad=pad@entry=0x7fff60017240, buffer=buffer@entry=0x7fff4083b4e0) at gstpad.c:4053
#27 0x00007fffecc8874b in gst_proxy_pad_chain_default (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff4083b4e0) at gstghostpad.c:128
#28 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff4083b4e0, type=4112, pad=0x24a65b0) at gstpad.c:3717
#29 gst_pad_push_data (pad=pad@entry=0x7fff04862050, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff4083b4e0) at gstpad.c:3950
#30 0x00007fffecc9d766 in gst_pad_push (pad=pad@entry=0x7fff04862050, buffer=buffer@entry=0x7fff4083b4e0) at gstpad.c:4053
#31 0x00007fff7c5e42e3 in gst_stream_synchronizer_sink_chain (pad=0x7fff18023670, parent=&lt;optimized out&gt;, buffer=0x7fff4083b4e0) at gststreamsynchronizer.c:577
#32 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff6006eb50, type=4112, pad=0x7fff18023670) at gstpad.c:3717
#33 gst_pad_push_data (pad=pad@entry=0x7fff60016040, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff6006eb50) at gstpad.c:3950
#34 0x00007fffecc9d766 in gst_pad_push (pad=pad@entry=0x7fff60016040, buffer=buffer@entry=0x7fff6006eb50) at gstpad.c:4053
#35 0x00007fffecc8874b in gst_proxy_pad_chain_default (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff6006eb50) at gstghostpad.c:128
#36 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff6006eb50, type=4112, pad=0x24a6810) at gstpad.c:3717
#37 gst_pad_push_data (pad=0x7fff38ad0070, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff6006eb50) at gstpad.c:3950
#38 0x00007fffecc9d766 in gst_pad_push (pad=&lt;optimized out&gt;, buffer=buffer@entry=0x7fff6006eb50) at gstpad.c:4053
#39 0x00007fff7c37b669 in gst_selector_pad_chain (pad=0x7fff08052480, parent=&lt;optimized out&gt;, buf=0x7fff6006eb50) at gstinputselector.c:1087
#40 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff6006eb50, type=4112, pad=0x7fff08052480) at gstpad.c:3717
#41 gst_pad_push_data (pad=pad@entry=0x7fff4401aea0, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff6006eb50) at gstpad.c:3950
#42 0x00007fffecc9d766 in gst_pad_push (pad=pad@entry=0x7fff4401aea0, buffer=buffer@entry=0x7fff6006eb50) at gstpad.c:4053
#43 0x00007fffecc8874b in gst_proxy_pad_chain_default (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff6006eb50) at gstghostpad.c:128
#44 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff6006eb50, type=4112, pad=0x7fff44067490) at gstpad.c:3717
#45 gst_pad_push_data (pad=pad@entry=0x7fff6401dd10, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff6006eb50) at gstpad.c:3950
#46 0x00007fffecc9d766 in gst_pad_push (pad=pad@entry=0x7fff6401dd10, buffer=buffer@entry=0x7fff6006eb50) at gstpad.c:4053
#47 0x00007fffecc8874b in gst_proxy_pad_chain_default (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff6006eb50) at gstghostpad.c:128
#48 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff6006eb50, type=4112, pad=0x7fff44067250) at gstpad.c:3717
#49 gst_pad_push_data (pad=0x7fff407f7d00, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff6006eb50) at gstpad.c:3950
#50 0x00007fffecc9d766 in gst_pad_push (pad=&lt;optimized out&gt;, buffer=buffer@entry=0x7fff6006eb50) at gstpad.c:4053
#51 0x00007fffebf2a1cf in gst_video_decoder_clip_and_push_buf (decoder=decoder@entry=0x7fff38039b80, buf=buf@entry=0x7fff6006eb50) at gstvideodecoder.c:2585
#52 0x00007fffebf3120d in gst_video_decoder_finish_frame (decoder=0x7fff38039b80, frame=0x0, frame@entry=0x7fff40620690) at gstvideodecoder.c:2500
#53 0x00007fff4a39b9ee in gst_ffmpegviddec_video_frame (ffmpegdec=ffmpegdec@entry=0x7fff38039b80, data=&lt;optimized out&gt;, data@entry=0x7fff3804b460 &quot;&quot;, size=&lt;optimized out&gt;, frame=frame@entry=0x7fff64063060, ret=ret@entry=0x7fff3e7fb23c) at gstavviddec.c:1255
#54 0x00007fff4a39bd98 in gst_ffmpegviddec_frame (ffmpegdec=ffmpegdec@entry=0x7fff38039b80, data=data@entry=0x7fff3804b460 &quot;&quot;, size=size@entry=743, got_data=got_data@entry=0x7fff3e7fb238, frame=frame@entry=0x7fff64063060, ret=ret@entry=0x7fff3e7fb23c) at gstavviddec.c:1312
#55 0x00007fff4a39c424 in gst_ffmpegviddec_handle_frame (decoder=0x7fff38039b80, frame=0x7fff64063060) at gstavviddec.c:1428
#56 0x00007fffebf299b9 in gst_video_decoder_decode_frame (decoder=decoder@entry=0x7fff38039b80, frame=0x7fff64063060) at gstvideodecoder.c:2760
#57 0x00007fffebf2c2f3 in gst_video_decoder_chain_forward (decoder=decoder@entry=0x7fff38039b80, buf=buf@entry=0x7fff60082620, at_eos=at_eos@entry=0) at gstvideodecoder.c:1757
#58 0x00007fffebf2da33 in gst_video_decoder_chain (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buf=0x7fff60082620) at gstvideodecoder.c:2004
#59 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff60082620, type=4112, pad=0x7fff407f7ad0) at gstpad.c:3717
#60 gst_pad_push_data (pad=0x7fff30044fa0, type=type@entry=4112, data=&lt;optimized out&gt;) at gstpad.c:3950
#61 0x00007fffecc9d766 in gst_pad_push (pad=&lt;optimized out&gt;, buffer=&lt;optimized out&gt;) at gstpad.c:4053
#62 0x00007fffeca10d6b in gst_base_transform_chain (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=&lt;optimized out&gt;) at gstbasetransform.c:2237
#63 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff60082620, type=4112, pad=0x7fff3003dc90) at gstpad.c:3717
#64 gst_pad_push_data (pad=0x7fff0c888900, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff60082620) at gstpad.c:3950
#65 0x00007fffecc9d766 in gst_pad_push (pad=&lt;optimized out&gt;, buffer=buffer@entry=0x7fff60082620) at gstpad.c:4053
#66 0x00007fffec9f2a4f in gst_base_parse_push_frame (parse=parse@entry=0x7fff3401d230, frame=frame@entry=0x7fff3e7fb880) at gstbaseparse.c:2280
#67 0x00007fffec9f36c8 in gst_base_parse_chain (pad=&lt;optimized out&gt;, parent=&lt;optimized out&gt;, buffer=0x7fff60082620) at gstbaseparse.c:2758
#68 0x00007fffecc96915 in gst_pad_chain_data_unchecked (data=0x7fff60082620, type=4112, pad=0x7fff1800b6b0) at gstpad.c:3717
#69 gst_pad_push_data (pad=0x7fff0803cdf0, type=type@entry=4112, data=&lt;optimized out&gt;, data@entry=0x7fff60082620) at gstpad.c:3950
#70 0x00007fffecc9d766 in gst_pad_push (pad=&lt;optimized out&gt;, buffer=buffer@entry=0x7fff60082620) at gstpad.c:4053
#71 0x00007fff7c381181 in gst_single_queue_push_one (object=0x7fff60082620, sq=0x7fff34055480, mq=0x8501b0) at gstmultiqueue.c:1083
#72 gst_multi_queue_loop (pad=&lt;optimized out&gt;) at gstmultiqueue.c:1331
#73 0x00007fffeccc4929 in gst_task_func (task=0x7fff6000f4d0) at gsttask.c:316
#74 0x00007fffef6aaab6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#75 0x00007fffef6aa0f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#76 0x00007fffeebdef6e in start_thread (arg=0x7fff3e7fc700) at pthread_create.c:311
#77 0x00007fffee9099cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957888</commentid>
    <comment_count>7</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 07:55:08 -0800</bug_when>
    <thetext>Actually I think that backtrace is unrelated (or related but unhelpful). I used G_DEBUG=fatal_criticals to break on that first error log, and it looks like the problem is that TextCombinerGStreamer&apos;s &quot;tags&quot; property is used in several threads with no locking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957948</commentid>
    <comment_count>8</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 10:12:11 -0800</bug_when>
    <thetext>I added some locking, copy the GstTagList before returning it, and added a bunch of ASSERTs, and still get the same messages. Even with something like this:

        static void webkitTextCombinerPadGetProperty(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec)
        {
            WebKitTextCombinerPad* pad = WEBKIT_TEXT_COMBINER_PAD(object);
            switch (propertyId) {
            case PROP_PAD_TAGS: {
                GST_OBJECT_LOCK(object);
                ASSERT(GST_IS_TAG_LIST(pad-&gt;tags));
                ASSERT(GST_OBJECT_REFCOUNT(pad-&gt;tags) &gt; 0);
                GstTagList* tags = gst_tag_list_copy(pad-&gt;tags);
                ASSERT(GST_IS_TAG_LIST(tags));
                ASSERT(GST_OBJECT_REFCOUNT(tags) &gt; 0);
                g_value_set_boxed(value, tags);
                GST_OBJECT_UNLOCK(object);
                break;
            }
            default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
                break;
            }
        }

I&apos;ll get an error message in g_object_unset in g_object_get_valist:

    (DumpRenderTree:541): GStreamer-CRITICAL **: __gst_tag_list_free: assertion &apos;GST_IS_TAG_LIST (list)&apos; failed

How can that possibly not be a GstTagList?

The relevant snippet in g_object_get_valist is:

      object_get_property (object, pspec, &amp;value);
      
      G_VALUE_LCOPY (&amp;value, var_args, 0, &amp;error);
      if (error)
	{
	  g_warning (&quot;%s: %s&quot;, G_STRFUNC, error);
	  g_free (error);
	  g_value_unset (&amp;value);
	  break;
	}
      
      g_value_unset (&amp;value);

And object_get_property just runs some checks and then runs:

    class-&gt;get_property (object, param_id, value, pspec);

So, somehow things are going run somewhere around here.

Since nothing makes sense, maybe it&apos;s stack smashing, but I don&apos;t see anywhere where the stack could get smashed :\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957949</commentid>
    <comment_count>9</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 10:15:48 -0800</bug_when>
    <thetext>Oh, and m_pad has 7 refs and `tags` in notifyTrackOfTagsChanged() is a GstTagList, but has no refs:

print *tags.get()
$3 = {mini_object = {type = 140734468604784, refcount = 0, lockstate = 0, flags = 0, 
    copy = 0x7fffecdd3d50 &lt;__gst_tag_list_copy&gt;, dispose = 0x0, 
    free = 0x7fffecdd3cf0 &lt;__gst_tag_list_free&gt;, n_qdata = 0, qdata = 0x0}}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957968</commentid>
    <comment_count>10</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 10:33:25 -0800</bug_when>
    <thetext>One issue is that GValue is calling __gst_tag_list_free instead of gst_tag_list_unref, but it should still work since it uses __gst_tag_list_copy to copy it.

static void
__gst_tag_list_free (GstTagList * list)
{
  g_return_if_fail (GST_IS_TAG_LIST (list));

#ifdef DEBUG_REFCOUNT
  GST_CAT_TRACE (GST_CAT_TAGS, &quot;freeing taglist %p&quot;, list);
#endif

  gst_structure_free (GST_TAG_LIST_STRUCTURE (list));

  g_slice_free1 (sizeof (GstTagListImpl), list);
}

static GstTagList *
__gst_tag_list_copy (const GstTagList * list)
{
  const GstStructure *s;

  g_return_val_if_fail (GST_IS_TAG_LIST (list), NULL);

  s = GST_TAG_LIST_STRUCTURE (list);
  return gst_tag_list_new_internal (gst_structure_copy (s));
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957994</commentid>
    <comment_count>11</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-09 11:03:32 -0800</bug_when>
    <thetext>I&apos;ve been looking in the wrong place. The crash is in AudioTrackPrivateGStreamer, so the relevant code is in input-selector, not WebKitTextCombiner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958376</commentid>
    <comment_count>12</comment_count>
      <attachid>218876</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-10 08:33:36 -0800</bug_when>
    <thetext>Created attachment 218876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958385</commentid>
    <comment_count>13</comment_count>
      <attachid>218876</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-12-10 09:01:54 -0800</bug_when>
    <thetext>Comment on attachment 218876
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=218876&amp;action=review

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests because this fixes flakeyness in existing tests (media/video-preload.h, and various tests in media/track/{audio,in-band,video}).

.html

&gt; Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp:209
&gt; +        GstTagList* oldTags = combinerPad-&gt;tags;
&gt; +        combinerPad-&gt;tags = gst_tag_list_merge(combinerPad-&gt;tags, tags, GST_TAG_MERGE_REPLACE);
&gt; +        if (oldTags)
&gt; +            gst_tag_list_unref(oldTags);

Not sure to understand this, seems a bit confusing to me :/

&gt; Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:78
&gt; +    /* We can&apos;t call notifyTrackOfTagsChanged() directly, because we need tagsChanged()

Nit: please use // comments :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958401</commentid>
    <comment_count>14</comment_count>
      <attachid>218879</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-10 10:12:04 -0800</bug_when>
    <thetext>Created attachment 218879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958404</commentid>
    <comment_count>15</comment_count>
      <attachid>218879</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-12-10 10:17:05 -0800</bug_when>
    <thetext>Comment on attachment 218879
Patch

Ok!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958405</commentid>
    <comment_count>16</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-10 10:18:31 -0800</bug_when>
    <thetext>I think I&apos;ll work on something that doesn&apos;t involve multiple threads next..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958416</commentid>
    <comment_count>17</comment_count>
      <attachid>218879</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 10:51:39 -0800</bug_when>
    <thetext>Comment on attachment 218879
Patch

Clearing flags on attachment: 218879

Committed r160375: &lt;http://trac.webkit.org/changeset/160375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958417</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 10:51:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218876</attachid>
            <date>2013-12-10 08:33:36 -0800</date>
            <delta_ts>2013-12-10 10:11:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125411-20131210173334.patch</filename>
            <type>text/plain</type>
            <size>5443</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjYzMyMjc0NTQwYzIz
YzVjODM5ZWM4ZDMxNjQ2MzJiNzIxZGUzNi4uNzZmYjk5YzdkZjYzMTlmODEzM2QxMDZhNzEzMzll
OTU2MzEzMTZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEyLTEwICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBbR1RLXVtHU3RyZWFt
ZXJdIG1lZGlhL3ZpZGVvLXByZWxvYWQuaHRtbCBpcyBmbGFraWx5IGNyYXNoaW5nIG9uIFdLMgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NDExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2UgdGhpcyBmaXhlcyBmbGFrZXluZXNzIGluIGV4aXN0aW5nIHRlc3RzIChtZWRp
YS92aWRlby1wcmVsb2FkLmgsIGFuZCB2YXJpb3VzIHRlc3RzIGluIG1lZGlhL3RyYWNrL3thdWRp
byxpbi1iYW5kLHZpZGVvfSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvVGV4dENvbWJpbmVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdFRleHRDb21iaW5l
clBhZEV2ZW50KTogQ2hhbmdlIGxvZ2ljIHRvIG1hdGNoIGdzdGlucHV0c2VsZWN0b3IsIGFuZCBh
ZGQgbG9ja2luZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFja1ByaXZhdGVC
YXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKTogQ2FsbCB0YWdzQ2hhbmdl
ZCgpIGJjYXVzZSB3ZSBuZWVkIGl0IHRvIHNldHVwIG1fdGFncy4KKyAgICAgICAgKFdlYkNvcmU6
OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmRpc2Nvbm5lY3QpOiBDbGVhciBtX3RhZ3MuCisg
ICAgICAgIChXZWJDb3JlOjpUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjp0YWdzQ2hhbmdlZCk6
IExvb2t1cCB0aGUgdGFncyB3aGlsZSB3ZSdyZSBpbiB0aGlzIGNhbGxiYWNrLCBiZWNhdXNlIGl0
J3MgdGhlIG9ubHkgdGltZSB3ZSBjYW4gZ3VhcmFudGVlIHRoYXQgdGhlIGlucHV0LXNlbGVjdG9y
IHdvbid0IHVucmVmIHRoZW0uCisgICAgICAgIChXZWJDb3JlOjpUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyOjpub3RpZnlUcmFja09mVGFnc0NoYW5nZWQpOiBVc2UgbV90YWdzLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmg6
IEFkZCBtX3RhZ3MgYW5kIGEgbXV0ZXguCisKIDIwMTMtMTItMTAgIFJvYmVydCBTaXBrYSAgPHNp
cGthQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbbml4XVtjdXJsXSBCdWlsZGZpeCBhZnRl
ciByMTYwMzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVGV4dENvbWJpbmVyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UZXh0Q29tYmluZXJHU3RyZWFtZXIuY3BwCmluZGV4IGQ5
NjMyNjhmZTQyYjNhNjY0MmJlNTM4YjM5YTI5OTBkZTA4NWY5MGQuLmQ4ODA0NDA4MGVmMDQ0MDQ3
YmI2M2VlNDNjYzAwYmZkM2M3Mjc5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UZXh0Q29tYmluZXJHU3RyZWFtZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UZXh0Q29tYmluZXJHU3Ry
ZWFtZXIuY3BwCkBAIC0yMDIsMTAgKzIwMiwxMyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0VGV4
dENvbWJpbmVyUGFkRXZlbnQoR3N0UGFkKiBwYWQsIEdzdE9iamVjdCogcGFyZW50LCBHc3RFdgog
ICAgICAgICBnc3RfZXZlbnRfcGFyc2VfdGFnKGV2ZW50LCAmdGFncyk7CiAgICAgICAgIEFTU0VS
VCh0YWdzKTsKIAotICAgICAgICBpZiAoIWNvbWJpbmVyUGFkLT50YWdzKQotICAgICAgICAgICAg
Y29tYmluZXJQYWQtPnRhZ3MgPSBnc3RfdGFnX2xpc3RfY29weSh0YWdzKTsKLSAgICAgICAgZWxz
ZQotICAgICAgICAgICAgZ3N0X3RhZ19saXN0X2luc2VydChjb21iaW5lclBhZC0+dGFncywgdGFn
cywgR1NUX1RBR19NRVJHRV9SRVBMQUNFKTsKKyAgICAgICAgR1NUX09CSkVDVF9MT0NLKHBhZCk7
CisgICAgICAgIEdzdFRhZ0xpc3QqIG9sZFRhZ3MgPSBjb21iaW5lclBhZC0+dGFnczsKKyAgICAg
ICAgY29tYmluZXJQYWQtPnRhZ3MgPSBnc3RfdGFnX2xpc3RfbWVyZ2UoY29tYmluZXJQYWQtPnRh
Z3MsIHRhZ3MsIEdTVF9UQUdfTUVSR0VfUkVQTEFDRSk7CisgICAgICAgIGlmIChvbGRUYWdzKQor
ICAgICAgICAgICAgZ3N0X3RhZ19saXN0X3VucmVmKG9sZFRhZ3MpOworICAgICAgICBHU1RfT0JK
RUNUX1VOTE9DSyhwYWQpOworCiAgICAgICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChwYWQp
LCAidGFncyIpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lci5jcHAKaW5kZXggYmQ3YTY4ZGM1ZWRlNzI0Mjc2ZWZiYWI3Yjdl
MDY1OTBmMTUwNDZmYS4uNThmMDZmYTkwZDM5MDM2N2I4NGJjZWM5MjU3MDM4YzMwOTMxMTk4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Ry
YWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcApAQCAtNzUs
NyArNzUsOSBAQCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2UqIG93bmVyLCBnaQogICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
bV9wYWQuZ2V0KCksICJub3RpZnk6OmFjdGl2ZSIsIEdfQ0FMTEJBQ0sodHJhY2tQcml2YXRlQWN0
aXZlQ2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BhZC5n
ZXQoKSwgIm5vdGlmeTo6dGFncyIsIEdfQ0FMTEJBQ0sodHJhY2tQcml2YXRlVGFnc0NoYW5nZWRD
YWxsYmFjayksIHRoaXMpOwogCi0gICAgbm90aWZ5VHJhY2tPZlRhZ3NDaGFuZ2VkKCk7CisgICAg
LyogV2UgY2FuJ3QgY2FsbCBub3RpZnlUcmFja09mVGFnc0NoYW5nZWQoKSBkaXJlY3RseSwgYmVj
YXVzZSB3ZSBuZWVkIHRhZ3NDaGFuZ2VkKCkKKyAgICAgKiB0byBzZXR1cCBtX3RhZ3MuICovCisg
ICAgdGFnc0NoYW5nZWQoKTsKIH0KIAogVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6flRyYWNr
UHJpdmF0ZUJhc2VHU3RyZWFtZXIoKQpAQCAtMTAwLDYgKzEwMiw3IEBAIHZvaWQgVHJhY2tQcml2
YXRlQmFzZUdTdHJlYW1lcjo6ZGlzY29ubmVjdCgpCiAgICAgICAgIGdfc291cmNlX3JlbW92ZSht
X3RhZ1RpbWVySGFuZGxlcik7CiAKICAgICBtX3BhZC5jbGVhcigpOworICAgIG1fdGFncy5jbGVh
cigpOwogfQogCiB2b2lkIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmFjdGl2ZUNoYW5nZWQo
KQpAQCAtMTE0LDYgKzExNywxNCBAQCB2b2lkIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OnRh
Z3NDaGFuZ2VkKCkKIHsKICAgICBpZiAobV90YWdUaW1lckhhbmRsZXIpCiAgICAgICAgIGdfc291
cmNlX3JlbW92ZShtX3RhZ1RpbWVySGFuZGxlcik7CisKKyAgICBHUmVmUHRyPEdzdFRhZ0xpc3Q+
IHRhZ3M7CisgICAgZ19vYmplY3RfZ2V0KG1fcGFkLmdldCgpLCAidGFncyIsICZ0YWdzLm91dFB0
cigpLCBOVUxMKTsKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2sobV90YWdNdXRleCk7
CisgICAgICAgIG1fdGFncy5zd2FwKHRhZ3MpOworICAgIH0KKwogICAgIG1fdGFnVGltZXJIYW5k
bGVyID0gZ190aW1lb3V0X2FkZCgwLAogICAgICAgICByZWludGVycHJldF9jYXN0PEdTb3VyY2VG
dW5jPih0cmFja1ByaXZhdGVUYWdzQ2hhbmdlVGltZW91dENhbGxiYWNrKSwgdGhpcyk7CiB9CkBA
IC0xNDksNyArMTYwLDEwIEBAIHZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6bm90aWZ5
VHJhY2tPZlRhZ3NDaGFuZ2VkKCkKIAogICAgIFRyYWNrUHJpdmF0ZUJhc2VDbGllbnQqIGNsaWVu
dCA9IG1fb3duZXItPmNsaWVudCgpOwogICAgIEdSZWZQdHI8R3N0VGFnTGlzdD4gdGFnczsKLSAg
ICBnX29iamVjdF9nZXQobV9wYWQuZ2V0KCksICJ0YWdzIiwgJnRhZ3Mub3V0UHRyKCksIE5VTEwp
OworICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX3RhZ011dGV4KTsKKyAgICAgICAg
dGFncy5zd2FwKG1fdGFncyk7CisgICAgfQogICAgIGlmICghdGFncykKICAgICAgICAgcmV0dXJu
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuaAppbmRleCA0ZmFm
OWIyNTg3NTIyODY2ZGE4ZDZmNzdkZTNjOTQ1NzM5OTIyY2YzLi4xZTNiOGM4OTg4YjJmYzdmMTJl
Njc5MTMzYzljYTA3NDc0NjFhM2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNl
R1N0cmVhbWVyLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShH
U1RSRUFNRVIpICYmIEVOQUJMRShWSURFT19UUkFDSykKIAogI2luY2x1ZGUgIkdSZWZQdHJHU3Ry
ZWFtZXIuaCIKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw2ICs2
OCw5IEBAIHByaXZhdGU6CiAgICAgVHJhY2tQcml2YXRlQmFzZSogbV9vd25lcjsKICAgICBndWlu
dCBtX2FjdGl2ZVRpbWVySGFuZGxlcjsKICAgICBndWludCBtX3RhZ1RpbWVySGFuZGxlcjsKKwor
ICAgIE11dGV4IG1fdGFnTXV0ZXg7CisgICAgR1JlZlB0cjxHc3RUYWdMaXN0PiBtX3RhZ3M7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218879</attachid>
            <date>2013-12-10 10:12:04 -0800</date>
            <delta_ts>2013-12-10 10:51:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125411-20131210191202.patch</filename>
            <type>text/plain</type>
            <size>5685</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjYzMyMjc0NTQwYzIz
YzVjODM5ZWM4ZDMxNjQ2MzJiNzIxZGUzNi4uMTZhMTUzZWNkYTc4YWJmZmI2MDhkZGZjMjhiNWEz
NTFjOTc5OTliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTEyLTEwICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBbR1RLXVtHU3RyZWFt
ZXJdIG1lZGlhL3ZpZGVvLXByZWxvYWQuaHRtbCBpcyBmbGFraWx5IGNyYXNoaW5nIG9uIFdLMgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NDExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2UgdGhpcyBmaXhlcyBmbGFrZXluZXNzIGluIGV4aXN0aW5nIHRlc3RzIChtZWRp
YS92aWRlby1wcmVsb2FkLmh0bWwsIGFuZCB2YXJpb3VzIHRlc3RzIGluIG1lZGlhL3RyYWNrL3th
dWRpbyxpbi1iYW5kLHZpZGVvfSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVGV4dENvbWJpbmVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdFRleHRDb21i
aW5lclBhZEdldFByb3BlcnR5KTogQ29weSB0YWcgbGlzdCB0byBwcmV2ZW50IGNvbmN1cnJlbnQg
bW9kaWZpY2F0aW9uIHByb2JsZW1zLgorICAgICAgICAod2Via2l0VGV4dENvbWJpbmVyUGFkRXZl
bnQpOiBBZGQgbG9ja2luZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFja1By
aXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKTogQ2FsbCB0YWdz
Q2hhbmdlZCgpIGJlY2F1c2Ugd2UgbmVlZCBpdCB0byBzZXR1cCBtX3RhZ3MuCisgICAgICAgIChX
ZWJDb3JlOjpUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpkaXNjb25uZWN0KTogQ2xlYXIgbV90
YWdzLgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0No
YW5nZWQpOiBMb29rdXAgdGhlIHRhZ3Mgd2hpbGUgd2UncmUgaW4gdGhpcyBjYWxsYmFjaywgYmVj
YXVzZSBpdCdzIHRoZSBvbmx5IHRpbWUgd2UgY2FuIGd1YXJhbnRlZSB0aGF0IHRoZSBpbnB1dC1z
ZWxlY3RvciB3b24ndCB1bnJlZiB0aGVtLgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tQcml2YXRl
QmFzZUdTdHJlYW1lcjo6bm90aWZ5VHJhY2tPZlRhZ3NDaGFuZ2VkKTogVXNlIG1fdGFncy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJl
YW1lci5oOiBBZGQgbV90YWdzIGFuZCBhIG11dGV4LgorCiAyMDEzLTEyLTEwICBSb2JlcnQgU2lw
a2EgIDxzaXBrYUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW25peF1bY3VybF0gQnVpbGRm
aXggYWZ0ZXIgcjE2MDMxMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1RleHRDb21iaW5lckdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVGV4dENvbWJpbmVyR1N0cmVhbWVyLmNwcApp
bmRleCBkOTYzMjY4ZmU0MmIzYTY2NDJiZTUzOGIzOWEyOTkwZGUwODVmOTBkLi4zMzljYTM3ZWI4
ZDk4ZDk1NTFjOTdlNWIwOGJhOWM0M2ViMzY1M2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVGV4dENvbWJpbmVyR1N0cmVhbWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVGV4dENvbWJp
bmVyR1N0cmVhbWVyLmNwcApAQCAtMTExLDcgKzExMSw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFRl
eHRDb21iaW5lclBhZEdldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcGVydHlJ
ZCwKICAgICBzd2l0Y2ggKHByb3BlcnR5SWQpIHsKICAgICBjYXNlIFBST1BfUEFEX1RBR1M6CiAg
ICAgICAgIEdTVF9PQkpFQ1RfTE9DSyhvYmplY3QpOwotICAgICAgICBnX3ZhbHVlX3NldF9ib3hl
ZCh2YWx1ZSwgcGFkLT50YWdzKTsKKyAgICAgICAgaWYgKHBhZC0+dGFncykKKyAgICAgICAgICAg
IGdfdmFsdWVfdGFrZV9ib3hlZCh2YWx1ZSwgZ3N0X3RhZ19saXN0X2NvcHkocGFkLT50YWdzKSk7
CiAgICAgICAgIEdTVF9PQkpFQ1RfVU5MT0NLKG9iamVjdCk7CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CkBAIC0yMDIsMTAgKzIwMywxMyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0VGV4
dENvbWJpbmVyUGFkRXZlbnQoR3N0UGFkKiBwYWQsIEdzdE9iamVjdCogcGFyZW50LCBHc3RFdgog
ICAgICAgICBnc3RfZXZlbnRfcGFyc2VfdGFnKGV2ZW50LCAmdGFncyk7CiAgICAgICAgIEFTU0VS
VCh0YWdzKTsKIAorICAgICAgICBHU1RfT0JKRUNUX0xPQ0socGFkKTsKICAgICAgICAgaWYgKCFj
b21iaW5lclBhZC0+dGFncykKICAgICAgICAgICAgIGNvbWJpbmVyUGFkLT50YWdzID0gZ3N0X3Rh
Z19saXN0X2NvcHkodGFncyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGdzdF90YWdfbGlz
dF9pbnNlcnQoY29tYmluZXJQYWQtPnRhZ3MsIHRhZ3MsIEdTVF9UQUdfTUVSR0VfUkVQTEFDRSk7
CisgICAgICAgIEdTVF9PQkpFQ1RfVU5MT0NLKHBhZCk7CisKICAgICAgICAgZ19vYmplY3Rfbm90
aWZ5KEdfT0JKRUNUKHBhZCksICJ0YWdzIik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1By
aXZhdGVCYXNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcAppbmRleCBiZDdhNjhkYzVl
ZGU3MjQyNzZlZmJhYjdiN2UwNjU5MGYxNTA0NmZhLi5hNmY5MjdmNzZlZGE0NTQyZDNlMjY4ZGJk
MGM0ZThmZGM5YzdkMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3Ry
ZWFtZXIuY3BwCkBAIC03NSw3ICs3NSw5IEBAIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRy
YWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tQcml2YXRlQmFzZSogb3duZXIsIGdpCiAgICAg
Z19zaWduYWxfY29ubmVjdChtX3BhZC5nZXQoKSwgIm5vdGlmeTo6YWN0aXZlIiwgR19DQUxMQkFD
Syh0cmFja1ByaXZhdGVBY3RpdmVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25h
bF9jb25uZWN0KG1fcGFkLmdldCgpLCAibm90aWZ5Ojp0YWdzIiwgR19DQUxMQkFDSyh0cmFja1By
aXZhdGVUYWdzQ2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiAKLSAgICBub3RpZnlUcmFja09mVGFn
c0NoYW5nZWQoKTsKKyAgICAvLyBXZSBjYW4ndCBjYWxsIG5vdGlmeVRyYWNrT2ZUYWdzQ2hhbmdl
ZCgpIGRpcmVjdGx5LCBiZWNhdXNlIHdlIG5lZWQgdGFnc0NoYW5nZWQoKQorICAgIC8vIHRvIHNl
dHVwIG1fdGFncy4KKyAgICB0YWdzQ2hhbmdlZCgpOwogfQogCiBUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyOjp+VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcigpCkBAIC0xMDAsNiArMTAyLDcgQEAg
dm9pZCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpkaXNjb25uZWN0KCkKICAgICAgICAgZ19z
b3VyY2VfcmVtb3ZlKG1fdGFnVGltZXJIYW5kbGVyKTsKIAogICAgIG1fcGFkLmNsZWFyKCk7Cisg
ICAgbV90YWdzLmNsZWFyKCk7CiB9CiAKIHZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6
YWN0aXZlQ2hhbmdlZCgpCkBAIC0xMTQsNiArMTE3LDE0IEBAIHZvaWQgVHJhY2tQcml2YXRlQmFz
ZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQoKQogewogICAgIGlmIChtX3RhZ1RpbWVySGFuZGxlcikK
ICAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fdGFnVGltZXJIYW5kbGVyKTsKKworICAgIEdSZWZQ
dHI8R3N0VGFnTGlzdD4gdGFnczsKKyAgICBnX29iamVjdF9nZXQobV9wYWQuZ2V0KCksICJ0YWdz
IiwgJnRhZ3Mub3V0UHRyKCksIE5VTEwpOworICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9j
ayhtX3RhZ011dGV4KTsKKyAgICAgICAgbV90YWdzLnN3YXAodGFncyk7CisgICAgfQorCiAgICAg
bV90YWdUaW1lckhhbmRsZXIgPSBnX3RpbWVvdXRfYWRkKDAsCiAgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8R1NvdXJjZUZ1bmM+KHRyYWNrUHJpdmF0ZVRhZ3NDaGFuZ2VUaW1lb3V0Q2FsbGJhY2sp
LCB0aGlzKTsKIH0KQEAgLTE0OSw3ICsxNjAsMTAgQEAgdm9pZCBUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyOjpub3RpZnlUcmFja09mVGFnc0NoYW5nZWQoKQogCiAgICAgVHJhY2tQcml2YXRlQmFz
ZUNsaWVudCogY2xpZW50ID0gbV9vd25lci0+Y2xpZW50KCk7CiAgICAgR1JlZlB0cjxHc3RUYWdM
aXN0PiB0YWdzOwotICAgIGdfb2JqZWN0X2dldChtX3BhZC5nZXQoKSwgInRhZ3MiLCAmdGFncy5v
dXRQdHIoKSwgTlVMTCk7CisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrKG1fdGFnTXV0
ZXgpOworICAgICAgICB0YWdzLnN3YXAobV90YWdzKTsKKyAgICB9CiAgICAgaWYgKCF0YWdzKQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1l
ci5oCmluZGV4IDRmYWY5YjI1ODc1MjI4NjZkYThkNmY3N2RlM2M5NDU3Mzk5MjJjZjMuLjFlM2I4
Yzg5ODhiMmZjN2YxMmU2NzkxMzNjOWNhMDc0NzQ2MWEzZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVh
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Ry
YWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuaApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShW
SURFTykgJiYgVVNFKEdTVFJFQU1FUikgJiYgRU5BQkxFKFZJREVPX1RSQUNLKQogCiAjaW5jbHVk
ZSAiR1JlZlB0ckdTdHJlYW1lci5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTY3LDYgKzY4LDkgQEAgcHJpdmF0ZToKICAgICBUcmFja1ByaXZhdGVCYXNlKiBtX293
bmVyOwogICAgIGd1aW50IG1fYWN0aXZlVGltZXJIYW5kbGVyOwogICAgIGd1aW50IG1fdGFnVGlt
ZXJIYW5kbGVyOworCisgICAgTXV0ZXggbV90YWdNdXRleDsKKyAgICBHUmVmUHRyPEdzdFRhZ0xp
c3Q+IG1fdGFnczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>