<?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>86413</bug_id>
          
          <creation_ts>2012-05-14 16:46:14 -0700</creation_ts>
          <short_desc>MainResourceLoader::load() always returns true</short_desc>
          <delta_ts>2012-05-15 16:31:04 -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 Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>623447</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-14 16:46:14 -0700</bug_when>
    <thetext>...so we should be able to make it return void and remove the codepath handling the false case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623452</commentid>
    <comment_count>1</comment_count>
      <attachid>141812</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-14 16:51:12 -0700</bug_when>
    <thetext>Created attachment 141812
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623460</commentid>
    <comment_count>2</comment_count>
      <attachid>141812</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-14 16:59:10 -0700</bug_when>
    <thetext>Comment on attachment 141812
patch

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

&gt; Source/WebCore/loader/MainResourceLoader.h:57
&gt; -        virtual bool load(const ResourceRequest&amp;, const SubstituteData&amp;);
&gt; +        virtual void load(const ResourceRequest&amp;, const SubstituteData&amp;);

Is it also not really virtual?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623464</commentid>
    <comment_count>3</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-14 17:02:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 141812 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141812&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/MainResourceLoader.h:57
&gt; &gt; -        virtual bool load(const ResourceRequest&amp;, const SubstituteData&amp;);
&gt; &gt; +        virtual void load(const ResourceRequest&amp;, const SubstituteData&amp;);
&gt; 
&gt; Is it also not really virtual?

So it appears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623469</commentid>
    <comment_count>4</comment_count>
      <attachid>141816</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-14 17:05:40 -0700</bug_when>
    <thetext>Created attachment 141816
make load() non-virtual</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623731</commentid>
    <comment_count>5</comment_count>
      <attachid>141816</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 00:14:43 -0700</bug_when>
    <thetext>Comment on attachment 141816
make load() non-virtual

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

&gt; Source/WebCore/loader/DocumentLoader.cpp:-842
&gt; -    // Protect MainResourceLoader::load() method chain from clearMainResourceLoader() stomping m_mainResourceLoader.
&gt; -    RefPtr&lt;MainResourceLoader&gt; protectedMainResourceLoader(m_mainResourceLoader);

What proves this is no longer needed? It seems to have nothing to do with the return value from load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623785</commentid>
    <comment_count>6</comment_count>
      <attachid>141816</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-15 01:19:48 -0700</bug_when>
    <thetext>Comment on attachment 141816
make load() non-virtual

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

&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:-842
&gt;&gt; -    RefPtr&lt;MainResourceLoader&gt; protectedMainResourceLoader(m_mainResourceLoader);
&gt; 
&gt; What proves this is no longer needed? It seems to have nothing to do with the return value from load.

I think that this is just following a general pattern in WebKit - a function that needs to protect a variable needs to do that itself. Since load() is now the last line here, RefPtr is clearly out of place.

An investigation of why this RefPtr was added, and whether that&apos;s covered by regression tests would be useful indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624211</commentid>
    <comment_count>7</comment_count>
      <attachid>141816</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 10:07:51 -0700</bug_when>
    <thetext>Comment on attachment 141816
make load() non-virtual

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

&gt;&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:-842
&gt;&gt;&gt; -    RefPtr&lt;MainResourceLoader&gt; protectedMainResourceLoader(m_mainResourceLoader);
&gt;&gt; 
&gt;&gt; What proves this is no longer needed? It seems to have nothing to do with the return value from load.
&gt; 
&gt; I think that this is just following a general pattern in WebKit - a function that needs to protect a variable needs to do that itself. Since load() is now the last line here, RefPtr is clearly out of place.
&gt; 
&gt; An investigation of why this RefPtr was added, and whether that&apos;s covered by regression tests would be useful indeed.

I see what you mean. The safe thing would be to move the RefPtr into the load function, given that, not remove the RefPtr. Unless we’re certain the load function doesn’t need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624229</commentid>
    <comment_count>8</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 10:23:53 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 141816 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141816&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:-842
