<?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>91251</bug_id>
          
          <creation_ts>2012-07-13 08:41:10 -0700</creation_ts>
          <short_desc>[V8] String wrappers should be Independent</short_desc>
          <delta_ts>2012-07-24 11:43:19 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91317</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>antonm</cc>
    
    <cc>arv</cc>
    
    <cc>dcarney</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>669074</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-13 08:41:10 -0700</bug_when>
    <thetext>Currently V8 String wrappers are not marked Independent. By marking them Independent, they can be reclaimed by the scavenger GC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669077</commentid>
    <comment_count>1</comment_count>
      <attachid>152269</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-13 08:43:39 -0700</bug_when>
    <thetext>Created attachment 152269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669175</commentid>
    <comment_count>2</comment_count>
      <attachid>152269</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 10:20:41 -0700</bug_when>
    <thetext>Comment on attachment 152269
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669319</commentid>
    <comment_count>3</comment_count>
      <attachid>152269</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 12:05:34 -0700</bug_when>
    <thetext>Comment on attachment 152269
Patch

Clearing flags on attachment: 152269

Committed r122614: &lt;http://trac.webkit.org/changeset/122614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669320</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 12:05:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669735</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-13 23:41:09 -0700</bug_when>
    <thetext>It appears that two perf tests started crashing after this patch:
http://build.webkit.org/builders/Chromium%20Linux%20Release%20%28Perf%29/builds/4057/steps/perf-test/logs/stdio

Blame list:
http://build.webkit.org/builders/Chromium%20Linux%20Release%20%28Perf%29/builds/4057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669736</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 23:43:17 -0700</bug_when>
    <thetext>Shall we revert the change and study the crashes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669737</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-13 23:45:37 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Shall we revert the change and study the crashes?

That makes sense given that the blame list doesn&apos;t have other suspicious changes. Meanwhile, I&apos;ll try to confirm that this is the culprit by locally building &amp; running tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669777</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-14 01:51:35 -0700</bug_when>
    <thetext>Confirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669779</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-14 01:52:37 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 91317</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670174</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-16 00:56:42 -0700</bug_when>
    <thetext>arv: Do you know why this patch is wrong? My question is whether making String wrappers independent is a wrong fix, or making String wrappers independent is a correct fix but some V8 binding code is wrong.

For example, worker-location.html fails with the following diff:

--- /usr/local/google/home/haraken/chrome-build/src/webkit/Release/layout-test-results/fast/workers/worker-location-expected.txt 
+++ /usr/local/google/home/haraken/chrome-build/src/webkit/Release/layout-test-results/fast/workers/worker-location-actual.txt 
@@ -3,7 +3,7 @@
 WorkerLocation: function WorkerLocation() { [native code] }
 typeof location: object
 location: file:&lt;...&gt;/fast/workers/resources/worker-common.js
-location.href: file:&lt;...&gt;/fast/workers/resources/worker-common.js
+location.href: [object MessageEvent]
 location.protocol: file:
 location.host: 
 location.hostname:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670712</commentid>
    <comment_count>11</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-07-16 15:18:40 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; arv: Do you know why this patch is wrong? My question is whether making String wrappers independent is a wrong fix, or making String wrappers independent is a correct fix but some V8 binding code is wrong.

I don&apos;t know enough about this...

Looking more at the code it seems like the callback for the weak handle might not be able to get the correct isolate

static void cachedStringCallback(v8::Persistent&lt;v8::Value&gt; wrapper, void* parameter)
{
    StringImpl* stringImpl = static_cast&lt;StringImpl*&gt;(parameter);
    V8BindingPerIsolateData::current()-&gt;stringCache()-&gt;remove(stringImpl);
    wrapper.Dispose();
    stringImpl-&gt;deref();
}

&gt; For example, worker-location.html fails with the following diff:
&gt; -location.href: file:&lt;...&gt;/fast/workers/resources/worker-common.js
&gt; +location.href: [object MessageEvent]

This is strange. It seems like there was an error invoking the right toString method here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671015</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-16 23:25:21 -0700</bug_when>
    <thetext>&gt; Looking more at the code it seems like the callback for the weak handle might not be able to get the correct isolate

