<?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>16289</bug_id>
          
          <creation_ts>2007-12-04 07:18:20 -0800</creation_ts>
          <short_desc>WebKit loses data stored on &quot;reachable&quot; binding objects during garbage collection</short_desc>
          <delta_ts>2008-05-07 13:55:45 -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>WebCore JavaScript</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>17064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sjoerd Mulder">sjoerdmulder</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>ap</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>63242</commentid>
    <comment_count>0</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2007-12-04 07:18:20 -0800</bug_when>
    <thetext>When defining a function for for example namespace resolving it&apos;s handy to store this on the XML document Object. 

But webkit loses the function sometimes for strange reasons.

See testcase, it should just continue counting and counting, this does work in Firefox and Opera</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63243</commentid>
    <comment_count>1</comment_count>
      <attachid>17701</attachid>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2007-12-04 07:18:46 -0800</bug_when>
    <thetext>Created attachment 17701
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63333</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-05 06:09:53 -0800</bug_when>
    <thetext>Confirmed with r28024. This can be reproduced reliably by forcing garbage collection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63335</commentid>
    <comment_count>3</comment_count>
      <attachid>17718</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-05 06:29:39 -0800</bug_when>
    <thetext>Created attachment 17718
reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63336</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-05 06:31:25 -0800</bug_when>
    <thetext>Not a regression from Safari 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63473</commentid>
    <comment_count>5</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2007-12-06 08:20:14 -0800</bug_when>
    <thetext>It also looses the &apos;documentElement&apos; property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63483</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-12-06 08:43:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/5633005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68779</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-01-30 01:08:29 -0800</bug_when>
    <thetext>*** Bug 17076 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68781</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-01-30 01:10:05 -0800</bug_when>
    <thetext>Acid3 itself has a larger and more advanced test case that will need to be verified when fixing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72739</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-04 13:41:57 -0800</bug_when>
    <thetext>This example does:
- get a dom object (domObjectA)
- get a dom object reachable from that dom object, using dom methods (domObjectB)
- set custom data on domObjectB
- store domObjectA in a local variable
- force a GC
- access domObjectB through the dom methods off of domObjectA
- notice that domObjectB is a fresh binding object, thus has no custom data

When marking, we don&apos;t follow builtin dom methods and mark the related binding objects.

One fix would be to mark all DOM objects held in the DOM cache which have custom data set on them.  We would need some way to purge the DOM cache when the page it torn down (but we might do that already).

I wonder how we keep custom prototypes alive... maybe we walk the prototype chain of any object when marking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72776</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-04 22:38:21 -0800</bug_when>
    <thetext>This issue isn&apos;t quite the same as Acid3 tests 26 and 27, but I have a fix that addresses both. (Acid3 doesn&apos;t rely on custom properties on the node).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72777</commentid>
    <comment_count>11</comment_count>
      <attachid>19543</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-04 22:41:49 -0800</bug_when>
    <thetext>Created attachment 19543
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72778</commentid>
    <comment_count>12</comment_count>
      <attachid>19543</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-03-04 22:53:47 -0800</bug_when>
    <thetext>Comment on attachment 19543
patch v1

r=me.  Though you could use some braces for outer if-statements as is now our style.

90!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79841</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-05-07 13:55:45 -0700</bug_when>
    <thetext>Landed in r30790.

&lt;http://trac.webkit.org/changeset/30790&gt;

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17701</attachid>
            <date>2007-12-04 07:18:46 -0800</date>
            <delta_ts>2007-12-04 07:18:46 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>safarixml.zip</filename>
            <type>application/force-download</type>
            <size>2551</size>
            <attacher name="Sjoerd Mulder">sjoerdmulder</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17718</attachid>
            <date>2007-12-05 06:29:39 -0800</date>
            <delta_ts>2007-12-05 06:29:39 -0800</delta_ts>
            <desc>reduced test case</desc>
            <filename>safarixml.html</filename>
            <type>text/html</type>
            <size>906</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KIDxo