&gt; &gt;&gt;&gt; -    RefPtr&lt;MainResourceLoader&gt; protectedMainResourceLoader(m_mainResourceLoader);
&gt; &gt;&gt; 
&gt; &gt;&gt; What proves this is no longer needed? It seems to have nothing to do with the return value from load.
&gt; &gt; 
&gt; &gt; I think that this is just following a general pattern in WebKit - a function that needs to protect a variable needs to do that itself. Since load() is now the last line here, RefPtr is clearly out of place.
&gt; &gt; 
&gt; &gt; An investigation of why this RefPtr was added, and whether that&apos;s covered by regression tests would be useful indeed.
&gt; 
&gt; I see what you mean. The safe thing would be to move the RefPtr into the load function, given that, not remove the RefPtr. Unless we’re certain the load function doesn’t need it.

I looked briefly before posting the patch and didn&apos;t see any problems, but I wasn&apos;t as thorough as I should&apos;ve been. I&apos;ll look more carefully and report back, or I&apos;ll add the protecting RefPtr to load() before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624260</commentid>
    <comment_count>9</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 10:49:40 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 141816 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141816&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:-842
&gt; &gt; &gt;&gt;&gt; -    RefPtr&lt;MainResourceLoader&gt; protectedMainResourceLoader(m_mainResourceLoader);
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; What proves this is no longer needed? It seems to have nothing to do with the return value from load.
&gt; &gt; &gt; 
&gt; &gt; &gt; I think that this is just following a general pattern in WebKit - a function that needs to protect a variable needs to do that itself. Since load() is now the last line here, RefPtr is clearly out of place.
&gt; &gt; &gt; 
&gt; &gt; &gt; An investigation of why this RefPtr was added, and whether that&apos;s covered by regression tests would be useful indeed.
&gt; &gt; 
&gt; &gt; I see what you mean. The safe thing would be to move the RefPtr into the load function, given that, not remove the RefPtr. Unless we’re certain the load function doesn’t need it.
&gt; 
&gt; I looked briefly before posting the patch and didn&apos;t see any problems, but I wasn&apos;t as thorough as I should&apos;ve been. I&apos;ll look more carefully and report back, or I&apos;ll add the protecting RefPtr to load() before landing.

The more I look, the less convinced I am that removing the RefPtr was safe. Adding back in and landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624269</commentid>
    <comment_count>10</comment_count>
      <attachid>142006</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 10:59:05 -0700</bug_when>
    <thetext>Created attachment 142006
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624440</commentid>
    <comment_count>11</comment_count>
      <attachid>142006</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 13:03:04 -0700</bug_when>
    <thetext>Comment on attachment 142006
Patch for landing

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

&gt; Source/WebCore/loader/MainResourceLoader.cpp:657
&gt; +    RefPtr&lt;MainResourceLoader&gt; protect(this);

Might be worthwhile to add a comment here explaining why we think this is needed. There was a comment in startLoadingMainResource, even though it wasn’t particularly clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624449</commentid>
    <comment_count>12</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 13:07:53 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 142006 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142006&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/MainResourceLoader.cpp:657
&gt; &gt; +    RefPtr&lt;MainResourceLoader&gt; protect(this);
&gt; 
&gt; Might be worthwhile to add a comment here explaining why we think this is needed. There was a comment in startLoadingMainResource, even though it wasn’t particularly clear.

ap and I briefly debated this in #webkit. I felt the previous comment was pretty vacuous, as it paraphrases to &quot;Prevent us from being deleted by the only place that clears our main RefPtr&quot;.

It might be a little clearer, regardless of the presence of a comment, if the RefPtr were in loadNow() instead of load(), but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624456</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 13:16:04 -0700</bug_when>
    <thetext>Here’s my comment on the comment: Maybe there’s nothing to say in the comment because we know nothing. If we know anything about why this is helpful, saying what little we do know in the comment can help people later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624458</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 13:16:17 -0700</bug_when>
    <thetext>Re: the old comment being vacuous, I agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624466</commentid>
    <comment_count>15</comment_count>
      <attachid>142006</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 13:20:06 -0700</bug_when>
    <thetext>Comment on attachment 142006
