<?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>84657</bug_id>
          
          <creation_ts>2012-04-23 17:16:04 -0700</creation_ts>
          <short_desc>Crash or assertion failure (m_isAnimating) when adding another instance of a SMIL animated element while the animation is running</short_desc>
          <delta_ts>2012-10-17 21:43:32 -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>SVG</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>99678</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Philip Rogers">pdr</assigned_to>
          <cc>fmalita</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>tasak</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>608219</commentid>
    <comment_count>0</comment_count>
      <attachid>138466</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-04-23 17:16:04 -0700</bug_when>
    <thetext>Created attachment 138466
repro

I found this while working on https://bugs.webkit.org/show_bug.cgi?id=83856, but eventually discovered it happens on ToT too.

See the attached test case. Sometimes I have to refresh it once or twice before seeing the assertion:

ASSERTION FAILED: m_isAnimating
/Volumes/Data/Shared/src/WebKit/OpenSource/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h(92) : void WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt;::animValWillChange()
1   0x10a8a8dc7 void WebCore::SVGAnimatedTypeAnimator::executeAction&lt;WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt; &gt;(WebCore::SVGAnimatedTypeAnimator::AnimationAction, WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;, unsigned int, WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt;::ContentType*)
2   0x10a8a8a69 void WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType&lt;WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt; &gt;(WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;)
3   0x10a8a7c38 WebCore::SVGAnimatedLengthAnimator::animValWillChange(WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;)
4   0x10a8c9e20 WebCore::SVGAnimateElement::calculateAnimatedValue(float, unsigned int, WebCore::SVGSMILElement*)
5   0x10a8d3098 WebCore::SVGAnimationElement::updateAnimation(float, unsigned int, WebCore::SVGSMILElement*)
6   0x10a9af09f WebCore::SVGSMILElement::progress(WebCore::SMILTime, WebCore::SVGSMILElement*)
7   0x10a824d95 WebCore::SMILTimeContainer::updateAnimations(WebCore::SMILTime)
8   0x10a8244a7 WebCore::SMILTimeContainer::timerFired(WebCore::Timer&lt;WebCore::SMILTimeContainer&gt;*)
9   0x10a82f133 WebCore::Timer&lt;WebCore::SMILTimeContainer&gt;::fired()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608230</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-04-23 17:33:04 -0700</bug_when>
    <thetext>Oh, hey, it crashes instead if it&apos;s a release build:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028