Good point! Thanks arv.

Given that no one has implicit references to String wrappers, I think this patch should work fine. I&apos;ll look into it in detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676448</commentid>
    <comment_count>13</comment_count>
      <attachid>153973</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 00:13:50 -0700</bug_when>
    <thetext>Created attachment 153973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676459</commentid>
    <comment_count>14</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2012-07-24 00:25:08 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=153973) [details]
&gt; Patch

Great!  I wonder if the following would even be better:

     if( stringImpl == m_lastStringImpl )
        m_lastStringImpl = 0;

Then the last string cache will continue to work after an arbitrary remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676463</commentid>
    <comment_count>15</comment_count>
      <attachid>153976</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 00:29:26 -0700</bug_when>
    <thetext>Created attachment 153976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676464</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 00:29:41 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt;      if( stringImpl == m_lastStringImpl )
&gt;         m_lastStringImpl = 0;
&gt; 
&gt; Then the last string cache will continue to work after an arbitrary remove.

Good point!. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676974</commentid>
    <comment_count>17</comment_count>
      <attachid>153976</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-24 10:24:13 -0700</bug_when>
    <thetext>Comment on attachment 153976
Patch

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

&gt; Source/WebCore/ChangeLog:40
&gt; +        Without &apos;m_lastStringImpl = 0&apos;, already disposed m_lastV8String can be used
&gt; +        in v8ExternalString(). This was a cause of the crashes of r122614.

Ah.  Interesting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677069</commentid>
    <comment_count>18</comment_count>
      <attachid>153976</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 11:43:14 -0700</bug_when>
    <thetext>Comment on attachment 153976
Patch

Clearing flags on attachment: 153976

Committed r123500: &lt;http://trac.webkit.org/changeset/123500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677070</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 11:43:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152269</attachid>
            <date>2012-07-13 08:43:39 -0700</date>
            <delta_ts>2012-07-24 00:13:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91251-20120713174336.patch</filename>
            <type>text/plain</type>
            <size>1671</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA2M2U3MmJhNmVhMWU1
ZGU2YTJmMzJmNjBkODAxNzkzZTFkOTRkZC4uYWEzOGRiMWZmMjE3MzRmZDZmZDljMDk4ZGEzZWUw
OGQ4OGRlMjJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDEyLTA3LTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFN0cmluZyB3
cmFwcGVycyBzaG91bGQgYmUgbWFya2VkIEluZGVwZW5kZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTI1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBWOCBTdHJpbmcgd3JhcHBlcnMg
YXJlIG5vdCBtYXJrZWQgSW5kZXBlbmRlbnQuCisgICAgICAgIEJ5IG1hcmtpbmcgdGhlbSBJbmRl
cGVuZGVudCwgdGhleSBjYW4gYmUgcmVjbGFpbWVkIGJ5IHRoZSBzY2F2ZW5nZXIgR0MuCisKKyAg
ICAgICAgSSB0cmllZCB0byBmaW5kIHNvbWUgY2FzZXMgd2hlcmUgdGhpcyBjaGFuZ2UgcmVkdWNl
cyBtZW1vcnkgdXNhZ2UsCisgICAgICAgIGJ1dCBjb3VsZG4ndCBkdWUgdG8gc2Vuc2l0aXZlIGJl
aGF2aW9yIG9mIEdDLgorCisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KToKKworMjAxMi0wNy0xMyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjEyMjU0NS4KICAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTIyNTQ1CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MTE4NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5k
aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5kZXgg
ODE5OGFkMGQ2YWMxZTk5NTQ5YjBhYzFlMTM5OGZmMjFmMDRkOTIxNC4uZGY3ODkxODZkODZmNGM4
YTk3YzczZDVlZDkyMmZhOTJiMDVkODBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuY3BwCkBAIC00OTMsNiArNDkzLDcgQEAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IFN0
cmluZ0NhY2hlOjp2OEV4dGVybmFsU3RyaW5nU2xvdyhTdHJpbmdJbXBsKiBzdHJpbmdJbXBsLAog
ICAgICAgICByZXR1cm4gbmV3U3RyaW5nOwogCiAgICAgc3RyaW5nSW1wbC0+cmVmKCk7CisgICAg
d3JhcHBlci5NYXJrSW5kZXBlbmRlbnQoKTsKICAgICB3cmFwcGVyLk1ha2VXZWFrKHN0cmluZ0lt
cGwsIGNhY2hlZFN0cmluZ0NhbGxiYWNrKTsKICAgICBtX3N0cmluZ0NhY2hlLnNldChzdHJpbmdJ
bXBsLCAqd3JhcHBlcik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153973</attachid>
            <date>2012-07-24 00:13:50 -0700</date>
            <delta_ts>2012-07-24 00:29:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91251-20120724161342.patch</filename>
            <type>text/plain</type>
            <size>3490</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg2OTIwM2M2OTE0OWY3