Patch for landing

Fair enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624494</commentid>
    <comment_count>16</comment_count>
      <attachid>142041</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-05-15 13:37:16 -0700</bug_when>
    <thetext>Created attachment 142041
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624721</commentid>
    <comment_count>17</comment_count>
      <attachid>142041</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 16:30:59 -0700</bug_when>
    <thetext>Comment on attachment 142041
Patch for landing

Clearing flags on attachment: 142041

Committed r117181: &lt;http://trac.webkit.org/changeset/117181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624722</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 16:31:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141812</attachid>
            <date>2012-05-14 16:51:12 -0700</date>
            <delta_ts>2012-05-14 17:05:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>load.txt</filename>
            <type>text/plain</type>
            <size>3586</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzAxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDIyIEBACiAyMDEyLTA1LTE0ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgTWFpblJlc291cmNlTG9hZGVy
Ojpsb2FkKCkgYWx3YXlzIHJldHVybnMgdHJ1ZSwgc28gbWFrZSBpdCByZXR1cm4KKyAgICAgICAg
dm9pZCBhbmQgZGVsZXRlIHRoZSByZWxhdGVkIGRlYWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NDEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjbGVhbnVwIG9ubHku
CisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSk6CisgICAgICAgICog
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVz
b3VyY2VMb2FkZXI6OmxvYWQpOgorICAgICAgICAqIGxvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
aDoKKyAgICAgICAgKE1haW5SZXNvdXJjZUxvYWRlcik6CisKKzIwMTItMDUtMTQgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbVjhdIENyYXNoIGluIG5wT2Jq
ZWN0R2V0UHJvcGVydHkoKSBpbiBWOE5QT2JqZWN0LmNwcAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzEKIApJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTE2MTIyKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01
NCw3ICs1NCw3IEBACiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1haW5SZXNvdXJjZUxvYWRl
cj4gY3JlYXRlKEZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgfk1haW5SZXNvdXJjZUxvYWRlcigp
OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFN1YnN0aXR1dGVEYXRhJik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqLCBpbnQsIGJvb2wgYWxsQXRPbmNlKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxMTYxMjIpCisr
KyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjUxLDcgKzY1MSw3IEBACiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIE1h
aW5SZXNvdXJjZUxvYWRlcjo6bG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHIsIGNvbnN0IFN1
YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSkKK3ZvaWQgTWFpblJlc291cmNlTG9hZGVyOjps
b2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgciwgY29uc3QgU3Vic3RpdHV0ZURhdGEmIHN1YnN0
aXR1dGVEYXRhKQogewogICAgIEFTU0VSVCghbV9oYW5kbGUpOwogCkBAIC02NzksOCArNjc5LDYg
QEAKICAgICB9CiAgICAgaWYgKGRlZmVyKQogICAgICAgICBtX2luaXRpYWxSZXF1ZXN0ID0gcmVx
dWVzdDsKLQotICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6
c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmNwcAkocmV2aXNpb24gMTE2MTIyKQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODM3LDE3ICs4Mzcs
NyBAQAogICAgIC8vIEZJWE1FOiBJcyB0aGVyZSBhbnkgd2F5IHRoZSBleHRyYSBmaWVsZHMgY291
bGQgaGF2ZSBub3QgYmVlbiBhZGRlZCBieSBub3c/CiAgICAgLy8gSWYgbm90LCBpdCB3b3VsZCBi
ZSBncmVhdCB0byByZW1vdmUgdGhpcyBsaW5lIG9mIGNvZGUuCiAgICAgZnJhbWVMb2FkZXIoKS0+
YWRkRXh0cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3QobV9yZXF1ZXN0KTsKLSAgICAKLSAg
ICAvLyBQcm90ZWN0IE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZCgpIG1ldGhvZCBjaGFpbiBmcm9t
IGNsZWFyTWFpblJlc291cmNlTG9hZGVyKCkgc3RvbXBpbmcgbV9tYWluUmVzb3VyY2VMb2FkZXIu
Ci0gICAgUmVmUHRyPE1haW5SZXNvdXJjZUxvYWRlcj4gcHJvdGVjdGVkTWFpblJlc291cmNlTG9h
ZGVyKG1fbWFpblJlc291cmNlTG9hZGVyKTsKLSAgICBpZiAoIXByb3RlY3RlZE1haW5SZXNvdXJj
ZUxvYWRlci0+bG9hZChtX3JlcXVlc3QsIG1fc3Vic3RpdHV0ZURhdGEpKSB7Ci0gICAgICAgIC8v
IEZJWE1FOiBJZiB0aGlzIHNob3VsZCByZWFsbHkgYmUgY2F1Z2h0LCB3ZSBzaG91bGQganVzdCBB
U1NFUlQgdGhpcyBkb2Vzbid0IGhhcHBlbjsKLSAgICAgICAgLy8gc2hvdWxkIGl0IGJlIGNhdWdo
dCBieSBvdGhlciBwYXJ0cyBvZiBXZWJLaXQgb3Igb3RoZXIgcGFydHMgb2YgdGhlIGFwcD8KLSAg
ICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgY3JlYXRlIFdlYlJlc291cmNlSGFuZGxlIGZvciBV
UkwgJXMgLS0gc2hvdWxkIGJlIGNhdWdodCBieSBwb2xpY3kgaGFuZGxlciBsZXZlbCIsIG1fcmVx
dWVzdC51cmwoKS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIG1fbWFpblJlc291
cmNlTG9hZGVyID0gMDsKLSAgICAgICAgQVNTRVJUKCFpc0xvYWRpbmcoKSk7Ci0gICAgICAgIGNo
ZWNrTG9hZENvbXBsZXRlKCk7Ci0gICAgfQorICAgIG1fbWFpblJlc291cmNlTG9hZGVyLT5sb2Fk
KG1fcmVxdWVzdCwgbV9zdWJzdGl0dXRlRGF0YSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6
OmNhbmNlbE1haW5SZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141816</attachid>
            <date>2012-05-14 17:05:40 -0700</date>
            <delta_ts>2012-05-15 10:59:00 -0700</delta_ts>
            <desc>make load() non-virtual</desc>
            <filename>load.txt</filename>
            <type>text/plain</type>
            <size>3578</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzAxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDIyIEBACiAyMDEyLTA1LTE0ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgTWFpblJlc291cmNlTG9hZGVy