0   com.apple.WebCore             	0x00007fff9069b864 void WebCore::SVGAnimatedTypeAnimator::executeAction&lt;WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt; &gt;(WebCore::SVGAnimatedTypeAnimator::AnimationAction, WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;, unsigned int, WebCore::SVGAnimatedPropertyTearOff&lt;WebCore::SVGLength&gt;::ContentType*) + 244
1   com.apple.WebCore             	0x00007fff906a420d WebCore::SVGAnimateElement::targetElementWillChange(WebCore::SVGElement*, WebCore::SVGElement*) + 141
2   com.apple.WebCore             	0x00007fff9070191b WebCore::SVGSMILElement::resetTargetElement() + 27
3   com.apple.WebCore             	0x00007fff8fda0718 WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget(WebCore::SVGElement*) + 104
4   com.apple.WebCore             	0x00007fff8fdae22d WebCore::SVGElement::removedFromDocument() + 29
5   com.apple.WebCore             	0x00007fff8fdae1cf WebCore::SVGStyledElement::removedFromDocument() + 31
6   com.apple.WebCore             	0x00007fff90129083 void WebCore::Private::addChildNodesToDeletionQueue&lt;WebCore::Node, WebCore::ContainerNode&gt;(WebCore::Node*&amp;, WebCore::Node*&amp;, WebCore::ContainerNode*) + 83
7   com.apple.WebCore             	0x00007fff8fc0aee8 void WebCore::removeAllChildrenInContainer&lt;WebCore::Node, WebCore::ContainerNode&gt;(WebCore::ContainerNode*) + 136
8   com.apple.WebCore             	0x00007fff8fc0ac21 WebCore::Document::removedLastRef() + 449
9   com.apple.WebCore             	0x00007fff904b0daf WebCore::JSNode::destroy(JSC::JSCell*) + 47
10  com.apple.JavaScriptCore      	0x00007fff89b215fe JSC::MarkedBlock::FreeCell* JSC::MarkedBlock::sweepHelper&lt;true&gt;(JSC::MarkedBlock::SweepMode) + 350
11  com.apple.JavaScriptCore      	0x00007fff89ace6cb JSC::Heap::sweep() + 107
12  com.apple.JavaScriptCore      	0x00007fff89acef57 JSC::Heap::collect(JSC::Heap::SweepToggle) + 151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608233</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-04-23 17:36:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/11305318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635454</commentid>
    <comment_count>3</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-05-28 16:41:46 -0700</bug_when>
    <thetext>I hit this working on a personal project recently :(. Are you currently working on this Tim?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635455</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-05-28 16:42:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I hit this working on a personal project recently :(. Are you currently working on this Tim?

Not at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726382</commentid>
    <comment_count>5</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-23 21:42:36 -0700</bug_when>
    <thetext>Even simpler repro:
&lt;svg&gt;
  &lt;rect id=&quot;rect&quot; x=&quot;100&quot; y=&quot;100&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;green&quot;&gt;
    &lt;animate attributeName=&quot;x&quot; from=&quot;100&quot; to=&quot;200&quot; dur=&quot;3s&quot; begin=&quot;0s&quot; /&gt;
  &lt;/rect&gt;
  &lt;use xlink:href=&quot;#rect&quot; x=&quot;200&quot; y=&quot;200&quot;&gt;
    &lt;animate attributeName=&quot;xlink:href&quot; to=&quot;#notrect&quot; begin=&quot;1s&quot; dur=&quot;3s&quot;/&gt;
  &lt;/use&gt;
&lt;/svg&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743921</commentid>
    <comment_count>6</comment_count>
      <attachid>169101</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-10-17 00:05:12 -0700</bug_when>
    <thetext>Created attachment 169101
Allow lazy initialization of SVG XML animated properties.

Finally getting a patch up for this!

I explored tracking the animating properties in the animator so that we could catch this case once instead of checking for it on every call to resetAnimValToBaseVal. Unfortunately the checks required ended up polluting the instance code which would affect performance outside animations. I also explored the naive approach of invalidating the entire tree when we dynamically add instances of animating elements (see comment in SVGElementInstance::invalidateAllInstancesOfElement about this) but, again, that ended up being terrible for performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743929</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-10-17 00:10:37 -0700</bug_when>
    <thetext>Philip, did you mean to cq+ this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743942</commentid>
    <comment_count>8</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-10-17 00:20:43 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Philip, did you mean to cq+ this?

I thought the queue waited on r+ but I may be mistaken. I&apos;ve removed cq+ just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744487</commentid>
    <comment_count>9</comment_count>
      <attachid>169101</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-10-17 12:06:08 -0700</bug_when>
    <thetext>Comment on attachment 169101
Allow lazy initialization of SVG XML animated properties.

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

&gt; LayoutTests/svg/animations/use-while-animating-crash.html:23
&gt; +            }, 20); // This needs to be at least 20 to ensure an animation cycle runs.

Do we not have a better way to do this? Events we can watch, or something? I cringe every time I see a non-0 setTimeout in a layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744514</commentid>
    <comment_count>10</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-10-17 12:49:46 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 169101 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169101&amp;action=review
&gt; 
&gt; &gt; LayoutTests/svg/animations/use-while-animating-crash.html:23
&gt; &gt; +            }, 20); // This needs to be at least 20 to ensure an animation cycle runs.
&gt; 
&gt; Do we not have a better way to do this? Events we can watch, or something? I cringe every time I see a non-0 setTimeout in a layout test.

Thanks for the review. It&apos;s unfortunate but every way to start an animation is guarded by a timer so I don&apos;t think we can avoid this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744532</commentid>
    <comment_count>11</comment_count>
      <attachid>169101</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 13:08:01 -0700</bug_when>
    <thetext>Comment on attachment 169101
Allow lazy initialization of SVG XML animated properties.

Clearing flags on attachment: 169101

Committed r131631: &lt;http://trac.webkit.org/changeset/131631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744533</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 13:08:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>138466</attachid>
            <date>2012-04-23 17:16:04 -0700</date>
            <delta_ts>2012-04-23 17:16:04 -0700</delta_ts>
            <desc>repro</desc>
            <filename>useanimate.svg</filename>
            <type>image/svg+xml</type>
            <size>1030</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPHNjcmlwdD4KICAgIGZ1bmN0aW9uIHRlc3QoKSB7
CiAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiwgInVzZSIpOwogICAgICAgIGEuc2V0QXR0cmlidXRlKCJ4IiwgIjEwMHB4
Iik7CiAgICAgICAgYS5zZXRBdHRyaWJ1dGUoInkiLCAiMzQwcHgiKTsKICAgICAgICBhLnNldEF0
dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCAiI3JlY3Qi
KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm90YXRlU3F1YXJlIikuYXBwZW5k
Q2hpbGQoYSk7CiAgICB9CiAgICBzZXRUaW1lb3V0KHRlc3QsIDEwMCk7Cjwvc2NyaXB0Pgo8ZyBp
ZD0icm90YXRlU3F1YXJlIj4KICAgIDxkZWZzPgogICAgICAgIDxyZWN0IGlkPSJyZWN0IiBmaWxs
PSIjQUZCQ0M3IiBzdHJva2U9IiM2NDY0NjQiIHN0cm9rZS13aWR0aD0iNXB4IiB4PSIxMDBweCIg
eT0iMTAwcHgiCiAgICAgICAgICAgIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+CiAgICAg
ICAgICAgIDxhbmltYXRlCiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVUeXBlPSJYTUwiCiAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ4IgogICAgICAgICAgICAgICAgZnJvbT0iMTAwIiB0
bz0iMCIKICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIxcyIKICAgICAgICAgICAgICAg
IHJlcGVhdENvdW50PSIxIi8+CiAgICAgICAgICAgIDwvcmVjdD4KICAgICAgICA8L2RlZnM+CiAg
ICAgICAgPHVzZSB4PSIxMDBweCIgeT0iMTIwcHgiIHhsaW5rOmhyZWY9IiNyZWN0Ii8+CiAgICAg
ICAgPHVzZSB4PSIxMDBweCIgeT0iMTBweCIgeGxpbms6aHJlZj0iI3JlY3QiLz4KICAgICAgICA8
dXNlIHg9IjEwMHB4IiB5PSIyMzBweCIgeGxpbms6aHJlZj0iI3JlY3QiLz4KICAgIDwvZz4KPC9z
dmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169101</attachid>
            <date>2012-10-17 00:05:12 -0700</date>
            <delta_ts>2012-10-17 13:08:01 -0700</delta_ts>
            <desc>Allow lazy initialization of SVG XML animated properties.</desc>
            <filename>84657.1.patch</filename>
            <type>text/plain</type>
            <size>6451</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTU1MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEwLTE2ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF6eSBpbml0aWFsaXph
