<?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>29620</bug_id>
          
          <creation_ts>2009-09-21 16:00:47 -0700</creation_ts>
          <short_desc>SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds)</short_desc>
          <delta_ts>2010-12-15 13:35:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antonm</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>krit</cc>
    
    <cc>mrowe</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>148880</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-21 16:00:47 -0700</bug_when>
    <thetext>A subset of SVG tests fail randomly on the build bots:

http://build.webkit.org/results/Leopard%20Intel%20Release%20(Tests)/r48598%20(5194)/results.html

The ones that fail are usually:

svg/custom/group-opacity.svg
svg/custom/image-with-aspect-ratio-stretch.svg
svg/custom/inner-percent.svg
svg/custom/invalid-css.svg
svg/custom/invalid-fill-hex.svg
svg/custom/invalid-fill.svg

In every case, the failure is a red-&gt;green color difference:
[color=#FF0000] -&gt; [color=#008000]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148883</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:05:18 -0700</bug_when>
    <thetext>I could have sworn we had a bug about this already, but searching just now I don&apos;t see one.  Mark would know.

I think we should just skip them.  IIRC Mark did some investigation on the bot and was unable to find a cause.  I&apos;ve never seen them fail locally, but failing on the bot is nearly as bad as tools which depend on the tree state will get false-failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148884</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-21 16:08:27 -0700</bug_when>
    <thetext>This seems like a genuine bug; I don&apos;t think we should just skip them. I can reproduce this locally with a few iterations of the tests and a release build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148887</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-21 16:12:08 -0700</bug_when>
    <thetext>I&apos;m certain that we had a bug about this too but couldn&apos;t find it when looking.  The failures are in no way specific to the bots so they&apos;re definitely worth investigating before being skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148888</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-21 16:13:01 -0700</bug_when>
    <thetext>Bug 26219.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149118</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-22 10:55:20 -0700</bug_when>
    <thetext>The difference in the test result stems from a behavioral fork in StyledElement::attributeChanged() when parsing the &apos;fill&apos; attribute. When the test succeeds, the call to getMappedAttributeDecl() returns null. When it fails, getMappedAttributeDecl() returns something (from an earlier test?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149273</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-22 16:52:59 -0700</bug_when>
    <thetext>The mysterious green is coming from fill-SVGPaint-interface.svg, which does this:

        var fill = rect.getPresentationAttribute(&apos;fill&apos;);
        fill.setRGBColor(&quot;green&quot;);

This is touching a CSSMappedAttributeDeclaration which is in the mapped attribute cache. That&apos;s bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149275</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-22 17:04:46 -0700</bug_when>
    <thetext>Bug 18512 was supposed to fix this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149279</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-22 17:13:16 -0700</bug_when>
    <thetext>When it fails it&apos;s not hitting the !cssSVGAttr-&gt;style()-&gt;hasOneRef() case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149454</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-23 11:07:10 -0700</bug_when>
    <thetext>A huge thank you to simon for the investigation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158204</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 08:55:11 -0700</bug_when>
    <thetext>Sigh.  This started occurring much more frequently on the bots as of yesterday.  I&apos;ll try to find time today to look more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158304</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 12:04:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/browser/trunk/WebCore/svg/SVGStyledElement.cpp#L243

is the code in question.  Note there is already a FIXME there:
    // FIXME: Is it possible that the style will not be shared at the time this
    // is called, but a later addition to the DOM will make it shared?
    if (!cssSVGAttr-&gt;style()-&gt;hasOneRef()) {
        cssSVGAttr-&gt;setDecl(0);
        int propId = SVGStyledElement::cssPropertyIdForSVGAttributeName(cssSVGAttr-&gt;name());
        addCSSProperty(cssSVGAttr, propId, cssSVGAttr-&gt;value());
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158305</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 12:07:22 -0700</bug_when>
    <thetext>http://www.w3.org/TR/SVG/types.html#InterfaceSVGStylable
is the spec definition of getPresentationAttribute:

getPresentationAttribute
Returns the base (i.e., static) value of a given presentation attribute as an object of type CSSValue. The returned object is live; changes to the objects represent immediate changes to the objects to which the CSSValue is attached.

I&apos;m not sure exactly what to do here, but I&apos;ll make an attempt and then ask Hyatt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158318</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 12:35:38 -0700</bug_when>
    <thetext>I still don&apos;t understand what&apos;s getting shared here.  MappedAttribute?  CSSValue?  MappedAttributeDecl?  What is surviving between tests and being re-used here?

Some mapping of green -&gt; a color value I think.  I&apos;m just not sure which class is storing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158324</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-27 12:52:23 -0700</bug_when>
    <thetext>The shared object is a CSSMappedAttributeDeclaration, which is pointed to by the MappedAttribute. The CSSMappedAttributeDeclaration lives in the cache (mappedAttributeDecls) managed by StyledElement.

CSSMappedAttributeDeclaration  is a CSSStyleDeclaration, which returns a reference to a live CSSValue via getPropertyCSSValue().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158342</commentid>
    <comment_count>15</comment_count>
      <attachid>41979</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 13:50:36 -0700</bug_when>
    <thetext>Created attachment 41979
Speculative fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158343</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 13:52:10 -0700</bug_when>
    <thetext>Do I need to call:
        setNeedsStyleRecalc();
or
        if (namedAttrMap)
            mappedAttributes()-&gt;declRemoved();
?

Grepping through the source code for setDecl(0) yields conflicting examples.  I&apos;m not really sure when declRemoved() and declAdded() should be called.  I think those functions probably need clearer names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158344</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 13:53:37 -0700</bug_when>
    <thetext>Do you have recommended steps for me to reproduce this locally?  Ideally we would come up with a test which always failed due to this.  I&apos;m not sure I yet fully understand what&apos;s going on enough to create one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158348</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-27 13:58:14 -0700</bug_when>
    <thetext>I was able to reproduce this reliably by paring down the tests in svg/custom, but keeping fill-SVGPaint-interface.svg and the tests listed in comment 1.

I&apos;m not sure you can test this in a single test, unless you do something cunning with JS to stuff the cache, then mutate the value, then re-use that cached attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158354</commentid>
    <comment_count>19</comment_count>
      <attachid>41982</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 14:04:45 -0700</bug_when>
    <thetext>Created attachment 41982
Cunning test case.

I am cunning.  Here is a 100% reproducible case.  I&apos;ll make sure my fix fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158364</commentid>
    <comment_count>20</comment_count>
      <attachid>41988</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 14:25:16 -0700</bug_when>
    <thetext>Created attachment 41988
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158368</commentid>
    <comment_count>21</comment_count>
      <attachid>41988</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-10-27 14:27:28 -0700</bug_when>
    <thetext>Comment on attachment 41988
Patch v1

Oh that simple testcase exposes the bug? It makes me cry :(
r=me, looks sane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158370</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-27 14:36:05 -0700</bug_when>
    <thetext>Simon said this looked good to him too, so I&quot;ll land this and email hyatt so that he sees this go by.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158425</commentid>
    <comment_count>23</comment_count>
      <attachid>41988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 17:18:22 -0700</bug_when>
    <thetext>Comment on attachment 41988
Patch v1

Clearing flags on attachment: 41988

Committed r50185: &lt;http://trac.webkit.org/changeset/50185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158426</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 17:18:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41979</attachid>
            <date>2009-10-27 13:50:36 -0700</date>
            <delta_ts>2009-10-27 14:25:07 -0700</delta_ts>
            <desc>Speculative fix</desc>
            <filename>bug-29620-20091027135035.patch</filename>
            <type>text/plain</type>
            <size>1728</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9z
dmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggOThiNjQ1OS4uNjk2MDUxOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkRWxlbWVudC5jcHAKQEAgLTI0NSwyMCArMjQ1LDIzIEBAIFBhc3NSZWZQdHI8Q1NTVmFs
dWU+IFNWR1N0eWxlZEVsZW1lbnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBTdHJp
bmcmIG5hCiAgICAgaWYgKCFtYXBwZWRBdHRyaWJ1dGVzKCkpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgQXR0cmlidXRlKiBhdHRyID0gbWFwcGVkQXR0cmlidXRlcygpLT5nZXRBdHRyaWJ1dGVJ
dGVtKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIG5hbWUsIG51bGxBdG9tKSk7CisgICAgUXVhbGlm
aWVkTmFtZSBhdHRyaWJ1dGVOYW1lKG51bGxBdG9tLCBuYW1lLCBudWxsQXRvbSk7CisgICAgQXR0
cmlidXRlKiBhdHRyID0gbWFwcGVkQXR0cmlidXRlcygpLT5nZXRBdHRyaWJ1dGVJdGVtKGF0dHJp
YnV0ZU5hbWUpOwogICAgIGlmICghYXR0ciB8fCAhYXR0ci0+aXNNYXBwZWRBdHRyaWJ1dGUoKSB8
fCAhYXR0ci0+c3R5bGUoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBNYXBwZWRBdHRyaWJ1
dGUqIGNzc1NWR0F0dHIgPSBzdGF0aWNfY2FzdDxNYXBwZWRBdHRyaWJ1dGUqPihhdHRyKTsKLQot
ICAgIC8vIEZJWE1FOiBJcyBpdCBwb3NzaWJsZSB0aGF0IHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBz
aGFyZWQgYXQgdGhlIHRpbWUgdGhpcwotICAgIC8vIGlzIGNhbGxlZCwgYnV0IGEgbGF0ZXIgYWRk
aXRpb24gdG8gdGhlIERPTSB3aWxsIG1ha2UgaXQgc2hhcmVkPwotICAgIGlmICghY3NzU1ZHQXR0
ci0+c3R5bGUoKS0+aGFzT25lUmVmKCkpIHsKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMg
YSBwb2ludGVyIHRvIGEgQ1NTVmFsdWUgd2hpY2ggY2FuIGJlIG11dGF0ZWQgZnJvbSBKYXZhU2Ny
aXB0LgorICAgIC8vIElmIHRoZSBhc3NvY2lhdGVkIE1hcHBlZEF0dHJpYnV0ZSB1c2VzIHRoZSBz
YW1lIENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uCisgICAgLy8gYXMgU3R5bGVkRWxlbWVu
dCdzIG1hcHBlZEF0dHJpYnV0ZURlY2xzIGNhY2hlLCBjcmVhdGUgYSBuZXcgQ1NTTWFwcGVkQXR0
cmlidXRlRGVjbGFyYXRpb24KKyAgICAvLyBiZWZvcmUgcmV0dXJuaW5nIHNvIHRoYXQgYW55IG1v
ZGlmaWNhdGlvbnMgdG8gdGhlIENTU1ZhbHVlIHdpbGwgbm90IGFmZmVjdCBvdGhlciBhdHRyaWJ1
dGVzLgorICAgIE1hcHBlZEF0dHJpYnV0ZUVudHJ5IGVudHJ5OworICAgIG1hcFRvRW50cnkoYXR0
cmlidXRlTmFtZSwgZW50cnkpOworICAgIGlmIChnZXRNYXBwZWRBdHRyaWJ1dGVEZWNsKGVudHJ5
LCBjc3NTVkdBdHRyKSA9PSBjc3NTVkdBdHRyLT5kZWNsKCkpIHsKICAgICAgICAgY3NzU1ZHQXR0
ci0+c2V0RGVjbCgwKTsKICAgICAgICAgaW50IHByb3BJZCA9IFNWR1N0eWxlZEVsZW1lbnQ6OmNz
c1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNzc1NWR0F0dHItPm5hbWUoKSk7CiAgICAg
ICAgIGFkZENTU1Byb3BlcnR5KGNzc1NWR0F0dHIsIHByb3BJZCwgY3NzU1ZHQXR0ci0+dmFsdWUo
KSk7CiAgICAgfQotCiAgICAgcmV0dXJuIGNzc1NWR0F0dHItPnN0eWxlKCktPmdldFByb3BlcnR5
Q1NTVmFsdWUobmFtZSk7CiB9
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>41982</attachid>
            <date>2009-10-27 14:04:45 -0700</date>
            <delta_ts>2009-10-27 14:04:45 -0700</delta_ts>
            <desc>Cunning test case.</desc>
            <filename>test.svg</filename>
            <type>image/svg+xml</type>
            <size>402</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIj4KICAgIDxyZWN0IGlkPSJyZWN0IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsbD0iZ3JlZW4iIC8+CiAgICA8c2NyaXB0PgogICAgPCFbQ0RBVEFbCiAgICAgICAg
dmFyIHJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjdCIpOwogICAgICAgIHZhciBm
aWxsID0gcmVjdC5nZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoJ2ZpbGwnKTsKICAgICAgICBmaWxs
LnNldFJHQkNvbG9yKCJyZWQiKTsKICAgICAgICBdXT4KICAgIDwvc2NyaXB0PgogICAgPHJlY3Qg
eD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiAvPgo8L3N2
Zz4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41988</attachid>
            <date>2009-10-27 14:25:16 -0700</date>
            <delta_ts>2009-10-27 17:18:22 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-29620-20091027142515.patch</filename>
            <type>text/plain</type>
            <size>5107</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ODA3ZDc3Li4wNGQ2YWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMTAt
MjcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmdldFByZXNlbnRh
dGlvbkF0dHJpYnV0ZSgpIGNhbiByZXR1cm4gYSBzaGFyZWQgQ1NTVmFsdWUgKHNvbWUgU1ZHIHRl
c3RzIHJhbmRvbWx5IGZhaWwgb24gdGhlIGJvdCwgYW5kIGluIHJlbGVhc2UgYnVpbGRzKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk2MjAKKworICAg
ICAgICAqIHN2Zy9kb20vZ2V0UHJlc2VudGF0aW9uQXR0cmlidXRlLWNhY2hlLWNvcnJ1cHRpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL2dldFByZXNlbnRhdGlvbkF0
dHJpYnV0ZS1jYWNoZS1jb3JydXB0aW9uLnN2ZzogQWRkZWQuCisKIDIwMDktMTAtMjcgIEtlaXNo
aSBIYXR0b3JpICA8Y2FzZXkuaGF0dG9yaUBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGUtY2FjaGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvZG9tL2dldFByZXNlbnRhdGlvbkF0dHJpYnV0ZS1jYWNoZS1jb3JydXB0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWYyMmU5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRQcmVzZW50YXRpb25B
dHRyaWJ1dGUtY2FjaGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRQcmVzZW50YXRpb25BdHRyaWJ1
dGUtY2FjaGUtY29ycnVwdGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL2dldFByZXNlbnRh
dGlvbkF0dHJpYnV0ZS1jYWNoZS1jb3JydXB0aW9uLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5hNTRiOGVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2RvbS9nZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUtY2FjaGUtY29ycnVwdGlvbi5zdmcKQEAgLTAs
MCArMSwyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPHJlY3QgaWQ9ImZpcnN0IiB4PSIwIiB5PSIwIiB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iIC8+CisgICAgPHNjcmlwdD4KKyAgICA8
IVtDREFUQVsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgLy8gVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBtdXRhdGluZyB0aGUgQ1NTVmFsdWUgcmV0dXJuZWQKKyAgICAvLyBieSBnZXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGUgZG9lcyBub3QgYWZmZWN0IGxhdGVyIG1hcHBlZCBhdHRyaWJ1
dGUgdmFsdWVzLgorICAgIC8vIFNlZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI5NjIwLgorICAgIHZhciBmaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZpcnN0IikuZ2V0UHJlc2VudGF0aW9uQXR0cmlidXRlKCdmaWxsJyk7CisgICAgZmlsbC5zZXRS
R0JDb2xvcigicmVkIik7CisgICAgXV0+CisgICAgPC9zY3JpcHQ+CisgICAgPHJlY3QgaWQ9InNl
Y29uZCIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiAv
PgorICAgIDx0ZXh0IGlkPSJyZXN1bHQiIHg9IjEwIiB5PSIzMCI+RkFJTDwvdGV4dD4KKyAgICA8
c2NyaXB0PgorICAgIDwhW0NEQVRBWworICAgIHZhciBmaWxsVmFsdWUgPSB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vjb25kIiksIG51bGwpWydmaWxs
J107CisgICAgaWYgKGZpbGxWYWx1ZSA9PSAiIzAwODAwMCIpIHsKKyAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLnRleHRDb250ZW50ID0gIlBBU1MiOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS50ZXh0Q29udGVu
dCA9ICJGQUlMOiBleHBlY3RlZCAjMDA4MDAwIGdvdCAiICsgZmlsbFZhbHVlOworICAgIH0KKyAg
ICBdXT4KKyAgICA8L3NjcmlwdD4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNzUzZGMyLi44NGE0YWY4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDA5LTEwLTI3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkdTdHlsZWRFbGVtZW50
OjpnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoKSBjYW4gcmV0dXJuIGEgc2hhcmVkIENTU1ZhbHVl
IChzb21lIFNWRyB0ZXN0cyByYW5kb21seSBmYWlsIG9uIHRoZSBib3QsIGFuZCBpbiByZWxlYXNl
IGJ1aWxkcykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5NjIwCisKKyAgICAgICAgU1ZHIHdhcyBtb2RpZnlpbmcgQ1NTVmFsdWVzIGNhY2hlZCBvZiBv
ZmYgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb25zLgorICAgICAgICBUaGlzIHBhdGNoIGZp
eGVzIHRoZSBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBhIG5ldyBDU1NNYXBwZWRBdHRyaWJ1dGVE
ZWNsYXJhdGlvbiBpcworICAgICAgICBjcmVhdGVkIGJlZm9yZSByZXR1cm5pbmcgYSBDU1NWYWx1
ZSB0aGF0IEphdmFTY3JpcHQgY2FuIG1vZGlmeS4KKworICAgICAgICBUZXN0OiBzdmcvZG9tL2dl
dFByZXNlbnRhdGlvbkF0dHJpYnV0ZS1jYWNoZS1jb3JydXB0aW9uLnN2ZworCisgICAgICAgICog
c3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxl
bWVudDo6Z2V0UHJlc2VudGF0aW9uQXR0cmlidXRlKToKKwogMjAwOS0xMC0yNyAgQnJpYW4gV2Vp
bnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgVGltIEhhdGNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50
LmNwcCBiL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IDk4YjY0NTkuLjY5
NjA1MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0yNDUsMjAgKzI0NSwyMyBAQCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBTVkdTdHlsZWRFbGVtZW50OjpnZXRQcmVzZW50YXRpb25BdHRy
aWJ1dGUoY29uc3QgU3RyaW5nJiBuYQogICAgIGlmICghbWFwcGVkQXR0cmlidXRlcygpKQogICAg
ICAgICByZXR1cm4gMDsKIAotICAgIEF0dHJpYnV0ZSogYXR0ciA9IG1hcHBlZEF0dHJpYnV0ZXMo
KS0+Z2V0QXR0cmlidXRlSXRlbShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBuYW1lLCBudWxsQXRv
bSkpOworICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZShudWxsQXRvbSwgbmFtZSwgbnVs
bEF0b20pOworICAgIEF0dHJpYnV0ZSogYXR0ciA9IG1hcHBlZEF0dHJpYnV0ZXMoKS0+Z2V0QXR0
cmlidXRlSXRlbShhdHRyaWJ1dGVOYW1lKTsKICAgICBpZiAoIWF0dHIgfHwgIWF0dHItPmlzTWFw
cGVkQXR0cmlidXRlKCkgfHwgIWF0dHItPnN0eWxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgTWFwcGVkQXR0cmlidXRlKiBjc3NTVkdBdHRyID0gc3RhdGljX2Nhc3Q8TWFwcGVkQXR0cmli
dXRlKj4oYXR0cik7Ci0KLSAgICAvLyBGSVhNRTogSXMgaXQgcG9zc2libGUgdGhhdCB0aGUgc3R5
bGUgd2lsbCBub3QgYmUgc2hhcmVkIGF0IHRoZSB0aW1lIHRoaXMKLSAgICAvLyBpcyBjYWxsZWQs
IGJ1dCBhIGxhdGVyIGFkZGl0aW9uIHRvIHRoZSBET00gd2lsbCBtYWtlIGl0IHNoYXJlZD8KLSAg
ICBpZiAoIWNzc1NWR0F0dHItPnN0eWxlKCktPmhhc09uZVJlZigpKSB7CisgICAgLy8gVGhpcyBm
dW5jdGlvbiByZXR1cm5zIGEgcG9pbnRlciB0byBhIENTU1ZhbHVlIHdoaWNoIGNhbiBiZSBtdXRh
dGVkIGZyb20gSmF2YVNjcmlwdC4KKyAgICAvLyBJZiB0aGUgYXNzb2NpYXRlZCBNYXBwZWRBdHRy
aWJ1dGUgdXNlcyB0aGUgc2FtZSBDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbgorICAgIC8v
IGFzIFN0eWxlZEVsZW1lbnQncyBtYXBwZWRBdHRyaWJ1dGVEZWNscyBjYWNoZSwgY3JlYXRlIGEg
bmV3IENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uCisgICAgLy8gYmVmb3JlIHJldHVybmlu
ZyBzbyB0aGF0IGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBDU1NWYWx1ZSB3aWxsIG5vdCBhZmZl
Y3Qgb3RoZXIgYXR0cmlidXRlcy4KKyAgICBNYXBwZWRBdHRyaWJ1dGVFbnRyeSBlbnRyeTsKKyAg
ICBtYXBUb0VudHJ5KGF0dHJpYnV0ZU5hbWUsIGVudHJ5KTsKKyAgICBpZiAoZ2V0TWFwcGVkQXR0
cmlidXRlRGVjbChlbnRyeSwgY3NzU1ZHQXR0cikgPT0gY3NzU1ZHQXR0ci0+ZGVjbCgpKSB7CiAg
ICAgICAgIGNzc1NWR0F0dHItPnNldERlY2woMCk7CiAgICAgICAgIGludCBwcm9wSWQgPSBTVkdT
dHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShjc3NTVkdBdHRy
LT5uYW1lKCkpOwogICAgICAgICBhZGRDU1NQcm9wZXJ0eShjc3NTVkdBdHRyLCBwcm9wSWQsIGNz
c1NWR0F0dHItPnZhbHVlKCkpOwogICAgIH0KLQogICAgIHJldHVybiBjc3NTVkdBdHRyLT5zdHls
ZSgpLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKG5hbWUpOwogfQ==
</data>

          </attachment>
      

    </bug>

</bugzilla>