<?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>110019</bug_id>
          
          <creation_ts>2013-02-16 08:52:07 -0800</creation_ts>
          <short_desc>REGRESSION(r143076): Crash when calling removeNamedItem or removeNamedItemNS with a non-existent attribute of newly created element</short_desc>
          <delta_ts>2013-02-16 15:49:06 -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>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Nelson">peter</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>kling</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>834732</commentid>
    <comment_count>0</comment_count>
      <attachid>188713</attachid>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-02-16 08:52:07 -0800</bug_when>
    <thetext>Created attachment 188713
HTML document (based on the Acid3 test) that demonstrates the issue

Currently WebCore crashes when either removeNamedItem or removeNamedItemNS are called with a non-existent attribute of a newly created element.

This bug causes a crash in test 67 of Acid3.

Attached is a small HTML document (based on the Acid3 test) that demonstrates the issue.

Tested with latest nightly on both Windows and OSX.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834761</commentid>
    <comment_count>1</comment_count>
      <attachid>188720</attachid>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-02-16 10:45:57 -0800</bug_when>
    <thetext>Created attachment 188720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834768</commentid>
    <comment_count>2</comment_count>
      <attachid>188720</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-02-16 11:44:33 -0800</bug_when>
    <thetext>Comment on attachment 188720
Patch

This seems like a reasonable check. I&apos;m surprised it wasn&apos;t needed previously. Is it possible that some external logic is supposed to be preventing a call into this routine if the mode has no attributed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834769</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-02-16 11:55:12 -0800</bug_when>
    <thetext>(In reply to comment #2)
It may have been changeset 143076 (https://trac.webkit.org/changeset/143076) that broke it -- ElementData is no longer implicitly created when .attributes is referenced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834775</commentid>
    <comment_count>4</comment_count>
      <attachid>188720</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-02-16 12:46:37 -0800</bug_when>
    <thetext>Comment on attachment 188720
Patch

Good catch! Looks like our NamedNodeMap test coverage isn&apos;t what it should be. :/
Let&apos;s improve that by adding a layout test with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834807</commentid>
    <comment_count>5</comment_count>
      <attachid>188720</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-02-16 13:36:25 -0800</bug_when>
    <thetext>Comment on attachment 188720
Patch

I didn&apos;t realize we already have a copy of ACID3 in-tree that catches these bugs.
r=me as we don&apos;t need a new test and this looks good. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834855</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-02-16 15:42:48 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 188720 [details])
&gt; I didn&apos;t realize we already have a copy of ACID3 in-tree that catches these bugs.
&gt; r=me as we don&apos;t need a new test and this looks good. Thanks!

If we have a test in the tree that covers this logic, why didn&apos;t we see it before Peter did? Could we indicate which test covers this behavior in the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834857</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-02-16 15:45:37 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 188720 [details] [details])
&gt; &gt; I didn&apos;t realize we already have a copy of ACID3 in-tree that catches these bugs.
&gt; &gt; r=me as we don&apos;t need a new test and this looks good. Thanks!
&gt; 
&gt; If we have a test in the tree that covers this logic, why didn&apos;t we see it before Peter did? Could we indicate which test covers this behavior in the ChangeLog?

http/tests/misc/acid3.html is crashing on the bots ATM. I&apos;ll land this patch and add a comment to the ChangeLog about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834862</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-02-16 15:49:06 -0800</bug_when>
    <thetext>Committed r143115: &lt;http://trac.webkit.org/changeset/143115&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>188713</attachid>
            <date>2013-02-16 08:52:07 -0800</date>
            <delta_ts>2013-02-16 08:58:58 -0800</delta_ts>
            <desc>HTML document (based on the Acid3 test) that demonstrates the issue</desc>
            <filename>test.html</filename>
            <type>text/plain</type>
            <size>771</size>
            <attacher name="Peter Nelson">peter</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPjwvaGVhZD4NCjxib2R5Pg0KPHNjcmlwdD4N
CmZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpIHsNCiAgaWYgKCFjb25kaXRpb24p
DQogICAgZG9jdW1lbnQud3JpdGUobWVzc2FnZSArICc8YnI+Jyk7DQp9DQpmdW5jdGlvbiB0ZXN0
IChmKSB7DQogIHZhciBtc2cgPSAnd3JvbmcgZXhjZXB0aW9uIHJhaXNlZCc7DQogIHRyeSB7DQog
ICAgZigpOw0KICAgIG1zZyA9ICdubyBleGNlcHRpb24gcmFpc2VkJzsNCiAgfSBjYXRjaCAoZSkg
ew0KICAgIGlmICgnY29kZScgaW4gZSkgew0KICAgICAgaWYgKGUuY29kZSA9PSA4KQ0KICAgICAg
ICBtc2cgPSAnJzsNCiAgICAgIGVsc2UNCiAgICAgICAgbXNnICs9ICc7IGNvZGUgPSAnICsgZS5j
b2RlOw0KICAgIH0NCiAgfQ0KICBhc3NlcnQobXNnID09ICcnLCAid2hlbiBjYWxsaW5nIHJlbW92
ZU5hbWVkSXRlbU5TIGluIGEgbm9uIGV4aXN0ZW50IGF0dHJpYnV0ZTogIiArIG1zZyk7DQogIHJl
dHVybiA1Ow0KfQ0KKGZ1bmN0aW9uICgpIHsNCiAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJwIik7DQogIHRlc3QoZnVuY3Rpb24oKSB7cC5hdHRyaWJ1dGVzLnJlbW92ZU5hbWVkSXRl
bSgiYWJzZW50Iik7fSk7DQogIHRlc3QoZnVuY3Rpb24oKSB7cC5hdHRyaWJ1dGVzLnJlbW92ZU5h
bWVkSXRlbU5TKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIsICJhYnNlbnQiKTt9KQ0KfSkoKTsN
Cjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188720</attachid>
            <date>2013-02-16 10:45:57 -0800</date>
            <delta_ts>2013-02-16 15:45:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110019-20130216184218.patch</filename>
            <type>text/plain</type>
            <size>2028</size>
            <attacher name="Peter Nelson">peter</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzEwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTE2ICBQZXRlciBO
ZWxzb24gIDxwZXRlckBwZXRlcmRuLmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIGNhbGxpbmcg
cmVtb3ZlTmFtZWRJdGVtIG9yIHJlbW92ZU5hbWVkSXRlbU5TIHdpdGggYSBub24tZXhpc3RlbnQg
YXR0cmlidXRlIG9mIG5ld2x5IGNyZWF0ZWQgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IGNoZWNrcyBFbGVtZW50OjpoYXNBdHRyaWJ1
dGVzKCkgYmVmb3JlIGNhbGxpbmcgRWxlbWVudDo6Z2V0QXR0cmlidXRlSXRlbUluZGV4KCkuCisK
KyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVk
Tm9kZU1hcDo6cmVtb3ZlTmFtZWRJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTm9kZU1h
cDo6cmVtb3ZlTmFtZWRJdGVtTlMpOgorCiAyMDEzLTAyLTE2ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTQyNzM0LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAJKHJldmlzaW9u
IDE0MzEwMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIFBhc3NSZWZQdHI8Tm9kZT4gTmFtZWROb2RlTWFwOjpn
ZXROYW1lZEkKIAogUGFzc1JlZlB0cjxOb2RlPiBOYW1lZE5vZGVNYXA6OnJlbW92ZU5hbWVkSXRl
bShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHNp
emVfdCBpbmRleCA9IG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlSXRlbUluZGV4KG5hbWUsIHNob3Vs
ZElnbm9yZUF0dHJpYnV0ZUNhc2UobV9lbGVtZW50KSk7CisgICAgc2l6ZV90IGluZGV4ID0gbV9l
bGVtZW50LT5oYXNBdHRyaWJ1dGVzKCkgPyBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZUl0ZW1JbmRl
eChuYW1lLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKG1fZWxlbWVudCkpIDogbm90Rm91bmQ7
CiAgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kKSB7CiAgICAgICAgIGVjID0gTk9UX0ZPVU5EX0VS
UjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC03Miw3ICs3Miw3IEBAIFBhc3NSZWZQdHI8Tm9kZT4g
TmFtZWROb2RlTWFwOjpyZW1vdmVOYW0KIAogUGFzc1JlZlB0cjxOb2RlPiBOYW1lZE5vZGVNYXA6
OnJlbW92ZU5hbWVkSXRlbU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25z
dCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgc2l6
ZV90IGluZGV4ID0gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoUXVhbGlmaWVkTmFt
ZShudWxsQXRvbSwgbG9jYWxOYW1lLCBuYW1lc3BhY2VVUkkpKTsKKyAgICBzaXplX3QgaW5kZXgg
PSBtX2VsZW1lbnQtPmhhc0F0dHJpYnV0ZXMoKSA/IG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlSXRl
bUluZGV4KFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSkg
OiBub3RGb3VuZDsKICAgICBpZiAoaW5kZXggPT0gbm90Rm91bmQpIHsKICAgICAgICAgZWMgPSBO
T1RfRk9VTkRfRVJSOwogICAgICAgICByZXR1cm4gMDsK
</data>
<flag name="review"
          id="208924"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="208931"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>