dGlvbiBvZiBTVkcgWE1MIGFuaW1hdGVkIHByb3BlcnRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDY1NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYW5pbWF0aW5nIGEgcHJvcGVydHkgaW4g
dGhlIHNoYWRvdyB0cmVlLCBpbnN0YW5jZSBwcm9wZXJ0aWVzIGFuZCB0ZWFyb2ZmcyBhcmUgY3Jl
YXRlZAorICAgICAgICBidXQgdGhleSBzaW1wbHkgcmVmZXJlbmNlIHRoZSBhbmltYXRlZCBlbGVt
ZW50J3MgYW5pbWF0aW5nIHByb3BlcnRpZXMuCisKKyAgICAgICAgV2hlbiBzdGFydGluZyBhbiBh
bmltYXRpb24gZm9yIHRoZSBmaXJzdCB0aW1lIChzZWUgU1ZHQW5pbWF0ZUVsZW1lbnQ6OnJlc2V0
QW5pbWF0ZWRUeXBlKSwKKyAgICAgICAgd2UgaW5pdGlhbGl6ZSB0aGUgcm9vdCBwcm9wZXJ0eSBh
bmQgaW5zdGFuY2UgcHJvcGVydGllcyB1c2luZyBzdGFydEFuaW1WYWxBbmltYXRpb24oLi4uKS4K
KyAgICAgICAgSWYgYW4gaW5zdGFuY2UgcHJvcGVydHkgaXMgYWRkZWQgd2hpbGUgdGhlIHJvb3Qg
cHJvcGVydHkgaXMgYW5pbWF0aW5nLCB0aGlzIGluaXRpYWxpemF0aW9uCisgICAgICAgIHdpbGwg
bm90IG9jY3VyIGFuZCB3ZSBjcmFzaC4KKworICAgICAgICBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhl
IHJlc2V0QW5pbVZhbFRvQmFzZVZhbCBjb2RlcGF0aCB0byBzdGFydCAoYW5kIGluaXRpYWxpemUp
IGFuIGFuaW1hdGVkCisgICAgICAgIHByb3BlcnR5IGlmIGl0IGlzIG5vdCBhbHJlYWR5IGFuaW1h
dGluZy4gQWZ0ZXIgdGhpcyBwYXRjaCwgaW5zdGFuY2UgcHJvcGVydGllcyBjYW4gYmUgYWRkZWQK
KyAgICAgICAgaW4gdGhlIG1pZGRsZSBvZiBhbmltYXRpb24gYW5kIHRoZXkgd2lsbCBiZSBwcm9w
ZXJseSBzdGFydGVkL2luaXRpYWxpemVkLgorCisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25z
L3VzZS13aGlsZS1hbmltYXRpbmctY3Jhc2guaHRtbAorCisgICAgICAgICogc3ZnL1NWR0FuaW1h
dGVkVHlwZUFuaW1hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGVBbmlt
YXRvcjo6cmVzZXRGcm9tQmFzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
VHlwZUFuaW1hdG9yOjpyZXNldEZyb21CYXNlVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpleGVjdXRlQWN0aW9uKToKKwogMjAxMi0xMC0xNiAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbU2hhZG93IERPTV1b
VjhdIFdlYkNvcmU6OlY4RE9NV2luZG93OjppbnN0YWxsUGVyQ29udGV4dFByb3BlcnRpZXMoKSBp
cyBzbG93IHdoZW4gc2hhZG93RE9NRW5hYmxlZCBmbGFnIGlzIG9uLgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgJKHJldmlzaW9uIDEzMTUwNCkK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGVBbmltYXRvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTAsNyArMTUwLDEwIEBAIHByb3RlY3RlZDoKICAgICAgICAgQVNTRVJUKGFu
aW1hdGVkVHlwZXNbMF0ucHJvcGVydGllcy5zaXplKCkgPT0gMSk7CiAgICAgICAgIEFTU0VSVCh0
eXBlKTsKICAgICAgICAgQVNTRVJUKHR5cGUtPnR5cGUoKSA9PSBtX3R5cGUpOwotICAgICAgICAo
dHlwZS0+KmdldHRlcikoKSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBlPEFuaW1W
YWxUeXBlPihhbmltYXRlZFR5cGVzWzBdLnByb3BlcnRpZXNbMF0uZ2V0KCkpLT5jdXJyZW50QmFz
ZVZhbHVlKCk7CisgICAgICAgIHR5cGVuYW1lIEFuaW1WYWxUeXBlOjpDb250ZW50VHlwZSYgYW5p
bWF0ZWRUeXBlVmFsdWUgPSAodHlwZS0+KmdldHRlcikoKTsKKyAgICAgICAgYW5pbWF0ZWRUeXBl
VmFsdWUgPSBjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlwZT4oYW5p
bWF0ZWRUeXBlc1swXS5wcm9wZXJ0aWVzWzBdLmdldCgpKS0+Y3VycmVudEJhc2VWYWx1ZSgpOwor
CisgICAgICAgIGV4ZWN1dGVBY3Rpb248QW5pbVZhbFR5cGU+KFN0YXJ0QW5pbWF0aW9uQWN0aW9u
LCBhbmltYXRlZFR5cGVzLCAwLCAmYW5pbWF0ZWRUeXBlVmFsdWUpOwogICAgIH0KIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEFuaW1WYWxUeXBlPgpAQCAtMTk4LDYgKzIwMSw5IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgcGFpcjx0eXBlbmFtZSBBbmltVmFsVHlwZTE6OkNvbnRlbnRUeXBlLCB0eXBl
bmFtZSBBbmltVmFsVHlwZTI6OkNvbnRlbnRUeXBlPiYgYW5pbWF0ZWRUeXBlVmFsdWUgPSAodHlw
ZS0+KmdldHRlcikoKTsKICAgICAgICAgYW5pbWF0ZWRUeXBlVmFsdWUuZmlyc3QgPSBjYXN0QW5p
bWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlwZTE+KGFuaW1hdGVkVHlwZXNbMF0u
cHJvcGVydGllc1swXS5nZXQoKSktPmN1cnJlbnRCYXNlVmFsdWUoKTsKICAgICAgICAgYW5pbWF0
ZWRUeXBlVmFsdWUuc2Vjb25kID0gY2FzdEFuaW1hdGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8QW5p
bVZhbFR5cGUyPihhbmltYXRlZFR5cGVzWzBdLnByb3BlcnRpZXNbMV0uZ2V0KCkpLT5jdXJyZW50
QmFzZVZhbHVlKCk7CisKKyAgICAgICAgZXhlY3V0ZUFjdGlvbjxBbmltVmFsVHlwZTE+KFN0YXJ0
QW5pbWF0aW9uQWN0aW9uLCBhbmltYXRlZFR5cGVzLCAwLCAmYW5pbWF0ZWRUeXBlVmFsdWUuZmly
c3QpOworICAgICAgICBleGVjdXRlQWN0aW9uPEFuaW1WYWxUeXBlMj4oU3RhcnRBbmltYXRpb25B
Y3Rpb24sIGFuaW1hdGVkVHlwZXMsIDEsICZhbmltYXRlZFR5cGVWYWx1ZS5zZWNvbmQpOwogICAg
IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEFuaW1WYWxUeXBlMSwgdHlwZW5hbWUgQW5pbVZh
bFR5cGUyPgpAQCAtMjYyLDcgKzI2OCw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzd2l0Y2gg
KGFjdGlvbikgewogICAgICAgICAgICAgY2FzZSBTdGFydEFuaW1hdGlvbkFjdGlvbjoKICAgICAg
ICAgICAgICAgICBBU1NFUlQodHlwZSk7Ci0gICAgICAgICAgICAgICAgcHJvcGVydHktPmFuaW1h
dGlvblN0YXJ0ZWQodHlwZSk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm9wZXJ0eS0+aXNBbmlt
YXRpbmcoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHktPmFuaW1hdGlvblN0YXJ0ZWQo
dHlwZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFN0b3BBbmlt
YXRpb25BY3Rpb246CiAgICAgICAgICAgICAgICAgQVNTRVJUKCF0eXBlKTsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEzMTU1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTE2ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdvb2dsZS5j
b20+CisKKyAgICAgICAgQWxsb3cgbGF6eSBpbml0aWFsaXphdGlvbiBvZiBTVkcgWE1MIGFuaW1h
dGVkIHByb3BlcnRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NDY1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9hbmltYXRpb25zL3VzZS13aGlsZS1hbmltYXRpbmct
Y3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy91c2Ut
d2hpbGUtYW5pbWF0aW5nLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTE2ICBDc2FiYSBP
c3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEzMTUxNiBhbmQgcjEzMTU1MC4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvYW5pbWF0aW9ucy91c2Utd2hpbGUtYW5pbWF0aW5nLWNyYXNoLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2FuaW1hdGlvbnMv
dXNlLXdoaWxlLWFuaW1hdGluZy1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2FuaW1hdGlvbnMvdXNlLXdoaWxlLWFuaW1hdGlu
Zy1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1BBU1MKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3VzZS13aGlsZS1hbmltYXRpbmctY3Jhc2gu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2Utd2hpbGUt
YW5pbWF0aW5nLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy91c2Utd2hpbGUtYW5pbWF0aW5nLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBUZXN0IGZvciBXSzg0NjU3IC0gVGVz
dCBwYXNzZXMgaWYgdGhlIFNWRyBhbmltYXRpb24gZG9lcyBub3QgY3Jhc2ggYW5kICJQQVNTIiBp
cyBwcmludGVkLiAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGNy
YXNoKCkgeworICAgICAgICB2YXIgdXNlUmVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndXNlUmVjdCcpOworICAgICAgICB1c2VSZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGVOUygi
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVmIiwgIiNyZWN0Iik7CisgICAgfQor
ICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB9CisgICAgICAgIHZhciBzdmdFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2ZycpOworICAgICAgICB3aW5kb3cuc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGNyYXNoKCk7CisgICAgICAgICAgICB3
aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBzdmdFbGVtZW50
LnNldEN1cnJlbnRUaW1lKDEwMCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIlBB
U1MiKTsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfSwgMjApOyAv
LyBUaGlzIG5lZWRzIHRvIGJlIGF0IGxlYXN0IDIwIHRvIGVuc3VyZSBhbiBhbmltYXRpb24gY3lj
bGUgcnVucy4KKyAgICAgICAgfSwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKzxzdmcgaWQ9InN2ZyIgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayI+CisgICAgPGRlZnM+CisgICAgICAgIDxyZWN0IGlkPSJyZWN0IiB4PSIxMDBweCIgeT0iMTAw
cHgiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgZmlsbD0iZ3JlZW4iPgorICAgICAgICAg
ICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ieCIgZnJvbT0iMTAwIiB0bz0iMCIgYmVnaW49IjBz
IiBkdXI9IjVzIiByZXBlYXRDb3VudD0iMSIvPgorICAgICAgICA8L3JlY3Q+CisgICAgPC9kZWZz
PgorICAgIDx1c2UgeD0iMTAwcHgiIHk9IjEwMHB4IiB4bGluazpocmVmPSIjcmVjdCIvPgorICAg
IDx1c2UgaWQ9InVzZVJlY3QiIHg9IjEwMHB4IiB5PSIyMDBweCIvPgorPC9zdmc+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>