ZWFkPg0KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgdmFyIHhtbE5vZGUg
PSBudWxsOw0KDQogICAgbG9hZERhdGEoKTsNCiAgICBzZXRUaW1lb3V0KCJ0ZXN0RGF0YSgpIiwg
MCk7DQoNCiAgICBmdW5jdGlvbiB0ZXN0RGF0YSgpIHsNCiAgICAgICAgdmFyIGkgPSAwOw0KICAg
ICAgICB2YXIgczsNCiAgICAgICAgd2hpbGUgKGkgPCA1MDAwKSB7DQogICAgICAgICAgICBpID0g
aSsxLjExOw0KICAgICAgICAgICAgcyA9IHMgKyAiICI7DQogICAgICAgIH0NCiAgICAgICAgDQog
ICAgICAgIGRvY3VtZW50LndyaXRlKHhtbE5vZGUub3duZXJEb2N1bWVudC5kYXRhID8gIjxwPlNV
Q0NFU1M8L3A+IiA6ICI8cD5GQUlMVVJFPC9wPiIpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGxv
YWREYXRhKCkgew0KICAgICAgICB2YXIgeG1sRG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24u
Y3JlYXRlRG9jdW1lbnQoIiIsICJkb2MiLCBudWxsKTsNCiAgICAgICAgaWYgKCF4bWxEb2MuZG9j
dW1lbnRFbGVtZW50KQ0KICAgICAgICAgICAgeG1sRG9jLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRvYyIpKTsNCiAgICAgICAgeG1sTm9kZSA9IHhtbERvYy5kb2N1bWVudEVs
ZW1lbnQ7DQogICAgICAgIHhtbE5vZGUub3duZXJEb2N1bWVudC5kYXRhID0gMTsNCiAgICAgfQ0K
ICA8L3NjcmlwdD4NCiA8L2hlYWQ+DQogPGJvZHk+DQogPC9ib2R5Pg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19543</attachid>
            <date>2008-03-04 22:41:49 -0800</date>
            <delta_ts>2008-03-04 22:53:47 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>acid3-gc-fix.patch.txt</filename>
            <type>text/plain</type>
            <size>8957</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMDc4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDMtMDQgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IGZpeGVkIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjg5CisgICAg
