<?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>66038</bug_id>
          
          <creation_ts>2011-08-11 00:09:18 -0700</creation_ts>
          <short_desc>REGRESSION (r91610?): Bing Maps fail to initialize (InvalidOperation: Matrix3D.invert)</short_desc>
          <delta_ts>2011-08-15 11:08:33 -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>JavaScriptCore</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>http://maps.bing.com</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>449634</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-08-11 00:09:18 -0700</bug_when>
    <thetext>At the &lt;http://maps.bing.com/&gt;, the search field is not functional and the map is not fully rendered and cannot be panned. The JavaScript console shows:
    InvalidOperation: Matrix3D.invert

Occurs in r91611 but not in r91607.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449635</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-08-11 00:09:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/9935288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450306</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-11 23:13:06 -0700</bug_when>
    <thetext>Here&apos;s what is going on:

The DFG JIT (particularly the speculative JIT) may convert a value that is stored in a register into a different format, perhaps even moving it into a different register in the process.  This conversion may either happen in-place (where all subsequent uses of the value end up using the newly converted version of the value) or as a copy.  If it is done as a copy, then everything is fine.  But if it is done in-place, then badness can ensure, particularly if the old (unconverted) version of the value had been spilled.  Subsequent spills and fills of the value will assume that the spilled version of the value is in the same format as the version in the register, which may not be the case.

The principal example of this is converting a JSValue to a double.  The JSValue may be an Int32, a double, or sometjing else.  In the latter case, speculation fails and no conversion is performed.  If it is an Int32, then the value is converted to a double; if it is a double then it is simply unboxed.  But thereafter all code assumes that since the register contains a double then it must be the case that the spilled value is just a boxed double.  Subsequently it is possible that code will be emitted that performs double unboxing on an Int32, which results in rubbish.

The DFG JTI should make an effort to respect discrepencies between the spilled format and the register format, in a way that does not result in registers containing garbage values that lead to programs failing.

A patch is on the way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450309</commentid>
    <comment_count>3</comment_count>
      <attachid>103740</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-11 23:26:24 -0700</bug_when>
    <thetext>Created attachment 103740
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450328</commentid>
    <comment_count>4</comment_count>
      <attachid>103740</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-12 00:04:54 -0700</bug_when>
    <thetext>Comment on attachment 103740
the patch

I think we need to make the same change to JITCodeGenerator::fillDouble?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450575</commentid>
    <comment_count>5</comment_count>
      <attachid>103795</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-12 12:40:58 -0700</bug_when>
    <thetext>Created attachment 103795
the patch (fix review)

Added same functionality to JITCodeGenerator::fillDouble()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450579</commentid>
    <comment_count>6</comment_count>
      <attachid>103798</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-12 12:43:28 -0700</bug_when>
    <thetext>Created attachment 103798
the patch (fix build)

Fix typos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450603</commentid>
    <comment_count>7</comment_count>
      <attachid>103803</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-12 13:12:10 -0700</bug_when>
    <thetext>Created attachment 103803
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450618</commentid>
    <comment_count>8</comment_count>
      <attachid>103803</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-12 13:30:38 -0700</bug_when>
    <thetext>Comment on attachment 103803
the patch

landing by hand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450620</commentid>
    <comment_count>9</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-12 13:33:40 -0700</bug_when>
    <thetext>Fixed in r92986</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451056</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 07:12:32 -0700</bug_when>
    <thetext>Is it not possible to write an automated regression test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451143</commentid>
    <comment_count>11</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-15 10:55:34 -0700</bug_when>
    <thetext>Hey Adam,

It would be very difficult to do so.  The bug is triggered through interactions over multiple bytecode operations, including some that are not directly involved in the data flow since the problem is dependent on machine register allocator behavior.

It requires that an integer value is generated by code, spilled, filled, moved to a floating point register, that a unexpected callout from the speculative path occurs (using a silent spill), and that the value is then used again.  Writing a test case that tripped over this would be tricky, and would be likely to be of extremely limited value since it would probably be short lived (any such test case would be hugely fragile to changes in register allocator behavior).

However we have hardened against this kind of bug in the future through Bug 66160, which adds asserts to catch such errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451145</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 10:57:03 -0700</bug_when>
    <thetext>OK, thanks for the explanation!

