<?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>57478</bug_id>
          
          <creation_ts>2011-03-30 11:01:43 -0700</creation_ts>
          <short_desc>REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet</short_desc>
          <delta_ts>2011-03-31 06:10:50 -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>CSS</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, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>koivisto</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>376478</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 11:01:43 -0700</bug_when>
    <thetext>To see the leaks:

1. Go to &lt;http://build.webkit.org/LeaksViewer/?url=http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r82400%20(15899)/&gt;
2. Dig into malloc_zone_malloc &gt; malloc -&gt; WTF::fastMalloc

The first leak listed here is an allocation inside Vector. If you look a little lower down you&apos;ll see the Vector itself is leaking (as indicated by the Vector&lt;OwnPtr&lt;CSSParserSelector&gt; &gt;::operator new leak).

Other evidence:

r82398, 2439 leaks:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Leaks/builds/15898

r82400, 3186 leaks:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Leaks/builds/15899</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376480</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 11:02:03 -0700</bug_when>
    <thetext>r82400 added uses of :-webkit-any to the UA stylesheet, so my guess is that the :-webkit-any implementation is leaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376484</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 11:04:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/9209334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376875</commentid>
    <comment_count>3</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-03-30 19:34:43 -0700</bug_when>
    <thetext>The same leaks are observed in Chromium, too.
&lt;http://code.google.com/p/chromium/issues/detail?id=77885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376939</commentid>
    <comment_count>4</comment_count>
      <attachid>87665</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-30 21:51:09 -0700</bug_when>
    <thetext>Created attachment 87665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376942</commentid>
    <comment_count>5</comment_count>
      <attachid>87665</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 22:01:55 -0700</bug_when>
    <thetext>Comment on attachment 87665
Patch

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

&gt; Source/WebCore/css/CSSGrammar.y:1152
&gt; +            OwnPtr&lt;Vector&lt;OwnPtr&lt;CSSParserSelector&gt; &gt; &gt; selectorVector = p-&gt;sinkFloatingSelectorVector($4);
&gt; +            $$-&gt;adoptSelectorVector(*selectorVector.get());

No need for the local variable, or the .get().

&gt; Source/WebCore/css/CSSParser.h:188
&gt;          Vector&lt;OwnPtr&lt;CSSParserSelector&gt; &gt;* createFloatingSelectorVector();

Seems like we should change createFloatingSelectorVector to return a PassOwnPtr at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376946</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-30 22:13:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 87665 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87665&amp;action=review
&gt; &gt; Source/WebCore/css/CSSParser.h:188
&gt; &gt;          Vector&lt;OwnPtr&lt;CSSParserSelector&gt; &gt;* createFloatingSelectorVector();
&gt; 
&gt; Seems like we should change createFloatingSelectorVector to return a PassOwnPtr at some point.

Maybe. I was just cargo culting createFloatingSelector. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376948</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-30 22:17:52 -0700</bug_when>
    <thetext>Committed r82545: &lt;http://trac.webkit.org/changeset/82545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376961</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-30 23:04:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82545 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376962</commentid>
    <comment_count>9</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-30 23:08:15 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; http://trac.webkit.org/changeset/82545 might have broken GTK Linux 32-bit Debug

Looks like a false positive. This bot hasn&apos;t successfully run the tests in hours.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377096</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-31 06:09:32 -0700</bug_when>
    <thetext>Looks like this worked:

r82544, 3282 leaks:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Leaks/builds/15924

r82547, 2463 leaks:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Leaks/builds/15925</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377097</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-31 06:10:50 -0700</bug_when>
    <thetext>And Leaks Viewer says the leaks are gone, too.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87665</attachid>
            <date>2011-03-30 21:51:09 -0700</date>
            <delta_ts>2011-03-30 22:01:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57478-20110331155106.patch</filename>
            <type>text/plain</type>
            <size>3325</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI1MzUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NmYwZDcyOWFhYzI4MDkx