Ojpsb2FkKCkgYWx3YXlzIHJldHVybnMgdHJ1ZSwgc28gbWFrZSBpdCByZXR1cm4KKyAgICAgICAg
dm9pZCBhbmQgZGVsZXRlIHRoZSByZWxhdGVkIGRlYWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NDEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjbGVhbnVwIG9ubHku
CisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSk6CisgICAgICAgICog
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVz
b3VyY2VMb2FkZXI6OmxvYWQpOgorICAgICAgICAqIGxvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
aDoKKyAgICAgICAgKE1haW5SZXNvdXJjZUxvYWRlcik6CisKKzIwMTItMDUtMTQgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbVjhdIENyYXNoIGluIG5wT2Jq
ZWN0R2V0UHJvcGVydHkoKSBpbiBWOE5QT2JqZWN0LmNwcAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzEKIApJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTE2MTIyKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01
NCw3ICs1NCw3IEBACiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1haW5SZXNvdXJjZUxvYWRl
cj4gY3JlYXRlKEZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgfk1haW5SZXNvdXJjZUxvYWRlcigp
OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFN1YnN0aXR1dGVEYXRhJik7CisgICAgICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgYWRk
RGF0YShjb25zdCBjaGFyKiwgaW50LCBib29sIGFsbEF0T25jZSk7CiAKICAgICAgICAgdmlydHVh
bCB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTE2MTIyKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY1MSw3ICs2NTEsNyBAQAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBNYWluUmVzb3Vy
Y2VMb2FkZXI6OmxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByLCBjb25zdCBTdWJzdGl0dXRl
RGF0YSYgc3Vic3RpdHV0ZURhdGEpCit2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHIsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0
YSkKIHsKICAgICBBU1NFUlQoIW1faGFuZGxlKTsKIApAQCAtNjc5LDggKzY3OSw2IEBACiAgICAg
fQogICAgIGlmIChkZWZlcikKICAgICAgICAgbV9pbml0aWFsUmVxdWVzdCA9IHJlcXVlc3Q7Ci0K
LSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OnNldERlZmVy
c0xvYWRpbmcoYm9vbCBkZWZlcnMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAJKHJldmlzaW9uIDExNjEyMikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzNywxNyArODM3LDcgQEAKICAg
ICAvLyBGSVhNRTogSXMgdGhlcmUgYW55IHdheSB0aGUgZXh0cmEgZmllbGRzIGNvdWxkIGhhdmUg
bm90IGJlZW4gYWRkZWQgYnkgbm93PwogICAgIC8vIElmIG5vdCwgaXQgd291bGQgYmUgZ3JlYXQg
dG8gcmVtb3ZlIHRoaXMgbGluZSBvZiBjb2RlLgogICAgIGZyYW1lTG9hZGVyKCktPmFkZEV4dHJh
RmllbGRzVG9NYWluUmVzb3VyY2VSZXF1ZXN0KG1fcmVxdWVzdCk7Ci0gICAgCi0gICAgLy8gUHJv
dGVjdCBNYWluUmVzb3VyY2VMb2FkZXI6OmxvYWQoKSBtZXRob2QgY2hhaW4gZnJvbSBjbGVhck1h
aW5SZXNvdXJjZUxvYWRlcigpIHN0b21waW5nIG1fbWFpblJlc291cmNlTG9hZGVyLgotICAgIFJl
ZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IHByb3RlY3RlZE1haW5SZXNvdXJjZUxvYWRlcihtX21h
aW5SZXNvdXJjZUxvYWRlcik7Ci0gICAgaWYgKCFwcm90ZWN0ZWRNYWluUmVzb3VyY2VMb2FkZXIt
PmxvYWQobV9yZXF1ZXN0LCBtX3N1YnN0aXR1dGVEYXRhKSkgewotICAgICAgICAvLyBGSVhNRTog
SWYgdGhpcyBzaG91bGQgcmVhbGx5IGJlIGNhdWdodCwgd2Ugc2hvdWxkIGp1c3QgQVNTRVJUIHRo
aXMgZG9lc24ndCBoYXBwZW47Ci0gICAgICAgIC8vIHNob3VsZCBpdCBiZSBjYXVnaHQgYnkgb3Ro
ZXIgcGFydHMgb2YgV2ViS2l0IG9yIG90aGVyIHBhcnRzIG9mIHRoZSBhcHA/Ci0gICAgICAgIExP
R19FUlJPUigiY291bGQgbm90IGNyZWF0ZSBXZWJSZXNvdXJjZUhhbmRsZSBmb3IgVVJMICVzIC0t
IHNob3VsZCBiZSBjYXVnaHQgYnkgcG9saWN5IGhhbmRsZXIgbGV2ZWwiLCBtX3JlcXVlc3QudXJs
KCkuc3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOwotICAgICAgICBtX21haW5SZXNvdXJjZUxvYWRl
ciA9IDA7Ci0gICAgICAgIEFTU0VSVCghaXNMb2FkaW5nKCkpOwotICAgICAgICBjaGVja0xvYWRD
b21wbGV0ZSgpOwotICAgIH0KKyAgICBtX21haW5SZXNvdXJjZUxvYWRlci0+bG9hZChtX3JlcXVl
c3QsIG1fc3Vic3RpdHV0ZURhdGEpOwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpjYW5jZWxN
YWluUmVzb3VyY2VMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142006</attachid>
            <date>2012-05-15 10:59:05 -0700</date>
            <delta_ts>2012-05-15 13:37:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86413-20120515105904.patch</filename>
            <type>text/plain</type>
            <size>3759</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzAxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTE0ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFpblJlc291cmNlTG9hZGVy