In the future, it would be good to mention why writing a test is not possible in your ChangeLog. That way people won&apos;t wonder if you just forgot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451154</commentid>
    <comment_count>13</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-15 11:08:33 -0700</bug_when>
    <thetext>Ah, good point.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103740</attachid>
            <date>2011-08-11 23:26:24 -0700</date>
            <delta_ts>2011-08-12 12:40:58 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>killspill_patch_1.diff</filename>
            <type>text/plain</type>
            <size>2200</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDgtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyOTE2MTA/KTogQmluZyBNYXBzIGZhaWwgdG8gaW5pdGlhbGl6ZSAoSW52YWxp
ZE9wZXJhdGlvbjoKKyAgICAgICAgTWF0cml4M0QuaW52ZXJ0KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNpbXBsZXN0IGFuZCBsb3dlc3Qt
aW1wYWN0IGZpeCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHNwaWxsZWQgZm9ybWF0CisgICAgICAg
IG9mIGEgREZHIG5vZGUgZGlmZmVycyBmcm9tIHRoZSByZWdpc3RlciBmb3JtYXQ6IGlmIHRoZSBm
b3JtYXQgaXMKKyAgICAgICAgY29udmVydGVkIHRoZW4gaW5kaWNhdGUgdGhhdCB0aGUgc3BpbGxl
ZCB2YWx1ZSBpcyBubyBsb25nZXIgdmFsaWQKKyAgICAgICAgKCJraWxsIHRoZSBzcGlsbCIpLgor
CisgICAgICAgICogZGZnL0RGR0dlbmVyYXRpb25JbmZvLmg6CisgICAgICAgIChKU0M6OkRGRzo6
R2VuZXJhdGlvbkluZm86OmtpbGxTcGlsbGVkKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlRG91YmxlKToKKwogMjAxMS0wOC0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIERGRyBKSVQtc3BlY2lmaWMgc3RydWN0dXJlIHN0dWIgaW5mbyBjb2RlIG9m
ZnNldCBmaWVsZHMgYXJlIHNpZ25lZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHZW5lcmF0aW9uSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR2VuZXJhdGlvbkluZm8uaAkocmV2aXNpb24gOTI5MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2
ICsyMzgsMTIgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9jYW5GaWxsICYmIG1fcmVnaXN0
ZXJGb3JtYXQgIT0gRGF0YUZvcm1hdE5vbmUpOwogICAgICAgICBtX3JlZ2lzdGVyRm9ybWF0ID0g
RGF0YUZvcm1hdE5vbmU7CiAgICAgfQorICAgIAorICAgIHZvaWQga2lsbFNwaWxsZWQoKQorICAg
IHsKKyAgICAgICAgbV9zcGlsbEZvcm1hdCA9IERhdGFGb3JtYXROb25lOworICAgICAgICBtX2Nh
bkZpbGwgPSBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBSZWNvcmQgdGhhdCB0aGlzIHZhbHVlIGlz
IGZpbGxlZCBpbnRvIG1hY2hpbmUgcmVnaXN0ZXJzLAogICAgIC8vIHRyYWNraW5nIHdoaWNoIHJl
Z2lzdGVycywgYW5kIHdoYXQgZm9ybWF0IHRoZSB2YWx1ZSBoYXMuCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gOTI5
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjU1LDYgKzI1NSw3IEBAIEZQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6
ZmlsbFNwZWN1bGF0ZURvdWIKICAgICAgICAgbV9ncHJzLnVubG9jayh0ZW1wR3ByKTsKICAgICAg
ICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRvdWJsZSk7
CiAgICAgICAgIGluZm8uZmlsbERvdWJsZShmcHIpOworICAgICAgICBpbmZvLmtpbGxTcGlsbGVk
KCk7CiAgICAgICAgIHJldHVybiBmcHI7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="99436"
          type_id="1"
          status="-"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103795</attachid>
            <date>2011-08-12 12:40:58 -0700</date>
            <delta_ts>2011-08-12 12:43:28 -0700</delta_ts>
            <desc>the patch (fix review)</desc>
            <filename>killspill_patch_2.diff</filename>
            <type>text/plain</type>
            <size>2926</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDgtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyOTE2MTA/KTogQmluZyBNYXBzIGZhaWwgdG8gaW5pdGlhbGl6ZSAoSW52YWxp