NmE0OTdlNjlhOTJiNGNlMmEyZjE4ZWFiNS4uNDMyMWFmYWQzNjU5NzVlYWZlNWJmNzk4M2U0ZDYy
MzhmZTM4Y2U1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA3LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFN0cmluZyB3
cmFwcGVycyBzaG91bGQgYmUgbWFya2VkIEluZGVwZW5kZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTI1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBWOCBTdHJpbmcgd3JhcHBlcnMg
YXJlIG5vdCBtYXJrZWQgSW5kZXBlbmRlbnQuCisgICAgICAgIEJ5IG1hcmtpbmcgdGhlbSBJbmRl
cGVuZGVudCwgdGhleSBjYW4gYmUgcmVjbGFpbWVkIGJ5IHRoZSBzY2F2ZW5nZXIgR0MuCisgICAg
ICAgIEFsdGhvdWdoIEkgY291bGRuJ3QgZmluZCBhIGNhc2Ugd2hlcmUgdGhpcyBjaGFuZ2UgcmVk
dWNlcyBtZW1vcnkgdXNhZ2UsCisgICAgICAgIHRoaXMgY2hhbmdlIHdvdWxkIGJlIGltcG9ydGFu
dCBmb3IgdXBjb21pbmcgY2hhbmdlcyBpbiBzdHJpbmcgY29udmVyc2lvbgorICAgICAgICBiZXR3
ZWVuIFY4IGFuZCBXZWJLaXQgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MTg1MCkuCisKKyAgICAgICAgJ21fbGFzdFN0cmluZ0ltcGwgPSAwJyBpbiBTdHJpbmdDYWNo
ZTo6cmVtb3ZlKCkgaXMgaW1wb3J0YW50LgorICAgICAgICBMb29rIGF0IHRoZSBmb2xsb3dpbmcg
Y29kZToKKworICAgICAgICAgICAgc3RhdGljIHZvaWQgY2FjaGVkU3RyaW5nQ2FsbGJhY2sodjg6
OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB3cmFwcGVyLCB2b2lkKiBwYXJhbWV0ZXIpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLi4uOworICAgICAgICAgICAgICAgIHN0cmluZ0NhY2hl
KCktPnJlbW92ZShzdHJpbmdJbXBsKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyLkRpc3Bvc2Uo
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdm9pZCBTdHJpbmdDYWNoZTo6cmVtb3Zl
KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Li4uCisgICAgICAgICAgICAgICAgbV9sYXN0U3RyaW5nSW1wbCA9IDA7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nKFN0
cmluZ0ltcGwqIHN0cmluZ0ltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGlmIChtX2xhc3RTdHJpbmdJbXBsLmdldCgpID09IHN0cmluZ0lt
cGwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6U3RyaW5nPjo6
TmV3KG1fbGFzdFY4U3RyaW5nKTsgLy8gbV9sYXN0VjhTdHJpbmcgcG9pbnRzIHRvIGEgd3JhcHBl
ciBvYmplY3QgdGhhdCB3YXMgYWNjZXNzZWQgbW9zdCByZWNlbnRseS4KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHY4RXh0ZXJuYWxTdHJpbmdTbG93KHN0cmluZ0lt
cGwsIGlzb2xhdGUpOworICAgICAgICAgICAgfQorCisgICAgICAgIFdpdGhvdXQgJ21fbGFzdFN0
cmluZ0ltcGwgPSAwJywgYWxyZWFkeSBkaXNwb3NlZCBtX2xhc3RWOFN0cmluZyBjYW4gYmUgdXNl
ZAorICAgICAgICBpbiB2OEV4dGVybmFsU3RyaW5nKCkuIFRoaXMgd2FzIGEgY2F1c2Ugb2YgdGhl
IGNyYXNoZXMgb2YgcjEyMjYxNC4KKworICAgICAgICBUZXN0czogQXQgdGhlIGluaXRpYWwgY29t
bWl0IG9mIHRoaXMgcGF0Y2ggKHIxMjI2MTQpLAorICAgICAgICAgICAgICAgdGhlIGZvbGxvd2lu
ZyB0ZXN0cyBoYWQgYmVlbiBicm9rZW4gZHVlIHRvIG1pc3NpbmcgJ21fbGFzdFN0cmluZ0ltcGwg
PSAwJy4KKyAgICAgICAgICAgICAgIGZhc3Qvd29ya2Vycy93b3JrZXItbG9jYXRpb24uaHRtbAor
ICAgICAgICAgICAgICAgRHJvbWFlby9jc3NxdWVyeS1qcXVlcnkuaHRtbAorICAgICAgICAgICAg
ICAgRHJvbWFlby9qc2xpYi1ldmVudC1qcXVlcnkuaHRtbAorICAgICAgICAgICAgICAgRHJvbWFl
by9qc2xpYi1zdHlsZS1qcXVlcnkuaHRtbAorICAgICAgICAgICAgICAgRHJvbWFlby9qc2xpYi1z
dHlsZS1wcm90b3R5cGUuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ0NhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2Vi
Q29yZTo6U3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KToKKwogMjAxMi0wNy0yMyAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQSBGb2N1c1Njb3Bl
IGZvciBhIGRpc3RyaWJ1dGVkIG5vZGUgc2hvdWxkIG5vdCBiZSBpdHMgVHJlZVNjb3BlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggZDI4MmIwZGJlZjc4Njk5
MzQyNWI5ZDc2YjA3N2EzM2QwMzZhY2YxMy4uOWVkNDk3OTdiMzEyYTQzMTRhNjc3Nzg4MjdlMGVk
ODZjNzJmNDVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5k
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCkBA
IC00NjcsNiArNDY3LDcgQEAgdm9pZCBTdHJpbmdDYWNoZTo6cmVtb3ZlKFN0cmluZ0ltcGwqIHN0
cmluZ0ltcGwpCiB7CiAgICAgQVNTRVJUKG1fc3RyaW5nQ2FjaGUuY29udGFpbnMoc3RyaW5nSW1w
bCkpOwogICAgIG1fc3RyaW5nQ2FjaGUucmVtb3ZlKHN0cmluZ0ltcGwpOworICAgIG1fbGFzdFN0
cmluZ0ltcGwgPSAwOwogfQogCiB2ODo6TG9jYWw8djg6OlN0cmluZz4gU3RyaW5nQ2FjaGU6OnY4
RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsIHY4OjpJc29sYXRlKiBp
c29sYXRlKQpAQCAtNDkzLDYgKzQ5NCw3IEBAIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBTdHJpbmdD
YWNoZTo6djhFeHRlcm5hbFN0cmluZ1Nsb3coU3RyaW5nSW1wbCogc3RyaW5nSW1wbCwKICAgICAg
ICAgcmV0dXJuIG5ld1N0cmluZzsKIAogICAgIHN0cmluZ0ltcGwtPnJlZigpOworICAgIHdyYXBw
ZXIuTWFya0luZGVwZW5kZW50KCk7CiAgICAgd3JhcHBlci5NYWtlV2VhayhzdHJpbmdJbXBsLCBj
YWNoZWRTdHJpbmdDYWxsYmFjayk7CiAgICAgbV9zdHJpbmdDYWNoZS5zZXQoc3RyaW5nSW1wbCwg
KndyYXBwZXIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153976</attachid>
            <date>2012-07-24 00:29:26 -0700</date>
            <delta_ts>2012-07-24 11:43:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91251-20120724162917.patch</filename>
            <type>text/plain</type>
            <size>3716</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg2OTIwM2M2OTE0OWY3