Ojpsb2FkKCkgYWx3YXlzIHJldHVybnMgdHJ1ZSwgc28gbWFrZSBpdCByZXR1cm4KKyAgICAgICAg
dm9pZCBhbmQgZGVsZXRlIHRoZSByZWxhdGVkIGRlYWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NDEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGNsZWFudXAg
b25seS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKToKKyAgICAg
ICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1h
aW5SZXNvdXJjZUxvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAoTWFpblJlc291cmNlTG9hZGVyKToKKwogMjAxMi0wNS0xNCAgTmF0
ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gQ3Jhc2ggaW4g
bnBPYmplY3RHZXRQcm9wZXJ0eSgpIGluIFY4TlBPYmplY3QuY3BwCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHJldmlzaW9uIDExNjEyMikKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgz
NywxNyArODM3LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlcwog
ICAgIC8vIEZJWE1FOiBJcyB0aGVyZSBhbnkgd2F5IHRoZSBleHRyYSBmaWVsZHMgY291bGQgaGF2
ZSBub3QgYmVlbiBhZGRlZCBieSBub3c/CiAgICAgLy8gSWYgbm90LCBpdCB3b3VsZCBiZSBncmVh
dCB0byByZW1vdmUgdGhpcyBsaW5lIG9mIGNvZGUuCiAgICAgZnJhbWVMb2FkZXIoKS0+YWRkRXh0
cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3QobV9yZXF1ZXN0KTsKLSAgICAKLSAgICAvLyBQ
cm90ZWN0IE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZCgpIG1ldGhvZCBjaGFpbiBmcm9tIGNsZWFy
TWFpblJlc291cmNlTG9hZGVyKCkgc3RvbXBpbmcgbV9tYWluUmVzb3VyY2VMb2FkZXIuCi0gICAg
UmVmUHRyPE1haW5SZXNvdXJjZUxvYWRlcj4gcHJvdGVjdGVkTWFpblJlc291cmNlTG9hZGVyKG1f
bWFpblJlc291cmNlTG9hZGVyKTsKLSAgICBpZiAoIXByb3RlY3RlZE1haW5SZXNvdXJjZUxvYWRl
ci0+bG9hZChtX3JlcXVlc3QsIG1fc3Vic3RpdHV0ZURhdGEpKSB7Ci0gICAgICAgIC8vIEZJWE1F
OiBJZiB0aGlzIHNob3VsZCByZWFsbHkgYmUgY2F1Z2h0LCB3ZSBzaG91bGQganVzdCBBU1NFUlQg
dGhpcyBkb2Vzbid0IGhhcHBlbjsKLSAgICAgICAgLy8gc2hvdWxkIGl0IGJlIGNhdWdodCBieSBv
dGhlciBwYXJ0cyBvZiBXZWJLaXQgb3Igb3RoZXIgcGFydHMgb2YgdGhlIGFwcD8KLSAgICAgICAg
TE9HX0VSUk9SKCJjb3VsZCBub3QgY3JlYXRlIFdlYlJlc291cmNlSGFuZGxlIGZvciBVUkwgJXMg
LS0gc2hvdWxkIGJlIGNhdWdodCBieSBwb2xpY3kgaGFuZGxlciBsZXZlbCIsIG1fcmVxdWVzdC51
cmwoKS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIG1fbWFpblJlc291cmNlTG9h
ZGVyID0gMDsKLSAgICAgICAgQVNTRVJUKCFpc0xvYWRpbmcoKSk7Ci0gICAgICAgIGNoZWNrTG9h
ZENvbXBsZXRlKCk7Ci0gICAgfQorICAgIG1fbWFpblJlc291cmNlTG9hZGVyLT5sb2FkKG1fcmVx
dWVzdCwgbV9zdWJzdGl0dXRlRGF0YSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNl
bE1haW5SZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTE2
MTIyKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY1MSw5ICs2NTEsMTAgQEAgYm9vbCBNYWluUmVzb3VyY2VMb2FkZXI6
OmxvYWROb3coUmVzb3VyYwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBNYWluUmVzb3Vy
Y2VMb2FkZXI6OmxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByLCBjb25zdCBTdWJzdGl0dXRl
RGF0YSYgc3Vic3RpdHV0ZURhdGEpCit2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHIsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0
YSkKIHsKICAgICBBU1NFUlQoIW1faGFuZGxlKTsKKyAgICBSZWZQdHI8TWFpblJlc291cmNlTG9h
ZGVyPiBwcm90ZWN0KHRoaXMpOwogCiAgICAgbV9zdWJzdGl0dXRlRGF0YSA9IHN1YnN0aXR1dGVE
YXRhOwogCkBAIC02NzksOCArNjgwLDYgQEAgYm9vbCBNYWluUmVzb3VyY2VMb2FkZXI6OmxvYWQo
Y29uc3QgUmVzbwogICAgIH0KICAgICBpZiAoZGVmZXIpCiAgICAgICAgIG1faW5pdGlhbFJlcXVl
c3QgPSByZXF1ZXN0OwotCi0gICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgTWFpblJlc291cmNl
TG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpJbmRleDogU291cmNlL1dlYkNv
cmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTE2MTIyKQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NCw3ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICAgICAgdmlydHVh
bCB+TWFpblJlc291cmNlTG9hZGVyKCk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGxvYWQoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEmKTsKKyAgICAgICAgdm9p
ZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqLCBpbnQsIGJvb2wgYWxsQXRP
bmNlKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142041</attachid>
            <date>2012-05-15 13:37:16 -0700</date>
            <delta_ts>2012-05-15 16:30:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86413-20120515133715.patch</filename>
            <type>text/plain</type>
            <size>3981</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzAxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTE0ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFpblJlc291cmNlTG9hZGVy
