<?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>19526</bug_id>
          
          <creation_ts>2008-06-12 15:54:23 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: m_numNodeListCaches</short_desc>
          <delta_ts>2009-12-22 16:51:17 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83134</commentid>
    <comment_count>0</comment_count>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-12 15:54:23 -0700</bug_when>
    <thetext>var doc = document.implementation.createHTMLDocument(&apos;a&apos;);
Node&apos;s can cache nodelists in m_nodeLists.  They keep a counter on their document, via document()-&gt;addNodeListCache and document()-&gt;removeNodeListCache.  However, when a node is adopted between documents, nothing is done to keep this balance.  On adoption, we should be clearing m_nodeLists and calling document()-&gt;removeNodeListCache.


var b = document.createElement(&apos;b&apos;);
// Give it a node list cache on document
b.childNodes;

// Attach it to doc to update m_document
doc.adoptNode(b);
doc.body.appendChild(b);
doc.body.removeChild(b);

// GC here if you can, or reload the page to fire ~Node and cleanup m_nodeLists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83151</commentid>
    <comment_count>1</comment_count>
      <attachid>21670</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-12 21:49:52 -0700</bug_when>
    <thetext>Created attachment 21670
test case (will assert)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83152</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-12 21:50:58 -0700</bug_when>
    <thetext>Confirmed with r34513.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167140</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-11-29 17:28:42 -0800</bug_when>
    <thetext>Are there any symptoms in release builds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167451</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-11-30 15:52:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/7431572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174416</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-22 14:49:09 -0800</bug_when>
    <thetext>I see no reason to clear m_nodeLists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174461</commentid>
    <comment_count>6</comment_count>
      <attachid>45410</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-22 16:21:45 -0800</bug_when>
    <thetext>Created attachment 45410
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174465</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-22 16:26:05 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45410 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174468</commentid>
    <comment_count>8</comment_count>
      <attachid>45410</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-12-22 16:29:02 -0800</bug_when>
    <thetext>Comment on attachment 45410
patch

&gt; \ No newline at end of file

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174478</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-22 16:51:17 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/52511</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>21670</attachid>
            <date>2008-06-12 21:49:52 -0700</date>
            <delta_ts>2008-06-12 21:49:52 -0700</delta_ts>
            <desc>test case (will assert)</desc>
            <filename>19526.html</filename>
            <type>text/html</type>
            <size>345</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KdmFyIGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1
bWVudCgnYScpOwp2YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2InKTsKLy8gR2l2ZSBp
dCBhIG5vZGUgbGlzdCBjYWNoZSBvbiBkb2N1bWVudApiLmNoaWxkTm9kZXM7CgovLyBBdHRhY2gg
aXQgdG8gZG9jIHRvIHVwZGF0ZSBtX2RvY3VtZW50CmRvYy5hZG9wdE5vZGUoYik7CmRvYy5ib2R5
LmFwcGVuZENoaWxkKGIpOwpkb2MuYm9keS5yZW1vdmVDaGlsZChiKTsKPC9zY3JpcHQ+CjxwPkNs
b3NlIHRoZSBkb2N1bWVudCB0byBzZWUgaWYgdGhlcmUncyBhbiBhc3NlcnRpb24gZmFpbHVyZS48
L3A+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45410</attachid>
            <date>2009-12-22 16:21:45 -0800</date>
            <delta_ts>2009-12-22 16:29:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>NodeListCachePatch.txt</filename>
            <type>text/plain</type>
            <size>5419</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjUwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1fbnVtTm9kZUxpc3RDYWNoZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NDMxNTcyPgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL05vZGVM