ICAgIC0gZml4ZWQgQWNpZDMgdGVzdHMgMjYgYW5kIDI3IChub3QgZXhhY3RseSB0aGUgc2FtZSBp
c3N1ZSBidXQgcmVsYXRlZCkKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU05vZGU6Om1hcmspOiBXaGVuIG1hcmtpbmcgYSBub2Rl
IHRoYXQncyBpbi1kb2N1bWVudCwKKyAgICAgICAgbWFyayB0aGUgb3duZXIgZG9jdW1lbnQgaWYg
aXQgaGFzbid0IGJlZW4gYWxyZWFkLiBUaGlzIG1lYW5zIGhvbGRpbmcgb24KKyAgICAgICAgdG8g
YSBzaW5nbGUgbm9kZSBmcm9tIGFuIHVucmVmZXJlbmNlZCBkb2N1bWVudCBub3cga2VlcHMgdGhl
IHdob2xlIGRvY3VtZW50IGFsaXZlLgorCiAyMDA4LTAzLTA0ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcAkocmV2aXNpb24gMzA3NzQpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw2ICsxMTUs
MTIgQEAgdm9pZCBKU05vZGU6Om1hcmsoKQogICAgIC8vIE5vZGVzIGluIHRoZSBkb2N1bWVudCBh
cmUga2VwdCBhbGl2ZSBieSBTY3JpcHRJbnRlcnByZXRlcjo6bWFyaywKICAgICAvLyBzbyB3ZSBo
YXZlIG5vIHNwZWNpYWwgcmVzcG9uc2liaWxpdGllcyBhbmQgY2FuIGp1c3QgY2FsbCB0aGUgYmFz
ZSBjbGFzcyBoZXJlLgogICAgIGlmIChub2RlLT5pbkRvY3VtZW50KCkpIHsKKyAgICAgICAgLy8g
QnV0IGlmIHRoZSBkb2N1bWVudCBpc24ndCBtYXJrZWQgd2UgaGF2ZSB0byBtYXJrIGl0IHRvIGVu
c3VyZSB0aGF0CisgICAgICAgIC8vIG5vZGVzIHJlYWNoYWJsZSBmcm9tIHRoaXMgb25lIGFyZSBh
bHNvIG1hcmtlZAorICAgICAgICBpZiAoRG9jdW1lbnQqIGRvYyA9IG5vZGUtPm93bmVyRG9jdW1l
bnQoKSkKKyAgICAgICAgICAgIGlmIChET01PYmplY3QqIGRvY1dyYXBwZXIgPSBTY3JpcHRJbnRl
cnByZXRlcjo6Z2V0RE9NT2JqZWN0KGRvYykpCisgICAgICAgICAgICAgICAgaWYgKCFkb2NXcmFw
cGVyLT5tYXJrZWQoKSkKKyAgICAgICAgICAgICAgICAgICAgZG9jV3JhcHBlci0+bWFyaygpOwog
ICAgICAgICBET01PYmplY3Q6Om1hcmsoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDMwNzg3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMDMtMDQgIE1hY2llaiBTdGFjaG93aWFrICA8bWpz
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAtIHRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
Mjg5CisgICAgICAgIC0gdGVzdCBmb3IgQWNpZDMgdGVzdHMgMjYgYW5kIDI3IChub3QgZXhhY3Rs
eSB0aGUgc2FtZSBpc3N1ZSBidXQgcmVsYXRlZCkKKworICAgICAgICAqIGZhc3QvZG9tL2djLTEx
LWV4cGVjdGVkLnR4dDogQWRkZWQuIFRlc3QgY2FzZSBmcm9tIGJ1ZyAxNjI4OS4KKyAgICAgICAg
KiBmYXN0L2RvbS9nYy0xMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9nYy1hY2lk
My5odG1sOiBBZGRlZC4gRE9NIGdhcmJhZ2UgY29sbGVjdGlvbiBwYXJ0IG9mIEFjaWQzLgorICAg
ICAgICAqIGZhc3QvZG9tL2djLWFjaWQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vZ2MtNi1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgcmVzdWx0cy4gVGhlIG9sZCBhc3N1
bXB0aW9ucyBvZiB0aGlzIHRlc3QKKyAgICAgICAgd2VyZSBpbiBjb25mbGljdCB3aXRoIHRoZSBy
ZXF1aXJlbWVudHMgb2YgQWNpZDMuCisKIDIwMDgtMDMtMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6
QGFwcGxlLmNvbT4KIAogICAgICAgICAtIHRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3Njc2CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy02LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy02LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMzA3ODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy02LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0LDYgQEAgVGhlIG91dHB1dCBzaG91
bGQgYmUgdGhlIGZvbGxvd2luZyBwaWVjZQogCiBCCiBbb2JqZWN0IEhUTUxFbGVtZW50XQotbnVs
bAorW29iamVjdCBIVE1MRWxlbWVudF0KIFtvYmplY3QgSFRNTERvY3VtZW50XQogCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9nYy0xMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vZ2MtMTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vZ2MtMTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxIEBACitTVUNDRVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy0xMS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2djLTExLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy0xMS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBU
cmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEt
dHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCI+CisgPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKyAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIHZhciB4bWxOb2RlID0gbnVsbDsKKworICAgIGxv
YWREYXRhKCk7CisgICAgc2V0VGltZW91dCgidGVzdERhdGEoKSIsIDApOworCisgICAgZnVuY3Rp
b24gdGVzdERhdGEoKSB7CisgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgdmFyIHM7CisgICAg
ICAgIHdoaWxlIChpIDwgNTAwMCkgeworICAgICAgICAgICAgaSA9IGkrMS4xMTsKKyAgICAgICAg
ICAgIHMgPSBzICsgIiAiOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBkb2N1bWVudC53
cml0ZSh4bWxOb2RlLm93bmVyRG9jdW1lbnQuZGF0YSA/ICI8cD5TVUNDRVNTPC9wPiIgOiAiPHA+
RkFJTFVSRTwvcD4iKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gbG9hZERhdGEoKSB7CisgICAgICAgIHZhciB4bWxEb2MgPSBkb2N1bWVu
dC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgImRvYyIsIG51bGwpOworICAgICAg
ICBpZiAoIXhtbERvYy5kb2N1bWVudEVsZW1lbnQpCisgICAgICAgICAgICB4bWxEb2MuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZG9jIikpOworICAgICAgICB4bWxOb2RlID0g
eG1sRG9jLmRvY3VtZW50RWxlbWVudDsKKyAgICAgICAgeG1sTm9kZS5vd25lckRvY3VtZW50LmRh
dGEgPSAxOworICAgICB9CisgIDwvc2NyaXB0PgorIDwvaGVhZD4KKyA8Ym9keT4KK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjdXN0b20gZGF0YSBvbiByZWFjaGFibGUgRE9NIG5vZGVzIGlzIG5vdCBs
b3N0IGR1cmluZyBHQy4gSWYgaXQgcGFzc2VzLCBpdCBzaG91bGQgc2F5IFNVQ0NFU1MgYmVsb3cu
CisgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2MtYWNpZDMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2djLWFjaWQz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2djLWFj
aWQzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitUaGVyZSBzaG91
bGQgYmUgbm8gYXNzZXJ0aW9uIGZhaWx1cmVzIGJlbG93LCBidXQgdGhlIHdvcmQgRE9ORSBzaG91
bGQgc2hvdyB1cC4KKworRE9ORQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2MtYWNpZDMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9nYy1hY2lkMy5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2MtYWNpZDMuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3NyBAQAorICA8ZGl2IGNsYXNzPSJidWNrZXRzIgorICAgPjxwIGlk
PSJidWNrZXQxIiBjbGFzcz0ieiI+PC9wCisgICA+PHAgaWQ9ImJ1Y2tldDIiIGNsYXNzPSJ6Ij48
L3AKKyAgID48cCBpZD0iYnVja2V0MyIgY2xhc3M9InoiPjwvcAorICAgPjxwIGlkPSJidWNrZXQ0
IiBjbGFzcz0ieiI+PC9wCisgICA+PHAgaWQ9ImJ1Y2tldDUiIGNsYXNzPSJ6Ij48L3AKKyAgID48
cCBpZD0iYnVja2V0NiIgY2xhc3M9InoiPjwvcD4KKyAgPC9kaXY+Cis8cD5UaGVyZSBzaG91bGQg
YmUgbm8gYXNzZXJ0aW9uIGZhaWx1cmVzIGJlbG93LCBidXQgdGhlIHdvcmQgRE9ORSBzaG91bGQg
c2hvdyB1cC48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgZnVuY3Rpb24gZmFpbChtZXNzYWdlKSB7CisgICAgICBkb2N1bWVudC53cml0
ZShtZXNzYWdlICsgIjxicj4iKTsKKyAgfQorICBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uLCBt
ZXNzYWdlKSB7CisgICAgaWYgKCFjb25kaXRpb24pCisgICAgICBmYWlsKG1lc3NhZ2UpOworICB9
CisgIGZ1bmN0aW9uIGFzc2VydEVxdWFscyhleHByZXNzaW9uLCB2YWx1ZSwgbWVzc2FnZSkgewor
ICAgIGlmIChleHByZXNzaW9uICE9IHZhbHVlKSB7CisgICAgICBleHByZXNzaW9uID0gKCIiK2V4
cHJlc3Npb24pLnJlcGxhY2UoL1tcclxuXSsvZywgIlxcbiIpOworICAgICAgdmFsdWUgPSAoIiIr
dmFsdWUpLnJlcGxhY2UoL1xyP1xuL2csICJcXG4iKTsKKyAgICAgIGZhaWwoImV4cGVjdGVkOiAi
ICsgdmFsdWUgKyAiLCBnb3Q6ICIgKyBleHByZXNzaW9uICsgIiAtICIgKyBtZXNzYWdlKTsKKyAg
ICB9CisgIH0KKworCisgICAgICB2YXIgZDsKKyAgICAgIC8vIGUxIC0gYW4gZWxlbWVudCB0aGF0
J3MgaW4gYSBkb2N1bWVudAorICAgICAgZCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0
ZURvY3VtZW50KG51bGwsIG51bGwsIG51bGwpOworICAgICAgdmFyIGUxID0gZC5jcmVhdGVFbGVt
ZW50KCd0ZXN0MScpOworICAgICAgZC5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoJ3Jvb3Qn
KSk7CisgICAgICBkLmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlMSk7CisgICAgICBhc3Nl
cnQoZTEucGFyZW50Tm9kZSwgImUxIC0gcGFyZW50IGVsZW1lbnQgZG9lc24ndCBleGlzdCIpOwor
ICAgICAgYXNzZXJ0KGUxLnBhcmVudE5vZGUub3duZXJEb2N1bWVudCwgImUxIC0gZG9jdW1lbnQg
ZG9lc24ndCBleGlzdCIpOworICAgICAgLy8gZTIgLSBhbiBlbGVtZW50IHRoYXQncyBub3QgaW4g
YSBkb2N1bWVudAorICAgICAgZCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3Vt
ZW50KG51bGwsIG51bGwsIG51bGwpOworICAgICAgdmFyIGUyID0gZC5jcmVhdGVFbGVtZW50KCd0
ZXN0MicpOworICAgICAgZC5jcmVhdGVFbGVtZW50KCdyb290JykuYXBwZW5kQ2hpbGQoZTIpOwor
ICAgICAgYXNzZXJ0KGUyLnBhcmVudE5vZGUsICJlMiAtIHBhcmVudCBlbGVtZW50IGRvZXNuJ3Qg
ZXhpc3QiKTsKKyAgICAgIGFzc2VydChlMi5wYXJlbnROb2RlLm93bmVyRG9jdW1lbnQsICJlMiAt
IGRvY3VtZW50IGRvZXNuJ3QgZXhpc3QiKTsKKyAgICAgIC8vIG5vdyB0cnkgdG8gZGVjb3VwbGUg
dGhlbQorICAgICAgZCA9IG51bGw7CisKKyAgICAgIGt1bmdGdURlYXRoR3JpcCA9IFtlMSwgZTJd
OworICAgICAgYXNzZXJ0KGUxLnBhcmVudE5vZGUsICJlMSAtIHBhcmVudCBlbGVtZW50IGRvZXNu
J3QgZXhpc3QgYWZ0ZXIgZHJvcHBpbmcgcmVmZXJlbmNlIHRvIGRvY3VtZW50Iik7CisgICAgICBh
c3NlcnQoZTEucGFyZW50Tm9kZS5vd25lckRvY3VtZW50LCAiZTEgLSBkb2N1bWVudCBkb2Vzbid0
IGV4aXN0IGFmdGVyIGRyb3BwaW5nIHJlZmVyZW5jZSB0byBkb2N1bWVudCIpOworICAgICAgYXNz
ZXJ0KGUyLnBhcmVudE5vZGUsICJlMiAtIHBhcmVudCBlbGVtZW50IGRvZXNuJ3QgZXhpc3QgYWZ0
ZXIgZHJvcHBpbmcgcmVmZXJlbmNlIHRvIGRvY3VtZW50Iik7CisgICAgICBhc3NlcnQoZTIucGFy
ZW50Tm9kZS5vd25lckRvY3VtZW50LCAiZTIgLSBkb2N1bWVudCBkb2Vzbid0IGV4aXN0IGFmdGVy
IGRyb3BwaW5nIHJlZmVyZW5jZSB0byBkb2N1bWVudCIpOworICAgICAgdmFyIGxvb3BzID0gKChu
ZXcgRGF0ZSgpLnZhbHVlT2YoKSAtIDEuMWUxMikgLyAzMmU5KSAqIDB4NTAwOyAvLyBpbmNyZWFz
ZXMgbGluZWFybHkgb3ZlciB0aW1lCisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxvb3BzOyBp
ICs9IDEpIHsKKyAgICAgICAgLy8gd2Ugd2FudCB0byBmb3JjZSBhIEdDIGhlcmUsIHNvIHdlIHVz
ZSB1cCBsb3RzIG9mIG1lbW9yeQorICAgICAgICAvLyB3ZSB0YWtlIHRoZSBvcHBvcnR1bml0eSB0
byBzbmVhayBpbiBhIHBlcmYgdGVzdCB0byBtYWtlIERPTSBhbmQgSlMgc3R1ZmYgZmFzdGVyLi4u
CisgICAgICAgIGQgPSBuZXcgRGF0ZSgpOworICAgICAgICBkID0gbmV3IChmdW5jdGlvbiAoeCkg
eyByZXR1cm4geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4geC50b1N0cmluZygpIH0g
fSB9KShkLnZhbHVlT2YoKSk7CisgICAgICAgIGQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
aXRlcmF0aW9uICIgKyBpICsgIiBhdCAiICsgZCk7CisgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2EnKS5hcHBlbmRDaGlsZChkKTsKKyAgICAgICAgZCA9IGQucGFyZW50Tm9kZTsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2J1Y2tldDEnKS5wYXJlbnROb2RlKTsKKyAgICAgICAgYXNzZXJ0KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdidWNrZXQyJykubmV4dFNpYmxpbmcucGFyZW50Tm9kZS5wcmV2aW91c1NpYmxp
bmcuZmlyc3RDaGlsZC5kYXRhLm1hdGNoKC9BVFxXL2kpLCAiaXRlcmF0aW9uICIgKyBpICsgIiBm
YWlsZWQiKTsKKyAgICAgICAgZC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgZC50ZXh0Q29udGVudCk7
CisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZCk7CisgICAgICB9CisKKyAgICAg
IGFzc2VydChlMS5wYXJlbnROb2RlLCAiZTEgLSBwYXJlbnQgZWxlbWVudCBkb2Vzbid0IGV4aXN0
IGFmdGVyIGxvb3BpbmciKTsKKyAgICAgIGFzc2VydChlMS5wYXJlbnROb2RlLm93bmVyRG9jdW1l
bnQsICJlMSAtIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3QgYWZ0ZXIgbG9vcGluZyIpOworICAgICAg
YXNzZXJ0RXF1YWxzKGUxLnBhcmVudE5vZGUub3duZXJEb2N1bWVudC5ub2RlVHlwZSwgOSwgImUx
IC0gZG9jdW1lbnQgbm9kZSB0eXBlIGhhcyB3cm9uZyBub2RlIHR5cGUiKTsKKyAgICAgIGFzc2Vy
dChlMi5wYXJlbnROb2RlLCAiZTIgLSBwYXJlbnQgZWxlbWVudCBkb2Vzbid0IGV4aXN0IGFmdGVy
IGxvb3BpbmciKTsKKyAgICAgIGFzc2VydChlMi5wYXJlbnROb2RlLm93bmVyRG9jdW1lbnQsICJl
MiAtIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3QgYWZ0ZXIgbG9vcGluZyIpOworICAgICAgYXNzZXJ0
RXF1YWxzKGUyLnBhcmVudE5vZGUub3duZXJEb2N1bWVudC5ub2RlVHlwZSwgOSwgImUyIC0gZG9j
dW1lbnQgbm9kZSB0eXBlIGhhcyB3cm9uZyBub2RlIHR5cGUiKTsKKworPC9zY3JpcHQ+Cis8cD5E
T05FPC9wPgo=
</data>
<flag name="review"
          id="8552"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>