Ojpsb2FkKCkgYWx3YXlzIHJldHVybnMgdHJ1ZSwgc28gbWFrZSBpdCByZXR1cm4KKyAgICAgICAg
dm9pZCBhbmQgZGVsZXRlIHRoZSByZWxhdGVkIGRlYWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NDEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGNsZWFudXAg
b25seS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKToKKyAgICAg
ICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1h
aW5SZXNvdXJjZUxvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5oOgorICAgICAgICAoTWFpblJlc291cmNlTG9hZGVyKToKKwogMjAxMi0wNS0xNCAgTmF0
ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gQ3Jhc2ggaW4g
bnBPYmplY3RHZXRQcm9wZXJ0eSgpIGluIFY4TlBPYmplY3QuY3BwCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHJldmlzaW9uIDExNjEyMikKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgz
NywxNyArODM3LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlcwog
ICAgIC8vIEZJWE1FOiBJcyB0aGVyZSBhbnkgd2F5IHRoZSBleHRyYSBmaWVsZHMgY291bGQgaGF2
ZSBub3QgYmVlbiBhZGRlZCBieSBub3c/CiAgICAgLy8gSWYgbm90LCBpdCB3b3VsZCBiZSBncmVh
dCB0byByZW1vdmUgdGhpcyBsaW5lIG9mIGNvZGUuCiAgICAgZnJhbWVMb2FkZXIoKS0+YWRkRXh0
cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3QobV9yZXF1ZXN0KTsKLSAgICAKLSAgICAvLyBQ
cm90ZWN0IE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZCgpIG1ldGhvZCBjaGFpbiBmcm9tIGNsZWFy
TWFpblJlc291cmNlTG9hZGVyKCkgc3RvbXBpbmcgbV9tYWluUmVzb3VyY2VMb2FkZXIuCi0gICAg
UmVmUHRyPE1haW5SZXNvdXJjZUxvYWRlcj4gcHJvdGVjdGVkTWFpblJlc291cmNlTG9hZGVyKG1f
bWFpblJlc291cmNlTG9hZGVyKTsKLSAgICBpZiAoIXByb3RlY3RlZE1haW5SZXNvdXJjZUxvYWRl
ci0+bG9hZChtX3JlcXVlc3QsIG1fc3Vic3RpdHV0ZURhdGEpKSB7Ci0gICAgICAgIC8vIEZJWE1F
OiBJZiB0aGlzIHNob3VsZCByZWFsbHkgYmUgY2F1Z2h0LCB3ZSBzaG91bGQganVzdCBBU1NFUlQg
dGhpcyBkb2Vzbid0IGhhcHBlbjsKLSAgICAgICAgLy8gc2hvdWxkIGl0IGJlIGNhdWdodCBieSBv
dGhlciBwYXJ0cyBvZiBXZWJLaXQgb3Igb3RoZXIgcGFydHMgb2YgdGhlIGFwcD8KLSAgICAgICAg
TE9HX0VSUk9SKCJjb3VsZCBub3QgY3JlYXRlIFdlYlJlc291cmNlSGFuZGxlIGZvciBVUkwgJXMg
LS0gc2hvdWxkIGJlIGNhdWdodCBieSBwb2xpY3kgaGFuZGxlciBsZXZlbCIsIG1fcmVxdWVzdC51
cmwoKS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIG1fbWFpblJlc291cmNlTG9h
ZGVyID0gMDsKLSAgICAgICAgQVNTRVJUKCFpc0xvYWRpbmcoKSk7Ci0gICAgICAgIGNoZWNrTG9h
ZENvbXBsZXRlKCk7Ci0gICAgfQorICAgIG1fbWFpblJlc291cmNlTG9hZGVyLT5sb2FkKG1fcmVx
dWVzdCwgbV9zdWJzdGl0dXRlRGF0YSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNl
bE1haW5SZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTE2
MTIyKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY1MSwxMCArNjUxLDE0IEBAIGJvb2wgTWFpblJlc291cmNlTG9hZGVy
Ojpsb2FkTm93KFJlc291cmMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgTWFpblJlc291
cmNlTG9hZGVyOjpsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgciwgY29uc3QgU3Vic3RpdHV0
ZURhdGEmIHN1YnN0aXR1dGVEYXRhKQordm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmxvYWQoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURh
dGEpCiB7CiAgICAgQVNTRVJUKCFtX2hhbmRsZSk7CiAKKyAgICAvLyBJdCBhcHBlYXJzIHRoYXQg
aXQgaXMgcG9zc2libGUgZm9yIHRoaXMgbG9hZCB0byBiZSBjYW5jZWxsZWQgYW5kIGRlcmVmZW5j
ZWQgYnkgdGhlIERvY3VtZW50TG9hZGVyCisgICAgLy8gaW4gd2lsbFNlbmRSZXF1ZXN0KCkgaWYg
bG9hZE5vdygpIGlzIGNhbGxlZC4KKyAgICBSZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBwcm90
ZWN0KHRoaXMpOworCiAgICAgbV9zdWJzdGl0dXRlRGF0YSA9IHN1YnN0aXR1dGVEYXRhOwogCiAg
ICAgQVNTRVJUKGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5uYXZpZ2F0aW9uU3RhcnQoKSk7
CkBAIC02NzksOCArNjgzLDYgQEAgYm9vbCBNYWluUmVzb3VyY2VMb2FkZXI6OmxvYWQoY29uc3Qg
UmVzbwogICAgIH0KICAgICBpZiAoZGVmZXIpCiAgICAgICAgIG1faW5pdGlhbFJlcXVlc3QgPSBy
ZXF1ZXN0OwotCi0gICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgTWFpblJlc291cmNlTG9hZGVy
OjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTE2MTIyKQorKysgU291cmNlL1dl
YkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3
ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
TWFpblJlc291cmNlTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICAgICAgdmlydHVhbCB+TWFp
blJlc291cmNlTG9hZGVyKCk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGxvYWQoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEmKTsKKyAgICAgICAgdm9pZCBsb2Fk
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqLCBpbnQsIGJvb2wgYWxsQXRPbmNlKTsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>