ZE9wZXJhdGlvbjoKKyAgICAgICAgTWF0cml4M0QuaW52ZXJ0KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNpbXBsZXN0IGFuZCBsb3dlc3Qt
aW1wYWN0IGZpeCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHNwaWxsZWQgZm9ybWF0CisgICAgICAg
IG9mIGEgREZHIG5vZGUgZGlmZmVycyBmcm9tIHRoZSByZWdpc3RlciBmb3JtYXQ6IGlmIHRoZSBm
b3JtYXQgaXMKKyAgICAgICAgY29udmVydGVkIHRoZW4gaW5kaWNhdGUgdGhhdCB0aGUgc3BpbGxl
ZCB2YWx1ZSBpcyBubyBsb25nZXIgdmFsaWQKKyAgICAgICAgKCJraWxsIHRoZSBzcGlsbCIpLgor
CisgICAgICAgICogZGZnL0RGR0dlbmVyYXRpb25JbmZvLmg6CisgICAgICAgIChKU0M6OkRGRzo6
R2VuZXJhdGlvbkluZm86OmtpbGxTcGlsbGVkKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlRG91YmxlKToKKwogMjAxMS0wOC0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIERGRyBKSVQtc3BlY2lmaWMgc3RydWN0dXJlIHN0dWIgaW5mbyBjb2RlIG9m
ZnNldCBmaWVsZHMgYXJlIHNpZ25lZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHZW5lcmF0aW9uSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR2VuZXJhdGlvbkluZm8uaAkocmV2aXNpb24gOTI5MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2
ICsyMzgsMTIgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9jYW5GaWxsICYmIG1fcmVnaXN0
ZXJGb3JtYXQgIT0gRGF0YUZvcm1hdE5vbmUpOwogICAgICAgICBtX3JlZ2lzdGVyRm9ybWF0ID0g
RGF0YUZvcm1hdE5vbmU7CiAgICAgfQorICAgIAorICAgIHZvaWQga2lsbFNwaWxsZWQoKQorICAg
IHsKKyAgICAgICAgbV9zcGlsbEZvcm1hdCA9IERhdGFGb3JtYXROb25lOworICAgICAgICBtX2Nh
bkZpbGwgPSBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBSZWNvcmQgdGhhdCB0aGlzIHZhbHVlIGlz
IGZpbGxlZCBpbnRvIG1hY2hpbmUgcmVnaXN0ZXJzLAogICAgIC8vIHRyYWNraW5nIHdoaWNoIHJl
Z2lzdGVycywgYW5kIHdoYXQgZm9ybWF0IHRoZSB2YWx1ZSBoYXMuCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9u
IDkyOTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9y
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIEZQUlJlZyBKSVRDb2RlR2Vu
ZXJhdG9yOjpmaWxsRG91YmxlKE5vZGUKICAgICAgICAgbV9ncHJzLnVubG9jayh0ZW1wR3ByKTsK
ICAgICAgICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRv
dWJsZSk7CiAgICAgICAgIGluZm8uZmlsbERvdWJsZShmcHIpOworICAgICAgICBpbmZvLmtpbGxT
cGlsbCgpOwogICAgICAgICByZXR1cm4gZnByOwogICAgIH0KIApAQCAtMjA0LDYgKzIwNSw3IEBA
IEZQUlJlZyBKSVRDb2RlR2VuZXJhdG9yOjpmaWxsRG91YmxlKE5vZGUKICAgICAgICAgbV9mcHJz
LnJldGFpbihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRvdWJsZSk7CiAKICAgICAg
ICAgaW5mby5maWxsRG91YmxlKGZwcik7CisgICAgICAgIGluZm8ua2lsbFNwaWxsKCk7CiAgICAg
ICAgIHJldHVybiBmcHI7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gOTI5MzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjU1LDYgKzI1NSw3IEBAIEZQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZURv
dWIKICAgICAgICAgbV9ncHJzLnVubG9jayh0ZW1wR3ByKTsKICAgICAgICAgbV9mcHJzLnJldGFp
bihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRvdWJsZSk7CiAgICAgICAgIGluZm8u
ZmlsbERvdWJsZShmcHIpOworICAgICAgICBpbmZvLmtpbGxTcGlsbGVkKCk7CiAgICAgICAgIHJl
dHVybiBmcHI7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103798</attachid>
            <date>2011-08-12 12:43:28 -0700</date>
            <delta_ts>2011-08-12 13:12:10 -0700</delta_ts>
            <desc>the patch (fix build)</desc>
            <filename>killspill_patch_3.diff</filename>
            <type>text/plain</type>
            <size>2930</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDgtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyOTE2MTA/KTogQmluZyBNYXBzIGZhaWwgdG8gaW5pdGlhbGl6ZSAoSW52YWxp