NTM4OTg5MGM3YWI4MzY4ZTczN2QyNzg5Li5kZDc5ODljNGUyMWViZTg1ZGY1YTZhZWM0NzEyMzhk
NzYyMzM0MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMzAgIE9qYW4g
VmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChyODI0MDApOiBMZWFrcyBzZWVuIGJlbmVh
dGggQ1NTUGFyc2VyOjpjcmVhdGVGbG9hdGluZ1ZlY3RvclNlbGVjdG9yIHdoZW4gcGFyc2luZyBV
QSBzdHlsZXNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NzQ3OAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2lua0Zsb2F0aW5n
U2VsZWN0b3JWZWN0b3IpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKwogMjAxMS0wMy0z
MCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKaW5kZXggMjQ2YTQ0OTli
MDIwMzUwMGRlMTIxNGM1ZjYyZGZlN2ZhM2MxMGQ0NS4uYjg5ZDkzZDcwNDQ5OWFkMjQ4NGNmNTk5
ODNkOWYxZGQ1ZGQ2ZGUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1t
YXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBAIC0xMTQ4LDcgKzEx
NDgsOCBAQCBwc2V1ZG86CiAgICAgICAgICAgICBDU1NQYXJzZXIgKnAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOwogICAgICAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1Nl
bGVjdG9yKCk7CiAgICAgICAgICAgICAkJC0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzKTsKLSAgICAgICAgICAgICQkLT5hZG9wdFNlbGVjdG9yVmVjdG9yKCpwLT5zaW5rRmxvYXRp
bmdTZWxlY3RvclZlY3RvcigkNCkpOworICAgICAgICAgICAgT3duUHRyPFZlY3RvcjxPd25QdHI8
Q1NTUGFyc2VyU2VsZWN0b3I+ID4gPiBzZWxlY3RvclZlY3RvciA9IHAtPnNpbmtGbG9hdGluZ1Nl
bGVjdG9yVmVjdG9yKCQ0KTsKKyAgICAgICAgICAgICQkLT5hZG9wdFNlbGVjdG9yVmVjdG9yKCpz
ZWxlY3RvclZlY3Rvci5nZXQoKSk7CiAgICAgICAgICAgICAkMi5sb3dlcigpOwogICAgICAgICAg
ICAgJCQtPnNldFZhbHVlKCQyKTsKICAgICAgICAgICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBl
IHR5cGUgPSAkJC0+cHNldWRvVHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAw
OTJlOGVkOTVhZmJkZDQ1ODg3YmM1OGM0ZTI0OGMwMTczMDgwMTQzLi5mYmE1MzcwNGEwODQ1MzMz
MmRkNWM5YTdjN2IzNjY1ZjYzZGNlNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAt
NTk5MywxMyArNTk5MywxMyBAQCBWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBD
U1NQYXJzZXI6OmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3JWZWN0b3IoKQogICAgIHJldHVybiBzZWxl
Y3RvclZlY3RvcjsKIH0KIAotVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogQ1NT
UGFyc2VyOjpzaW5rRmxvYXRpbmdTZWxlY3RvclZlY3RvcihWZWN0b3I8T3duUHRyPENTU1BhcnNl
clNlbGVjdG9yPiA+KiBzZWxlY3RvclZlY3RvcikKK1Bhc3NPd25QdHI8VmVjdG9yPE93blB0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gPiA+IENTU1BhcnNlcjo6c2lua0Zsb2F0aW5nU2VsZWN0b3JWZWN0
b3IoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogc2VsZWN0b3JWZWN0b3IpCiB7
CiAgICAgaWYgKHNlbGVjdG9yVmVjdG9yKSB7CiAgICAgICAgIEFTU0VSVChtX2Zsb2F0aW5nU2Vs
ZWN0b3JWZWN0b3JzLmNvbnRhaW5zKHNlbGVjdG9yVmVjdG9yKSk7CiAgICAgICAgIG1fZmxvYXRp
bmdTZWxlY3RvclZlY3RvcnMucmVtb3ZlKHNlbGVjdG9yVmVjdG9yKTsKICAgICB9Ci0gICAgcmV0
dXJuIHNlbGVjdG9yVmVjdG9yOworICAgIHJldHVybiBhZG9wdFB0cihzZWxlY3RvclZlY3Rvcik7
CiB9CiAKIENTU1BhcnNlclZhbHVlTGlzdCogQ1NTUGFyc2VyOjpjcmVhdGVGbG9hdGluZ1ZhbHVl
TGlzdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggYzAzYWZkOWJhYmI0OTZjYTRiNDA2YjFk
NTk2MGM4Njk2YTkzMGUyNy4uYzY0OTViNjNlMDNiNTg1ODAzOTljZjNiYzVkYTk2OWM0ODk4YjI4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTg2LDcgKzE4Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgUGFzc093blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gc2lua0Zsb2F0
aW5nU2VsZWN0b3IoQ1NTUGFyc2VyU2VsZWN0b3IqKTsKIAogICAgICAgICBWZWN0b3I8T3duUHRy
PENTU1BhcnNlclNlbGVjdG9yPiA+KiBjcmVhdGVGbG9hdGluZ1NlbGVjdG9yVmVjdG9yKCk7Ci0g
ICAgICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4qIHNpbmtGbG9hdGluZ1Nl
bGVjdG9yVmVjdG9yKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4qKTsKKyAgICAg
ICAgUGFzc093blB0cjxWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+ID4gc2lua0Zs
b2F0aW5nU2VsZWN0b3JWZWN0b3IoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiop
OwogCiAgICAgICAgIENTU1BhcnNlclZhbHVlTGlzdCogY3JlYXRlRmxvYXRpbmdWYWx1ZUxpc3Qo
KTsKICAgICAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBzaW5rRmxvYXRpbmdWYWx1ZUxpc3QoQ1NT
UGFyc2VyVmFsdWVMaXN0Kik7Cg==
</data>
<flag name="review"
          id="80090"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="80091"
          type_id="3"
          status="-"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>