aXN0L2Fkb3B0Tm9kZS1ub2RlLWxpc3QtY2FjaGUuaHRtbAorCisgICAgICAgICogZG9tL05vZGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0RG9jdW1lbnQpOiBDYWxsIHJlbW92ZU5v
ZGVMaXN0Q2FjaGUgb24gdGhlIG9sZAorICAgICAgICBkb2N1bWVudCBhbmQgYWRkTm9kZUxpc3RD
YWNoZSBvbiB0aGUgbmV3IG9uZSBpZiBtb3ZpbmcgYSBub2RlIHRoYXQKKyAgICAgICAgaGFzIG5v
ZGUgbGlzdHMuCisKIDIwMDktMTItMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgog
CkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9O
b2RlLmNwcAkocmV2aXNpb24gNTI1MDgpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIwLDYgKzUyMCwxMiBAQCB2b2lkIE5vZGU6OnNldERvY3VtZW50KERvY3Vt
ZW50KiBkb2N1bWVuCiAgICAgdXBkYXRlRE9NTm9kZURvY3VtZW50KHRoaXMsIG1fZG9jdW1lbnQs
IGRvY3VtZW50KTsKICNlbmRpZgogCisgICAgaWYgKGhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEo
KS0+bm9kZUxpc3RzKCkpIHsKKyAgICAgICAgaWYgKG1fZG9jdW1lbnQpCisgICAgICAgICAgICBt
X2RvY3VtZW50LT5yZW1vdmVOb2RlTGlzdENhY2hlKCk7CisgICAgICAgIGRvY3VtZW50LT5hZGRO
b2RlTGlzdENhY2hlKCk7CisgICAgfQorCiAgICAgaWYgKG1fZG9jdW1lbnQpCiAgICAgICAgIG1f
ZG9jdW1lbnQtPnNlbGZPbmx5RGVyZWYoKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTI1MDgpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAor
MjAwOS0xMi0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV9u
dW1Ob2RlTGlzdENhY2hlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0MzE1NzI+CisKKyAgICAg
ICAgKiBmYXN0L2RvbS9Ob2RlTGlzdC9hZG9wdE5vZGUtbm9kZS1saXN0LWNhY2hlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vTm9kZUxpc3QvYWRvcHROb2RlLW5vZGUt
bGlzdC1jYWNoZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Ob2RlTGlzdC9yZXNv
dXJjZXM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL05vZGVMaXN0L3Jlc291cmNlcy9hZG9w
dE5vZGUtbm9kZS1saXN0LWNhY2hlLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorCiAyMDA5LTEyLTIy
ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZUxpc3QvYWRv
cHROb2RlLW5vZGUtbGlzdC1jYWNoZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vTm9kZUxpc3QvYWRvcHROb2RlLW5vZGUtbGlzdC1jYWNoZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2RlTGlzdC9hZG9w
dE5vZGUtbm9kZS1saXN0LWNhY2hlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyIEBACisKK1RFU1QgUEFTU0VEIC0gVW5sZXNzIGFuIGFzc2VydGlvbiBvciBjcmFzaCBoYXBw
ZW5zIHNvb24uCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2Rl
TGlzdC9hZG9wdE5vZGUtbm9kZS1saXN0LWNhY2hlLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vTm9kZUxpc3QvYWRvcHROb2RlLW5vZGUtbGlzdC1jYWNoZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L2Fkb3B0Tm9kZS1ub2RlLWxpc3QtY2FjaGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L2Fkb3B0
Tm9kZS1ub2RlLWxpc3QtY2FjaGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NiBAQAor
PGhlYWQ+Cis8c2NyaXB0PgorCit2YXIgcGFnZUhhc0xvYWRlZCA9IGZhbHNlOwordmFyIGZyYW1l
SGFzTG9hZGVkID0gZmFsc2U7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93LkdD
Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspCisgICAgICAgIHZhciBzID0gbmV3IFN0
cmluZygiIik7Cit9CisKK2Z1bmN0aW9uIHBhZ2VMb2FkZWQoKQoreworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKworICAgIHBhZ2VIYXNMb2FkZWQgPSB0cnVlOworICAgIGlmIChwYWdlSGFz
TG9hZGVkICYmIGZyYW1lSGFzTG9hZGVkKQorICAgICAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0
aW9uIGZyYW1lTG9hZGVkKCkKK3sKKyAgICBmcmFtZUhhc0xvYWRlZCA9IHRydWU7CisgICAgaWYg
KHBhZ2VIYXNMb2FkZWQgJiYgZnJhbWVIYXNMb2FkZWQpCisgICAgICAgIHJ1blRlc3QoKTsKK30K
KworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAg
dmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lIik7CisgICAgZnJhbWUu
c2V0QXR0cmlidXRlKCJvbmxvYWQiLCAiZnJhbWVMb2FkZWRBZ2FpbigpIik7CisgICAgZnJhbWUu
c2V0QXR0cmlidXRlKCJzcmMiLCAiYWJvdXQ6YmxhbmsiKTsKK30KKworZnVuY3Rpb24gZnJhbWVM
b2FkZWRBZ2FpbigpCit7CisgICAgZ2MoKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuZmlyc3RDaGlsZC5kYXRhID0gIlRFU1QgUEFTU0VEIC0gVW5sZXNzIGFuIGFzc2Vy
dGlvbiBvciBjcmFzaCBoYXBwZW5zIHNvb24uIjsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9
CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJwYWdlTG9hZGVkKCkiPgorPGlm
cmFtZSBpZD0iZnJhbWUiIHNyYz0icmVzb3VyY2VzL2Fkb3B0Tm9kZS1ub2RlLWxpc3QtY2FjaGUt
c3ViZnJhbWUuaHRtbCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzxkaXYgaWQ9
InJlc3VsdCI+VEVTVCBESUQgTk9UIFJVTiBZRVQ8L2Rpdj4KKzwvYm9keT4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L2Fkb3B0Tm9kZS1ub2RlLWxp
c3QtY2FjaGUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9o
dG1sCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vTm9kZUxpc3QvcmVzb3VyY2VzL2Fkb3B0Tm9kZS1ub2RlLWxpc3QtY2FjaGUtc3Vi
ZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2RlTGlzdC9y
ZXNvdXJjZXMvYWRvcHROb2RlLW5vZGUtbGlzdC1jYWNoZS1zdWJmcmFtZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZUxpc3QvcmVzb3VyY2VzL2Fkb3B0Tm9k
ZS1ub2RlLWxpc3QtY2FjaGUtc3ViZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MiBAQAorPHNjcmlwdD4KK3ZhciBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVI
VE1MRG9jdW1lbnQoJ2EnKTsKK3ZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYicpOwor
Ly8gR2l2ZSBpdCBhIG5vZGUgbGlzdCBjYWNoZSBvbiBkb2N1bWVudAorYi5jaGlsZE5vZGVzOwor
CisvLyBBdHRhY2ggaXQgdG8gZG9jIHRvIHVwZGF0ZSBtX2RvY3VtZW50Citkb2MuYWRvcHROb2Rl
KGIpOworZG9jLmJvZHkuYXBwZW5kQ2hpbGQoYik7Citkb2MuYm9keS5yZW1vdmVDaGlsZChiKTsK
Kzwvc2NyaXB0PgorPHA+Q2xvc2UgdGhlIGRvY3VtZW50IHRvIHNlZSBpZiB0aGVyZSdzIGFuIGFz
c2VydGlvbiBmYWlsdXJlLjwvcD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2RlTGlzdC9yZXNvdXJjZXMvYWRv
cHROb2RlLW5vZGUtbGlzdC1jYWNoZS1zdWJmcmFtZS5odG1sCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRp
dmUKCg==
</data>
<flag name="review"
          id="27450"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>