ZE9wZXJhdGlvbjoKKyAgICAgICAgTWF0cml4M0QuaW52ZXJ0KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNpbXBsZXN0IGFuZCBsb3dlc3Qt
aW1wYWN0IGZpeCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHNwaWxsZWQgZm9ybWF0CisgICAgICAg
IG9mIGEgREZHIG5vZGUgZGlmZmVycyBmcm9tIHRoZSByZWdpc3RlciBmb3JtYXQ6IGlmIHRoZSBm
b3JtYXQgaXMKKyAgICAgICAgY29udmVydGVkIHRoZW4gaW5kaWNhdGUgdGhhdCB0aGUgc3BpbGxl
ZCB2YWx1ZSBpcyBubyBsb25nZXIgdmFsaWQKKyAgICAgICAgKCJraWxsIHRoZSBzcGlsbCIpLgor
CisgICAgICAgICogZGZnL0RGR0dlbmVyYXRpb25JbmZvLmg6CisgICAgICAgIChKU0M6OkRGRzo6
R2VuZXJhdGlvbkluZm86OmtpbGxTcGlsbGVkKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlRG91YmxlKToKKwogMjAxMS0wOC0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIERGRyBKSVQtc3BlY2lmaWMgc3RydWN0dXJlIHN0dWIgaW5mbyBjb2RlIG9m
ZnNldCBmaWVsZHMgYXJlIHNpZ25lZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHZW5lcmF0aW9uSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR2VuZXJhdGlvbkluZm8uaAkocmV2aXNpb24gOTI5MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2
ICsyMzgsMTIgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9jYW5GaWxsICYmIG1fcmVnaXN0
ZXJGb3JtYXQgIT0gRGF0YUZvcm1hdE5vbmUpOwogICAgICAgICBtX3JlZ2lzdGVyRm9ybWF0ID0g
RGF0YUZvcm1hdE5vbmU7CiAgICAgfQorICAgIAorICAgIHZvaWQga2lsbFNwaWxsZWQoKQorICAg
IHsKKyAgICAgICAgbV9zcGlsbEZvcm1hdCA9IERhdGFGb3JtYXROb25lOworICAgICAgICBtX2Nh
bkZpbGwgPSBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBSZWNvcmQgdGhhdCB0aGlzIHZhbHVlIGlz
IGZpbGxlZCBpbnRvIG1hY2hpbmUgcmVnaXN0ZXJzLAogICAgIC8vIHRyYWNraW5nIHdoaWNoIHJl
Z2lzdGVycywgYW5kIHdoYXQgZm9ybWF0IHRoZSB2YWx1ZSBoYXMuCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9u
IDkyOTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9y
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIEZQUlJlZyBKSVRDb2RlR2Vu
ZXJhdG9yOjpmaWxsRG91YmxlKE5vZGUKICAgICAgICAgbV9ncHJzLnVubG9jayh0ZW1wR3ByKTsK
ICAgICAgICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRv
dWJsZSk7CiAgICAgICAgIGluZm8uZmlsbERvdWJsZShmcHIpOworICAgICAgICBpbmZvLmtpbGxT
cGlsbGVkKCk7CiAgICAgICAgIHJldHVybiBmcHI7CiAgICAgfQogCkBAIC0yMDQsNiArMjA1LDcg
QEAgRlBSUmVnIEpJVENvZGVHZW5lcmF0b3I6OmZpbGxEb3VibGUoTm9kZQogICAgICAgICBtX2Zw
cnMucmV0YWluKGZwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9yZGVyRG91YmxlKTsKIAogICAg
ICAgICBpbmZvLmZpbGxEb3VibGUoZnByKTsKKyAgICAgICAgaW5mby5raWxsU3BpbGxlZCgpOwog
ICAgICAgICByZXR1cm4gZnByOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDkyOTM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1NSw2ICsyNTUsNyBAQCBGUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVEb3ViCiAgICAgICAgIG1fZ3Bycy51bmxvY2sodGVtcEdwcik7CiAgICAgICAgIG1fZnBycy5y
ZXRhaW4oZnByLCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJEb3VibGUpOwogICAgICAgICBp
bmZvLmZpbGxEb3VibGUoZnByKTsKKyAgICAgICAgaW5mby5raWxsU3BpbGxlZCgpOwogICAgICAg
ICByZXR1cm4gZnByOwogICAgIH0KIAo=
</data>
<flag name="review"
          id="99502"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103803</attachid>
            <date>2011-08-12 13:12:10 -0700</date>
            <delta_ts>2011-08-12 13:30:38 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>killspill_patch_4.diff</filename>
            <type>text/plain</type>
            <size>2807</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTEtMDgtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyOTE2MTA/KTogQmluZyBNYXBzIGZhaWwgdG8gaW5pdGlhbGl6ZSAoSW52YWxp