NmE0OTdlNjlhOTJiNGNlMmEyZjE4ZWFiNS4uOGQ0OTU5Yjg5NTcxOGMyZTA3MmQ4NTkyNTMxNjY5
MmJhYTJiMGQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTA3LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFN0cmluZyB3
cmFwcGVycyBzaG91bGQgYmUgbWFya2VkIEluZGVwZW5kZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTI1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBWOCBTdHJpbmcgd3JhcHBlcnMg
YXJlIG5vdCBtYXJrZWQgSW5kZXBlbmRlbnQuCisgICAgICAgIEJ5IG1hcmtpbmcgdGhlbSBJbmRl
cGVuZGVudCwgdGhleSBjYW4gYmUgcmVjbGFpbWVkIGJ5IHRoZSBzY2F2ZW5nZXIgR0MuCisgICAg
ICAgIEFsdGhvdWdoIEkgY291bGRuJ3QgZmluZCBhIGNhc2Ugd2hlcmUgdGhpcyBjaGFuZ2UgcmVk
dWNlcyBtZW1vcnkgdXNhZ2UsCisgICAgICAgIHRoaXMgY2hhbmdlIHdvdWxkIGJlIGltcG9ydGFu
dCBmb3IgdXBjb21pbmcgY2hhbmdlcyBpbiBzdHJpbmcgY29udmVyc2lvbgorICAgICAgICBiZXR3
ZWVuIFY4IGFuZCBXZWJLaXQgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MTg1MCkuCisKKyAgICAgICAgJ21fbGFzdFN0cmluZ0ltcGwgPSAwJyBpbiBTdHJpbmdDYWNo
ZTo6cmVtb3ZlKCkgaXMgaW1wb3J0YW50LgorICAgICAgICBMb29rIGF0IHRoZSBmb2xsb3dpbmcg
Y29kZToKKworICAgICAgICAgICAgc3RhdGljIHZvaWQgY2FjaGVkU3RyaW5nQ2FsbGJhY2sodjg6
OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB3cmFwcGVyLCB2b2lkKiBwYXJhbWV0ZXIpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLi4uOworICAgICAgICAgICAgICAgIHN0cmluZ0NhY2hl
KCktPnJlbW92ZShzdHJpbmdJbXBsKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyLkRpc3Bvc2Uo
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdm9pZCBTdHJpbmdDYWNoZTo6cmVtb3Zl
KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Li4uCisgICAgICAgICAgICAgICAgaWYgKG1fbGFzdFN0cmluZ0ltcGwuZ2V0KCkgPT0gc3RyaW5n
SW1wbCkKKyAgICAgICAgICAgICAgICAgICAgbV9sYXN0U3RyaW5nSW1wbCA9IDA7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3Ry
aW5nKFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGlmIChtX2xhc3RTdHJpbmdJbXBsLmdldCgpID09IHN0
cmluZ0ltcGwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPjo6TmV3KG1fbGFzdFY4U3RyaW5nKTsgLy8gbV9sYXN0VjhTdHJpbmcgcG9pbnRzIHRvIGEg
d3JhcHBlciBvYmplY3QgdGhhdCB3YXMgYWNjZXNzZWQgbW9zdCByZWNlbnRseS4KKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHY4RXh0ZXJuYWxTdHJpbmdTbG93KHN0
cmluZ0ltcGwsIGlzb2xhdGUpOworICAgICAgICAgICAgfQorCisgICAgICAgIFdpdGhvdXQgJ21f
bGFzdFN0cmluZ0ltcGwgPSAwJywgYWxyZWFkeSBkaXNwb3NlZCBtX2xhc3RWOFN0cmluZyBjYW4g
YmUgdXNlZAorICAgICAgICBpbiB2OEV4dGVybmFsU3RyaW5nKCkuIFRoaXMgd2FzIGEgY2F1c2Ug
b2YgdGhlIGNyYXNoZXMgb2YgcjEyMjYxNC4KKworICAgICAgICBUZXN0czogQXQgdGhlIGluaXRp
YWwgY29tbWl0IG9mIHRoaXMgcGF0Y2ggKHIxMjI2MTQpLAorICAgICAgICAgICAgICAgdGhlIGZv
bGxvd2luZyB0ZXN0cyBoYWQgYmVlbiBicm9rZW4gZHVlIHRvIG1pc3NpbmcgJ21fbGFzdFN0cmlu
Z0ltcGwgPSAwJy4KKyAgICAgICAgICAgICAgIGZhc3Qvd29ya2Vycy93b3JrZXItbG9jYXRpb24u
aHRtbAorICAgICAgICAgICAgICAgRHJvbWFlby9jc3NxdWVyeS1qcXVlcnkuaHRtbAorICAgICAg
ICAgICAgICAgRHJvbWFlby9qc2xpYi1ldmVudC1qcXVlcnkuaHRtbAorICAgICAgICAgICAgICAg
RHJvbWFlby9qc2xpYi1zdHlsZS1qcXVlcnkuaHRtbAorICAgICAgICAgICAgICAgRHJvbWFlby9q
c2xpYi1zdHlsZS1wcm90b3R5cGUuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5k
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ0NhY2hlOjpyZW1vdmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KToKKwogMjAxMi0w
Ny0yMyAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQSBGb2N1
c1Njb3BlIGZvciBhIGRpc3RyaWJ1dGVkIG5vZGUgc2hvdWxkIG5vdCBiZSBpdHMgVHJlZVNjb3Bl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggZDI4MmIwZGJl
Zjc4Njk5MzQyNWI5ZDc2YjA3N2EzM2QwMzZhY2YxMy4uMDI1MWNkYWJiZDJmODk5YjYxNWQ0MGIy
ODgyYmM4YzhiMTc2NTJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcu
Y3BwCkBAIC00NjcsNiArNDY3LDEwIEBAIHZvaWQgU3RyaW5nQ2FjaGU6OnJlbW92ZShTdHJpbmdJ
bXBsKiBzdHJpbmdJbXBsKQogewogICAgIEFTU0VSVChtX3N0cmluZ0NhY2hlLmNvbnRhaW5zKHN0
cmluZ0ltcGwpKTsKICAgICBtX3N0cmluZ0NhY2hlLnJlbW92ZShzdHJpbmdJbXBsKTsKKyAgICAv
LyBNYWtlIHN1cmUgdGhhdCBhbHJlYWR5IGRpc3Bvc2VkIG1fbGFzdFY4U3RyaW5nIGlzIG5vdCB1
c2VkIGluCisgICAgLy8gU3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmcoKS4KKyAgICBpZiAo
bV9sYXN0U3RyaW5nSW1wbC5nZXQoKSA9PSBzdHJpbmdJbXBsKQorICAgICAgICBtX2xhc3RTdHJp
bmdJbXBsID0gMDsKIH0KIAogdjg6OkxvY2FsPHY4OjpTdHJpbmc+IFN0cmluZ0NhY2hlOjp2OEV4
dGVybmFsU3RyaW5nU2xvdyhTdHJpbmdJbXBsKiBzdHJpbmdJbXBsLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKQEAgLTQ5Myw2ICs0OTcsNyBAQCB2ODo6TG9jYWw8djg6OlN0cmluZz4gU3RyaW5nQ2Fj
aGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsCiAgICAgICAg
IHJldHVybiBuZXdTdHJpbmc7CiAKICAgICBzdHJpbmdJbXBsLT5yZWYoKTsKKyAgICB3cmFwcGVy
Lk1hcmtJbmRlcGVuZGVudCgpOwogICAgIHdyYXBwZXIuTWFrZVdlYWsoc3RyaW5nSW1wbCwgY2Fj
aGVkU3RyaW5nQ2FsbGJhY2spOwogICAgIG1fc3RyaW5nQ2FjaGUuc2V0KHN0cmluZ0ltcGwsICp3
cmFwcGVyKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>