ZE9wZXJhdGlvbjoKKyAgICAgICAgTWF0cml4M0QuaW52ZXJ0KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBHYXZpbiBCYXJyYWNsb3VnaC4KKyAgICAgICAgCisgICAgICAgIFNpbXBsZXN0IGFuZCBsb3dl
c3QtaW1wYWN0IGZpeCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHNwaWxsZWQgZm9ybWF0CisgICAg
ICAgIG9mIGEgREZHIG5vZGUgZGlmZmVycyBmcm9tIHRoZSByZWdpc3RlciBmb3JtYXQ6IGlmIHRo
ZSBmb3JtYXQgaXMKKyAgICAgICAgY29udmVydGVkIHRoZW4gaW5kaWNhdGUgdGhhdCB0aGUgc3Bp
bGxlZCB2YWx1ZSBpcyBubyBsb25nZXIgdmFsaWQKKyAgICAgICAgKCJraWxsIHRoZSBzcGlsbCIp
LgorCisgICAgICAgICogZGZnL0RGR0dlbmVyYXRpb25JbmZvLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6R2VuZXJhdGlvbkluZm86OmtpbGxTcGlsbGVkKToKKyAgICAgICAgKiBkZmcvREZHSklUQ29k
ZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6Zmls
bERvdWJsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZURvdWJsZSk6CisKIDIwMTEt
MDgtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgSklU
LXNwZWNpZmljIHN0cnVjdHVyZSBzdHViIGluZm8gY29kZSBvZmZzZXQgZmllbGRzIGFyZSBzaWdu
ZWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR2VuZXJhdGlvbkluZm8uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZv
LmgJKHJldmlzaW9uIDkyOTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHZW5l
cmF0aW9uSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzgsNiArMjM4LDEyIEBAIHB1YmxpYzoK
ICAgICAgICAgQVNTRVJUKG1fY2FuRmlsbCAmJiBtX3JlZ2lzdGVyRm9ybWF0ICE9IERhdGFGb3Jt
YXROb25lKTsKICAgICAgICAgbV9yZWdpc3RlckZvcm1hdCA9IERhdGFGb3JtYXROb25lOwogICAg
IH0KKyAgICAKKyAgICB2b2lkIGtpbGxTcGlsbGVkKCkKKyAgICB7CisgICAgICAgIG1fc3BpbGxG
b3JtYXQgPSBEYXRhRm9ybWF0Tm9uZTsKKyAgICAgICAgbV9jYW5GaWxsID0gZmFsc2U7CisgICAg
fQogCiAgICAgLy8gUmVjb3JkIHRoYXQgdGhpcyB2YWx1ZSBpcyBmaWxsZWQgaW50byBtYWNoaW5l
IHJlZ2lzdGVycywKICAgICAvLyB0cmFja2luZyB3aGljaCByZWdpc3RlcnMsIGFuZCB3aGF0IGZv
cm1hdCB0aGUgdmFsdWUgaGFzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdK
SVRDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiA5MjkzNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE4Miw2ICsxODIsNyBAQCBGUFJSZWcgSklUQ29kZUdlbmVyYXRvcjo6ZmlsbERvdWJsZShO
b2RlCiAgICAgICAgIG1fZ3Bycy51bmxvY2sodGVtcEdwcik7CiAgICAgICAgIG1fZnBycy5yZXRh
aW4oZnByLCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJEb3VibGUpOwogICAgICAgICBpbmZv
LmZpbGxEb3VibGUoZnByKTsKKyAgICAgICAgaW5mby5raWxsU3BpbGxlZCgpOwogICAgICAgICBy
ZXR1cm4gZnByOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDkyOTM2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
NSw2ICsyNTUsNyBAQCBGUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVEb3ViCiAg
ICAgICAgIG1fZ3Bycy51bmxvY2sodGVtcEdwcik7CiAgICAgICAgIG1fZnBycy5yZXRhaW4oZnBy
LCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJEb3VibGUpOwogICAgICAgICBpbmZvLmZpbGxE
b3VibGUoZnByKTsKKyAgICAgICAgaW5mby5raWxsU3BpbGxlZCgpOwogICAgICAgICByZXR1cm4g
ZnByOwogICAgIH0KIAo=
</data>
<flag name="commit-queue"
          id="99508"
          type_id="3"
          status="-"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>