<?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>97738</bug_id>
          
          <creation_ts>2012-09-26 16:19:02 -0700</creation_ts>
          <short_desc>IndexedDB: Run multiple tasks per transaction tick</short_desc>
          <delta_ts>2012-11-16 12:05:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>97933</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>729052</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-26 16:19:02 -0700</bug_when>
    <thetext>IndexedDB: Pair of performance fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729054</commentid>
    <comment_count>1</comment_count>
      <attachid>165893</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-26 16:21:02 -0700</bug_when>
    <thetext>Created attachment 165893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729056</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-26 16:21:31 -0700</bug_when>
    <thetext>alecflett@, dgrogan@ - can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729070</commentid>
    <comment_count>3</comment_count>
      <attachid>165893</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-26 16:47:13 -0700</bug_when>
    <thetext>Comment on attachment 165893
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        via profiling in string encoding (pro-tip: if it&apos;s already UChar, just memcpy);

The old way doesn&apos;t provide robustness in the face of different endianness?  Sorry if that&apos;s a stupid question.

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:293
&gt; +    size_t len = s.length() * sizeof(UChar);

Is there any advantage to passing len to the Vector constructor like line 292-old does?

&gt; Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp:258
&gt; +    TaskQueue* taskQueue = m_pendingPreemptiveEvents ? &amp;m_preemptiveTaskQueue : &amp;m_taskQueue;

This seems like the type of innocuous-looking change that causes some other non-robust portion of our code to start behaving non-deterministically, but I don&apos;t really know what&apos;s going on. I&apos;ll let Alec comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729079</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-26 16:57:21 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 165893 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165893&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        via profiling in string encoding (pro-tip: if it&apos;s already UChar, just memcpy);
&gt; 
&gt; The old way doesn&apos;t provide robustness in the face of different endianness?  Sorry if that&apos;s a stupid question.

It&apos;s a great question, actually.

The old method actually defends against different endianness by always reading/writing as big endian... which would be a breaking format change since most architectures are little endian. Derp.

(I was under the impression that leveldb stores weren&apos;t portable across different-endian architectures which is why I blithely made the change.)

I&apos;ll split this patch up and maybe turf this one.

&gt; &gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:293
&gt; &gt; +    size_t len = s.length() * sizeof(UChar);
&gt; 
&gt; Is there any advantage to passing len to the Vector constructor like line 292-old does?

Hrm, there probably is, since IIRC Vector has a default size.
 
&gt; &gt; Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp:258
&gt; &gt; +    TaskQueue* taskQueue = m_pendingPreemptiveEvents ? &amp;m_preemptiveTaskQueue : &amp;m_taskQueue;
&gt; 
&gt; This seems like the type of innocuous-looking change that causes some other non-robust portion of our code to start behaving non-deterministically, but I don&apos;t really know what&apos;s going on. I&apos;ll let Alec comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729089</commentid>
    <comment_count>5</comment_count>
      <attachid>165893</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 17:11:19 -0700</bug_when>
    <thetext>Comment on attachment 165893
Patch

Attachment 165893 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14018723

New failing tests:
IDBLevelDBCodingTest.CompareEncodedStringsWithLength
storage/indexeddb/cursor-key-order.html
IDBLevelDBCodingTest.DecodeString
IDBLevelDBCodingTest.DecodeIDBKeyPath</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729572</commentid>
    <comment_count>6</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-27 08:59:12 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 165893 [details])
&gt; Attachment 165893 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/14018723
&gt; 
&gt; New failing tests:
&gt; IDBLevelDBCodingTest.CompareEncodedStringsWithLength
&gt; storage/indexeddb/cursor-key-order.html
&gt; IDBLevelDBCodingTest.DecodeString
&gt; IDBLevelDBCodingTest.DecodeIDBKeyPath

Awesome - we do have endianness tests, which saved the day.

I&apos;ll split this up and add a string endianness switch as a future perf item.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729587</commentid>
    <comment_count>7</comment_count>
      <attachid>166013</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-27 09:13:11 -0700</bug_when>
    <thetext>Created attachment 166013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729715</commentid>
    <comment_count>8</comment_count>
      <attachid>166013</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-27 11:12:18 -0700</bug_when>
    <thetext>Comment on attachment 166013
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729787</commentid>
    <comment_count>9</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-27 12:57:22 -0700</bug_when>
    <thetext>tony@ - r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729851</commentid>
    <comment_count>10</comment_count>
      <attachid>166013</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-27 14:15:32 -0700</bug_when>
    <thetext>Comment on attachment 166013
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Process multiple tasks from the pending queue(s) when the timer fires. The
&gt; +        task may initiate new tasks that change which queue is active (e.g. indexing

Per times (like the time to run all the LayoutTests before/after this change) would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730003</commentid>
    <comment_count>11</comment_count>
      <attachid>166093</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-27 16:47:44 -0700</bug_when>
    <thetext>Created attachment 166093
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730036</commentid>
    <comment_count>12</comment_count>
      <attachid>166093</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 17:11:07 -0700</bug_when>
    <thetext>Comment on attachment 166093
Patch for landing

Rejecting attachment 166093 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 9
Updating OpenSource
From http://git.chromium.org/external/Webkit
   82bc0a1..e7aca46  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 129817 = c176af8a903a16f338b44f42a58940a7dedc9084
last_rev is higher!: 129817 &gt;= 129802 at /usr/lib/git-core/git-svn line 1523

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/14034982</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730730</commentid>
    <comment_count>13</comment_count>
      <attachid>166265</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-28 09:17:16 -0700</bug_when>
    <thetext>Created attachment 166265
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730738</commentid>
    <comment_count>14</comment_count>
      <attachid>166265</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 09:38:41 -0700</bug_when>
    <thetext>Comment on attachment 166265
Patch for landing

Clearing flags on attachment: 166265

Committed r129911: &lt;http://trac.webkit.org/changeset/129911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730739</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 09:38:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730929</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 13:21:40 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 97933</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730965</commentid>
    <comment_count>17</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-28 13:45:12 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Re-opened since this is blocked by bug 97933

Two theories so far, with no evidence:

* This change means that tasks may execute even before the previous task calls didCompleteTaskEvents if there&apos;s async operation in between (e.g. firing onSuccess across an IPC boundary). Possibly something is sensitive to that, as the InspectorIndexedDBAgent does explicitly call didCompleteTaskEvents().

* m_taskEventTimer.startOneShot(0) may be called repeatedly now without waiting for the previous call to fire. Perhaps there&apos;s something on Windows that&apos;s sensitive to this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732119</commentid>
    <comment_count>18</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-01 16:43:52 -0700</bug_when>
    <thetext>Crashy test link is http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Finspector%2Findexeddb%2Fdatabase-data.html - win debug only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766131</commentid>
    <comment_count>19</comment_count>
      <attachid>174015</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-13 15:50:32 -0800</bug_when>
    <thetext>Created attachment 174015
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766135</commentid>
    <comment_count>20</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-13 15:53:57 -0800</bug_when>
    <thetext>Trying this again. I was never able to repro the inspector crash (locally or with the try bots). 

The IndexedDB inspector code has since been completely re-written; it used to use  back-end APIs, and needed to explicitly poke a &quot;private&quot; API (didCompleteTaskEvents) to signal that tasks were complete, and some re-entrancy problem induced by this platform-specific timer behavior was my suspicion for the cause of the crash. The way the inspector talks to IDB has completely changed to only use front-end APIs, so I believe that this should be safe now.

...

Gardeners - if tests start crashing after this lands, please roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766355</commentid>
    <comment_count>21</comment_count>
      <attachid>174015</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 20:34:11 -0800</bug_when>
    <thetext>Comment on attachment 174015
Patch for landing

Clearing flags on attachment: 174015

Committed r134529: &lt;http://trac.webkit.org/changeset/134529&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766356</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 20:34:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769553</commentid>
    <comment_count>23</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-16 12:05:28 -0800</bug_when>
    <thetext>Wow, this was a huge improvement:

http://build.chromium.org/f/chromium/perf/mac-release-10.6-webkit-latest/indexeddb/report.html?rev=167890&amp;graph=basic_insert&amp;trace=t&amp;history=150

http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/indexeddb/report.html?rev=167890&amp;graph=basic_insert&amp;trace=t&amp;history=150

http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/indexeddb/report.html?rev=167890&amp;graph=basic_insert&amp;trace=t&amp;history=150

http://build.chromium.org/f/chromium/perf/chromium-rel-win7-webkit/indexeddb/report.html?rev=167890&amp;graph=basic_insert&amp;trace=t&amp;history=150</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165893</attachid>
            <date>2012-09-26 16:21:02 -0700</date>
            <delta_ts>2012-09-27 09:13:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97738-20120926162020.patch</filename>
            <type>text/plain</type>
            <size>4221</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uMWY3MzE4YmIzZDY4MTFjZjMwZTdhODcwMjI4MGM2
NWZmNTA2OTA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTI2ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBQYWly
IG9mIHBlcmZvcm1hbmNlIGZpeGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzczOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2Ugc29tZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHM6IGVsaW1pbmF0
ZSBhIENQVSBob3Qtc3BvdCBpZGVudGlmaWVkCisgICAgICAgIHZpYSBwcm9maWxpbmcgaW4gc3Ry
aW5nIGVuY29kaW5nIChwcm8tdGlwOiBpZiBpdCdzIGFscmVhZHkgVUNoYXIsIGp1c3QgbWVtY3B5
KTsKKyAgICAgICAgcHJvY2VzcyBtdWx0aXBsZSB0YXNrcyBwZXIgdGltZXIgdGljay4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgLSBqdXN0IHBlcmYgaW1wcm92ZW1lbnRzLgorCisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJMZXZlbERCQ29kaW5nOjplbmNvZGVTdHJpbmcpOiBKdXN0IGNvcHkgbWVtb3J5IGlmIHN0
cmluZyBpcyBhbHJlYWR5IFVDaGFyLgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGlu
Zzo6ZGVjb2RlU3RyaW5nKTogSW5pdCBzdHJpbmcgZnJvbSBVQ2hhciBkYXRhIGRpcmVjdGx5Lgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6dGFza1RpbWVy
RmlyZWQpOiBQcm9jZXNzIGFzIG1hbnkgdGFza3MgYXMgYXJlIGF2YWlsYWJsZS4KKwogMjAxMi0w
OS0yNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTIzNTE5MDY+IEhhdmUgRHVtcFJlbmRlclRyZWUgYW5kIFdlYktpdFRl
c3RSdW5uZXIgY3Jhc2ggbG9ncyBzaG93IHdoaWNoIHRlc3QgY3Jhc2hlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNwcAppbmRl
eCBmNDJhNzcwMTk2OWQ0ZGZjYzBhMzk1YmFjMTg1YzQ4ZDYxODM1MWZhLi5hMDU0MTIxN2U4ODZl
YTUxYzIyMGEzNmEwNDZiZWE5MmM3ZWQ4ZWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNwcApAQCAtMjg5LDM2ICsyODks
MTkgQEAgY29uc3QgY2hhciogZGVjb2RlVmFySW50KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIq
IGxpbWl0LCBpbnQ2NF90JiBmb3VuZEludCkKIAogVmVjdG9yPGNoYXI+IGVuY29kZVN0cmluZyhj
b25zdCBTdHJpbmcmIHMpCiB7Ci0gICAgVmVjdG9yPGNoYXI+IHJldChzLmxlbmd0aCgpICogMik7
Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcy5sZW5ndGgoKTsgKytpKSB7Ci0gICAg
ICAgIFVDaGFyIHUgPSBzW2ldOwotICAgICAgICB1bnNpZ25lZCBjaGFyIGhpID0gdSA+PiA4Owot
ICAgICAgICB1bnNpZ25lZCBjaGFyIGxvID0gdTsKLSAgICAgICAgcmV0WzIgKiBpXSA9IGhpOwot
ICAgICAgICByZXRbMiAqIGkgKyAxXSA9IGxvOwotICAgIH0KLQorICAgIFZlY3RvcjxjaGFyPiBy
ZXQ7CisgICAgc2l6ZV90IGxlbiA9IHMubGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpOworICAgIHJl
dC5hcHBlbmQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4ocy5jaGFyYWN0ZXJzKCkpLCBs
ZW4pOwogICAgIHJldHVybiByZXQ7CiB9CiAKIFN0cmluZyBkZWNvZGVTdHJpbmcoY29uc3QgY2hh
ciogcCwgY29uc3QgY2hhciogZW5kKQogewogICAgIEFTU0VSVChlbmQgPj0gcCk7Ci0gICAgQVNT
RVJUKCEoKGVuZCAtIHApICUgMikpOwotCi0gICAgc2l6ZV90IGxlbiA9IChlbmQgLSBwKSAvIDI7
Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0eShs
ZW4pOwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW47ICsraSkgewotICAgICAgICB1
bnNpZ25lZCBjaGFyIGhpID0gKnArKzsKLSAgICAgICAgdW5zaWduZWQgY2hhciBsbyA9ICpwKys7
Ci0KLSAgICAgICAgcmVzdWx0LmFwcGVuZChzdGF0aWNfY2FzdDxVQ2hhcj4oKGhpIDw8IDgpIHwg
bG8pKTsKLSAgICB9CisgICAgQVNTRVJUKCEoKGVuZCAtIHApICUgc2l6ZW9mKFVDaGFyKSkpOwog
Ci0gICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworICAgIHNpemVfdCBsZW4gPSAoZW5kIC0g
cCkgLyBzaXplb2YoVUNoYXIpOworICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVQ2hhcio+KHApLCBsZW4pOwogfQogCiBWZWN0b3I8Y2hhcj4gZW5jb2RlU3RyaW5nV2l0
aExlbmd0aChjb25zdCBTdHJpbmcmIHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCmluZGV4
IGNjNTZkNWUwNThjZTNiZTVkYzY1MzU3YzcxNGI4NjU4ZWQ1NWYzYjkuLmMxYzc2NjVhNmM2OThi
NWIzMGZjMTkzN2E4OTUzOGE2YWUxNGYwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3Bw
CkBAIC0yNTUsMTUgKzI1NSwxNSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OnRh
c2tUaW1lckZpcmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+KgogICAgICAgICBt
X3N0YXRlID0gUnVubmluZzsKICAgICB9CiAKLSAgICAvLyBKdXN0IHByb2Nlc3MgYSBzaW5nbGUg
ZXZlbnQgaGVyZSwgaW4gY2FzZSB0aGUgZXZlbnQgaXRzZWxmCi0gICAgLy8gY2hhbmdlcyB3aGlj
aCBxdWV1ZSBzaG91bGQgYmUgcHJvY2Vzc2VkIG5leHQuCi0gICAgVGFza1F1ZXVlJiB0YXNrUXVl
dWUgPSBtX3BlbmRpbmdQcmVlbXB0aXZlRXZlbnRzID8gbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDog
bV90YXNrUXVldWU7Ci0gICAgaWYgKCF0YXNrUXVldWUuaXNFbXB0eSgpICYmIG1fc3RhdGUgIT0g
RmluaXNoZWQpIHsKKyAgICBUYXNrUXVldWUqIHRhc2tRdWV1ZSA9IG1fcGVuZGluZ1ByZWVtcHRp
dmVFdmVudHMgPyAmbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDogJm1fdGFza1F1ZXVlOworICAgIHdo
aWxlICghdGFza1F1ZXVlLT5pc0VtcHR5KCkgJiYgbV9zdGF0ZSAhPSBGaW5pc2hlZCkgewogICAg
ICAgICBBU1NFUlQobV9zdGF0ZSA9PSBSdW5uaW5nKTsKLSAgICAgICAgT3duUHRyPFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sodGFza1F1ZXVlLmZpcnN0KCkucmVsZWFzZSgpKTsK
LSAgICAgICAgdGFza1F1ZXVlLnJlbW92ZUZpcnN0KCk7CisgICAgICAgIE93blB0cjxTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKHRhc2tRdWV1ZS0+dGFrZUZpcnN0KCkpOwogICAg
ICAgICBtX3BlbmRpbmdFdmVudHMrKzsKICAgICAgICAgdGFzay0+cGVyZm9ybVRhc2soMCk7CisK
KyAgICAgICAgLy8gRXZlbnQgaXRzZWxmIG1heSBjaGFuZ2Ugd2hpY2ggcXVldWUgc2hvdWxkIGJl
IHByb2Nlc3NlZCBuZXh0LgorICAgICAgICB0YXNrUXVldWUgPSBtX3BlbmRpbmdQcmVlbXB0aXZl
RXZlbnRzID8gJm1fcHJlZW1wdGl2ZVRhc2tRdWV1ZSA6ICZtX3Rhc2tRdWV1ZTsKICAgICB9CiB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166013</attachid>
            <date>2012-09-27 09:13:11 -0700</date>
            <delta_ts>2012-09-27 16:47:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97738-20120927091229.patch</filename>
            <type>text/plain</type>
            <size>3031</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uM2JmY2E5ZjRjMWM2NWI2NDkwODM1ODQwMTQyYmU0
NmUzZTFjMmVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI2ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSdW4g
bXVsdGlwbGUgdGFza3MgcGVyIHRyYW5zYWN0aW9uIHRpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvY2VzcyBtdWx0aXBsZSB0YXNrcyBmcm9tIHRo
ZSBwZW5kaW5nIHF1ZXVlKHMpIHdoZW4gdGhlIHRpbWVyIGZpcmVzLiBUaGUKKyAgICAgICAgdGFz
ayBtYXkgaW5pdGlhdGUgbmV3IHRhc2tzIHRoYXQgY2hhbmdlIHdoaWNoIHF1ZXVlIGlzIGFjdGl2
ZSAoZS5nLiBpbmRleGluZworICAgICAgICBvcGVyYXRpb25zKSBzbyB0aGUgbG9vcCBtdXN0IHJl
LWNoZWNrIGVhY2ggdGljayB3aGljaCBxdWV1ZSB0byB1c2UuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIC0ganVzdCBwZXJmIGltcHJvdmVtZW50cywgY292ZXJlZCBieSAobmVhcmx5KSBhbGwgZXhp
c3RpbmcgSURCIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbXBsOjphYm9ydCk6IFVzZSB0YWtlRmlyc3QoKSB0byBjbGVhbiB1cCBjb2RlLgorICAg
ICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6dGFza1RpbWVyRmlyZWQp
OiBQcm9jZXNzIGFzIG1hbnkgdGFza3MgYXMgYXJlIGF2YWlsYWJsZS4KKwogMjAxMi0wOS0yNCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTIzNTE5MDY+IEhhdmUgRHVtcFJlbmRlclRyZWUgYW5kIFdlYktpdFRlc3RSdW5u
ZXIgY3Jhc2ggbG9ncyBzaG93IHdoaWNoIHRlc3QgY3Jhc2hlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bXBsLmNwcAppbmRleCBjYzU2ZDVlMDU4Y2UzYmU1ZGM2NTM1N2M3MTRiODY1OGVkNTVmM2I5Li5i
NzRiNmY5YWQwNTc0OTRhMmIxMzhhNmUwYzIzZDg4OThhMTUwMWY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbXBsLmNwcApAQCAtMTMxLDggKzEzMSw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW1wbDo6YWJvcnQoKQogCiAgICAgLy8gUnVuIHRoZSBhYm9ydCB0YXNrcywgaWYgYW55Lgog
ICAgIHdoaWxlICghbV9hYm9ydFRhc2tRdWV1ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgT3duUHRy
PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sobV9hYm9ydFRhc2tRdWV1ZS5maXJz
dCgpLnJlbGVhc2UoKSk7Ci0gICAgICAgIG1fYWJvcnRUYXNrUXVldWUucmVtb3ZlRmlyc3QoKTsK
KyAgICAgICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sobV9hYm9y
dFRhc2tRdWV1ZS50YWtlRmlyc3QoKSk7CiAgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKDApOwog
ICAgIH0KIApAQCAtMjU1LDE1ICsyNTQsMTUgQEAgdm9pZCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bXBsOjp0YXNrVGltZXJGaXJlZChUaW1lcjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPioKICAg
ICAgICAgbV9zdGF0ZSA9IFJ1bm5pbmc7CiAgICAgfQogCi0gICAgLy8gSnVzdCBwcm9jZXNzIGEg
c2luZ2xlIGV2ZW50IGhlcmUsIGluIGNhc2UgdGhlIGV2ZW50IGl0c2VsZgotICAgIC8vIGNoYW5n
ZXMgd2hpY2ggcXVldWUgc2hvdWxkIGJlIHByb2Nlc3NlZCBuZXh0LgotICAgIFRhc2tRdWV1ZSYg
dGFza1F1ZXVlID0gbV9wZW5kaW5nUHJlZW1wdGl2ZUV2ZW50cyA/IG1fcHJlZW1wdGl2ZVRhc2tR
dWV1ZSA6IG1fdGFza1F1ZXVlOwotICAgIGlmICghdGFza1F1ZXVlLmlzRW1wdHkoKSAmJiBtX3N0
YXRlICE9IEZpbmlzaGVkKSB7CisgICAgVGFza1F1ZXVlKiB0YXNrUXVldWUgPSBtX3BlbmRpbmdQ
cmVlbXB0aXZlRXZlbnRzID8gJm1fcHJlZW1wdGl2ZVRhc2tRdWV1ZSA6ICZtX3Rhc2tRdWV1ZTsK
KyAgICB3aGlsZSAoIXRhc2tRdWV1ZS0+aXNFbXB0eSgpICYmIG1fc3RhdGUgIT0gRmluaXNoZWQp
IHsKICAgICAgICAgQVNTRVJUKG1fc3RhdGUgPT0gUnVubmluZyk7Ci0gICAgICAgIE93blB0cjxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKHRhc2tRdWV1ZS5maXJzdCgpLnJlbGVh
c2UoKSk7Ci0gICAgICAgIHRhc2tRdWV1ZS5yZW1vdmVGaXJzdCgpOworICAgICAgICBPd25QdHI8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzayh0YXNrUXVldWUtPnRha2VGaXJzdCgp
KTsKICAgICAgICAgbV9wZW5kaW5nRXZlbnRzKys7CiAgICAgICAgIHRhc2stPnBlcmZvcm1UYXNr
KDApOworCisgICAgICAgIC8vIEV2ZW50IGl0c2VsZiBtYXkgY2hhbmdlIHdoaWNoIHF1ZXVlIHNo
b3VsZCBiZSBwcm9jZXNzZWQgbmV4dC4KKyAgICAgICAgdGFza1F1ZXVlID0gbV9wZW5kaW5nUHJl
ZW1wdGl2ZUV2ZW50cyA/ICZtX3ByZWVtcHRpdmVUYXNrUXVldWUgOiAmbV90YXNrUXVldWU7CiAg
ICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166093</attachid>
            <date>2012-09-27 16:47:44 -0700</date>
            <delta_ts>2012-09-28 09:17:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-97738-20120927164702.patch</filename>
            <type>text/plain</type>
            <size>3203</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uZjZmOTllNTRmZDA5NTQ5ZjBkYjFkNmVkMTNjMGJm
NTliM2NkOGUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI2ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSdW4g
bXVsdGlwbGUgdGFza3MgcGVyIHRyYW5zYWN0aW9uIHRpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KKworICAgICAgICBQcm9jZXNzIG11bHRpcGxlIHRhc2tzIGZyb20gdGhlIHBl
bmRpbmcgcXVldWUocykgd2hlbiB0aGUgdGltZXIgZmlyZXMuIFRoZQorICAgICAgICB0YXNrIG1h
eSBpbml0aWF0ZSBuZXcgdGFza3MgdGhhdCBjaGFuZ2Ugd2hpY2ggcXVldWUgaXMgYWN0aXZlIChl
LmcuIGluZGV4aW5nCisgICAgICAgIG9wZXJhdGlvbnMpIHNvIHRoZSBsb29wIG11c3QgcmUtY2hl
Y2sgZWFjaCB0aWNrIHdoaWNoIHF1ZXVlIHRvIHVzZS4KKworICAgICAgICBJbiBEdW1wUmVuZGVy
VHJlZSwgdGltZSB0byBtYWtlIDIwayBwdXRzLzIwayBnZXRzIGRyb3BwZWQgZnJvbSAzLjJzIHRv
IDIuMHMgKC0zNyUpOworICAgICAgICBpbiBDaHJvbWl1bSdzIGNvbnRlbnRfc2hlbGwsIHRoZSB0
aW1lIGRyb3BwZWQgZnJvbSA4LjFzIHRvIDQuNnMgKC00MiUpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGp1c3QgcGVyZiBpbXByb3ZlbWVudHMsIGNvdmVyZWQgYnkgKG5lYXJseSkgYWxsIGV4
aXN0aW5nIElEQiB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbDo6YWJvcnQpOiBVc2UgdGFrZUZpcnN0KCkgdG8gY2xlYW4gdXAgY29kZS4KKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OnRhc2tUaW1lckZpcmVk
KTogUHJvY2VzcyBhcyBtYW55IHRhc2tzIGFzIGFyZSBhdmFpbGFibGUuCisKIDIwMTItMDktMjQg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEyMzUxOTA2PiBIYXZlIER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRUZXN0UnVu
bmVyIGNyYXNoIGxvZ3Mgc2hvdyB3aGljaCB0ZXN0IGNyYXNoZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbC5jcHAKaW5kZXggY2M1NmQ1ZTA1OGNlM2JlNWRjNjUzNTdjNzE0Yjg2NThlZDU1ZjNiOS4u
Yjc0YjZmOWFkMDU3NDk0YTJiMTM4YTZlMGMyM2Q4ODk4YTE1MDFmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbC5jcHAKQEAgLTEzMSw4ICsxMzEsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGw6OmFib3J0KCkKIAogICAgIC8vIFJ1biB0aGUgYWJvcnQgdGFza3MsIGlmIGFueS4K
ICAgICB3aGlsZSAoIW1fYWJvcnRUYXNrUXVldWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIE93blB0
cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKG1fYWJvcnRUYXNrUXVldWUuZmly
c3QoKS5yZWxlYXNlKCkpOwotICAgICAgICBtX2Fib3J0VGFza1F1ZXVlLnJlbW92ZUZpcnN0KCk7
CisgICAgICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKG1fYWJv
cnRUYXNrUXVldWUudGFrZUZpcnN0KCkpOwogICAgICAgICB0YXNrLT5wZXJmb3JtVGFzaygwKTsK
ICAgICB9CiAKQEAgLTI1NSwxNSArMjU0LDE1IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbDo6dGFza1RpbWVyRmlyZWQoVGltZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4qCiAg
ICAgICAgIG1fc3RhdGUgPSBSdW5uaW5nOwogICAgIH0KIAotICAgIC8vIEp1c3QgcHJvY2VzcyBh
IHNpbmdsZSBldmVudCBoZXJlLCBpbiBjYXNlIHRoZSBldmVudCBpdHNlbGYKLSAgICAvLyBjaGFu
Z2VzIHdoaWNoIHF1ZXVlIHNob3VsZCBiZSBwcm9jZXNzZWQgbmV4dC4KLSAgICBUYXNrUXVldWUm
IHRhc2tRdWV1ZSA9IG1fcGVuZGluZ1ByZWVtcHRpdmVFdmVudHMgPyBtX3ByZWVtcHRpdmVUYXNr
UXVldWUgOiBtX3Rhc2tRdWV1ZTsKLSAgICBpZiAoIXRhc2tRdWV1ZS5pc0VtcHR5KCkgJiYgbV9z
dGF0ZSAhPSBGaW5pc2hlZCkgeworICAgIFRhc2tRdWV1ZSogdGFza1F1ZXVlID0gbV9wZW5kaW5n
UHJlZW1wdGl2ZUV2ZW50cyA/ICZtX3ByZWVtcHRpdmVUYXNrUXVldWUgOiAmbV90YXNrUXVldWU7
CisgICAgd2hpbGUgKCF0YXNrUXVldWUtPmlzRW1wdHkoKSAmJiBtX3N0YXRlICE9IEZpbmlzaGVk
KSB7CiAgICAgICAgIEFTU0VSVChtX3N0YXRlID09IFJ1bm5pbmcpOwotICAgICAgICBPd25QdHI8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzayh0YXNrUXVldWUuZmlyc3QoKS5yZWxl
YXNlKCkpOwotICAgICAgICB0YXNrUXVldWUucmVtb3ZlRmlyc3QoKTsKKyAgICAgICAgT3duUHRy
PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sodGFza1F1ZXVlLT50YWtlRmlyc3Qo
KSk7CiAgICAgICAgIG1fcGVuZGluZ0V2ZW50cysrOwogICAgICAgICB0YXNrLT5wZXJmb3JtVGFz
aygwKTsKKworICAgICAgICAvLyBFdmVudCBpdHNlbGYgbWF5IGNoYW5nZSB3aGljaCBxdWV1ZSBz
aG91bGQgYmUgcHJvY2Vzc2VkIG5leHQuCisgICAgICAgIHRhc2tRdWV1ZSA9IG1fcGVuZGluZ1By
ZWVtcHRpdmVFdmVudHMgPyAmbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDogJm1fdGFza1F1ZXVlOwog
ICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166265</attachid>
            <date>2012-09-28 09:17:16 -0700</date>
            <delta_ts>2012-11-13 15:50:29 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-97738-20120928091633.patch</filename>
            <type>text/plain</type>
            <size>3138</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM5ZDcwZDg5Yzk5NTkz
YzYxZjVmN2ZjMTM4OTc5MDNjZjNkMTljYS4uNWUzNzc2MmU3NjBlOWY4ODAxNGMwZjE1NzNjZjJl
MjkwM2NiMjEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI2ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSdW4g
bXVsdGlwbGUgdGFza3MgcGVyIHRyYW5zYWN0aW9uIHRpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KKworICAgICAgICBQcm9jZXNzIG11bHRpcGxlIHRhc2tzIGZyb20gdGhlIHBl
bmRpbmcgcXVldWUocykgd2hlbiB0aGUgdGltZXIgZmlyZXMuIFRoZQorICAgICAgICB0YXNrIG1h
eSBpbml0aWF0ZSBuZXcgdGFza3MgdGhhdCBjaGFuZ2Ugd2hpY2ggcXVldWUgaXMgYWN0aXZlIChl
LmcuIGluZGV4aW5nCisgICAgICAgIG9wZXJhdGlvbnMpIHNvIHRoZSBsb29wIG11c3QgcmUtY2hl
Y2sgZWFjaCB0aWNrIHdoaWNoIHF1ZXVlIHRvIHVzZS4KKworICAgICAgICBJbiBEdW1wUmVuZGVy
VHJlZSwgdGltZSB0byBtYWtlIDIwayBwdXRzLzIwayBnZXRzIGRyb3BwZWQgZnJvbSAzLjJzIHRv
IDIuMHMgKC0zNyUpOworICAgICAgICBpbiBDaHJvbWl1bSdzIGNvbnRlbnRfc2hlbGwsIHRoZSB0
aW1lIGRyb3BwZWQgZnJvbSA4LjFzIHRvIDQuNnMgKC00MiUpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGp1c3QgcGVyZiBpbXByb3ZlbWVudHMsIGNvdmVyZWQgYnkgKG5lYXJseSkgYWxsIGV4
aXN0aW5nIElEQiB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbDo6YWJvcnQpOiBVc2UgdGFrZUZpcnN0KCkgdG8gY2xlYW4gdXAgY29kZS4KKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OnRhc2tUaW1lckZpcmVk
KTogUHJvY2VzcyBhcyBtYW55IHRhc2tzIGFzIGFyZSBhdmFpbGFibGUuCisKIDIwMTItMDktMjcg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjk4MDYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3Bw
CmluZGV4IGNjNTZkNWUwNThjZTNiZTVkYzY1MzU3YzcxNGI4NjU4ZWQ1NWYzYjkuLmI3NGI2Zjlh
ZDA1NzQ5NGEyYjEzOGE2ZTBjMjNkODg5OGExNTAxZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZElt
cGwuY3BwCkBAIC0xMzEsOCArMTMxLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
OjphYm9ydCgpCiAKICAgICAvLyBSdW4gdGhlIGFib3J0IHRhc2tzLCBpZiBhbnkuCiAgICAgd2hp
bGUgKCFtX2Fib3J0VGFza1F1ZXVlLmlzRW1wdHkoKSkgewotICAgICAgICBPd25QdHI8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzayhtX2Fib3J0VGFza1F1ZXVlLmZpcnN0KCkucmVs
ZWFzZSgpKTsKLSAgICAgICAgbV9hYm9ydFRhc2tRdWV1ZS5yZW1vdmVGaXJzdCgpOworICAgICAg
ICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzayhtX2Fib3J0VGFza1F1
ZXVlLnRha2VGaXJzdCgpKTsKICAgICAgICAgdGFzay0+cGVyZm9ybVRhc2soMCk7CiAgICAgfQog
CkBAIC0yNTUsMTUgKzI1NCwxNSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OnRh
c2tUaW1lckZpcmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+KgogICAgICAgICBt
X3N0YXRlID0gUnVubmluZzsKICAgICB9CiAKLSAgICAvLyBKdXN0IHByb2Nlc3MgYSBzaW5nbGUg
ZXZlbnQgaGVyZSwgaW4gY2FzZSB0aGUgZXZlbnQgaXRzZWxmCi0gICAgLy8gY2hhbmdlcyB3aGlj
aCBxdWV1ZSBzaG91bGQgYmUgcHJvY2Vzc2VkIG5leHQuCi0gICAgVGFza1F1ZXVlJiB0YXNrUXVl
dWUgPSBtX3BlbmRpbmdQcmVlbXB0aXZlRXZlbnRzID8gbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDog
bV90YXNrUXVldWU7Ci0gICAgaWYgKCF0YXNrUXVldWUuaXNFbXB0eSgpICYmIG1fc3RhdGUgIT0g
RmluaXNoZWQpIHsKKyAgICBUYXNrUXVldWUqIHRhc2tRdWV1ZSA9IG1fcGVuZGluZ1ByZWVtcHRp
dmVFdmVudHMgPyAmbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDogJm1fdGFza1F1ZXVlOworICAgIHdo
aWxlICghdGFza1F1ZXVlLT5pc0VtcHR5KCkgJiYgbV9zdGF0ZSAhPSBGaW5pc2hlZCkgewogICAg
ICAgICBBU1NFUlQobV9zdGF0ZSA9PSBSdW5uaW5nKTsKLSAgICAgICAgT3duUHRyPFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sodGFza1F1ZXVlLmZpcnN0KCkucmVsZWFzZSgpKTsK
LSAgICAgICAgdGFza1F1ZXVlLnJlbW92ZUZpcnN0KCk7CisgICAgICAgIE93blB0cjxTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKHRhc2tRdWV1ZS0+dGFrZUZpcnN0KCkpOwogICAg
ICAgICBtX3BlbmRpbmdFdmVudHMrKzsKICAgICAgICAgdGFzay0+cGVyZm9ybVRhc2soMCk7CisK
KyAgICAgICAgLy8gRXZlbnQgaXRzZWxmIG1heSBjaGFuZ2Ugd2hpY2ggcXVldWUgc2hvdWxkIGJl
IHByb2Nlc3NlZCBuZXh0LgorICAgICAgICB0YXNrUXVldWUgPSBtX3BlbmRpbmdQcmVlbXB0aXZl
RXZlbnRzID8gJm1fcHJlZW1wdGl2ZVRhc2tRdWV1ZSA6ICZtX3Rhc2tRdWV1ZTsKICAgICB9CiB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174015</attachid>
            <date>2012-11-13 15:50:32 -0800</date>
            <delta_ts>2012-11-13 20:34:11 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-97738-20121113154832.patch</filename>
            <type>text/plain</type>
            <size>3200</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWVhNmQ4YWY3OTVjMzhh
ZmMzYjdmYmZmNmU5OTEyNTE5N2NmNmQ4Ni4uMzcwMDNkZDkzNjUyYzJhYjNkYjI3ODQwNGY3ODhm
Y2VhY2NhMzkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTEzICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSdW4g
bXVsdGlwbGUgdGFza3MgcGVyIHRyYW5zYWN0aW9uIHRpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KKworICAgICAgICBQcm9jZXNzIG11bHRpcGxlIHRhc2tzIGZyb20gdGhlIHBl
bmRpbmcgcXVldWUocykgd2hlbiB0aGUgdGltZXIgZmlyZXMuIFRoZQorICAgICAgICB0YXNrIG1h
eSBpbml0aWF0ZSBuZXcgdGFza3MgdGhhdCBjaGFuZ2Ugd2hpY2ggcXVldWUgaXMgYWN0aXZlIChl
LmcuIGluZGV4aW5nCisgICAgICAgIG9wZXJhdGlvbnMpIHNvIHRoZSBsb29wIG11c3QgcmUtY2hl
Y2sgZWFjaCB0aWNrIHdoaWNoIHF1ZXVlIHRvIHVzZS4KKworICAgICAgICBJbiBEdW1wUmVuZGVy
VHJlZSwgdGltZSB0byBtYWtlIDIwayBwdXRzLzIwayBnZXRzIGRyb3BwZWQgZnJvbSAzLjJzIHRv
IDIuMHMgKC0zNyUpOworICAgICAgICBpbiBDaHJvbWl1bSdzIGNvbnRlbnRfc2hlbGwsIHRoZSB0
aW1lIGRyb3BwZWQgZnJvbSA4LjFzIHRvIDQuNnMgKC00MiUpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGp1c3QgcGVyZiBpbXByb3ZlbWVudHMsIGNvdmVyZWQgYnkgKG5lYXJseSkgYWxsIGV4
aXN0aW5nIElEQiB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbDo6YWJvcnQpOiBVc2UgdGFrZUZpcnN0KCkgdG8gY2xlYW4gdXAgY29kZS4KKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OnRhc2tUaW1lckZpcmVk
KTogUHJvY2VzcyBhcyBtYW55IHRhc2tzIGFzIGFyZSBhdmFpbGFibGUuCisKIDIwMTItMTEtMTMg
IE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEpTRXZlbnRMaXN0ZW5l
ciBzaG91bGQgbm90IGFjY2VzcyBtX2pzRnVuY3Rpb24gd2hlbiBpdHMgd3JhcHBlciBpcyBnb25l
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcAppbmRleCAzMjQwNWM2ZWM3MjA5MWFiZWFjMmI3
YzYyNDQ0ZTEzYzBmYTliZGY1Li5jYWZlZGE2OGJmODk3YjdmN2FlMDZmMTljMTExYzA3MzIxNDRh
NGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcApAQCAtMTIyLDggKzEyMiw3IEBAIHZv
aWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6YWJvcnQoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUVycm9yPiBlcnJvcikKIAogICAgIC8vIFJ1biB0aGUgYWJvcnQgdGFza3MsIGlmIGFueS4KICAg
ICB3aGlsZSAoIW1fYWJvcnRUYXNrUXVldWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIE93blB0cjxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKG1fYWJvcnRUYXNrUXVldWUuZmlyc3Qo
KS5yZWxlYXNlKCkpOwotICAgICAgICBtX2Fib3J0VGFza1F1ZXVlLnJlbW92ZUZpcnN0KCk7Cisg
ICAgICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKG1fYWJvcnRU
YXNrUXVldWUudGFrZUZpcnN0KCkpOwogICAgICAgICB0YXNrLT5wZXJmb3JtVGFzaygwKTsKICAg
ICB9CiAKQEAgLTI0NiwxNSArMjQ1LDE1IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bDo6dGFza1RpbWVyRmlyZWQoVGltZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4qCiAgICAg
ICAgIG1fc3RhdGUgPSBSdW5uaW5nOwogICAgIH0KIAotICAgIC8vIEp1c3QgcHJvY2VzcyBhIHNp
bmdsZSBldmVudCBoZXJlLCBpbiBjYXNlIHRoZSBldmVudCBpdHNlbGYKLSAgICAvLyBjaGFuZ2Vz
IHdoaWNoIHF1ZXVlIHNob3VsZCBiZSBwcm9jZXNzZWQgbmV4dC4KLSAgICBUYXNrUXVldWUmIHRh
c2tRdWV1ZSA9IG1fcGVuZGluZ1ByZWVtcHRpdmVFdmVudHMgPyBtX3ByZWVtcHRpdmVUYXNrUXVl
dWUgOiBtX3Rhc2tRdWV1ZTsKLSAgICBpZiAoIXRhc2tRdWV1ZS5pc0VtcHR5KCkgJiYgbV9zdGF0
ZSAhPSBGaW5pc2hlZCkgeworICAgIFRhc2tRdWV1ZSogdGFza1F1ZXVlID0gbV9wZW5kaW5nUHJl
ZW1wdGl2ZUV2ZW50cyA/ICZtX3ByZWVtcHRpdmVUYXNrUXVldWUgOiAmbV90YXNrUXVldWU7Cisg
ICAgd2hpbGUgKCF0YXNrUXVldWUtPmlzRW1wdHkoKSAmJiBtX3N0YXRlICE9IEZpbmlzaGVkKSB7
CiAgICAgICAgIEFTU0VSVChtX3N0YXRlID09IFJ1bm5pbmcpOwotICAgICAgICBPd25QdHI8U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzayh0YXNrUXVldWUuZmlyc3QoKS5yZWxlYXNl
KCkpOwotICAgICAgICB0YXNrUXVldWUucmVtb3ZlRmlyc3QoKTsKKyAgICAgICAgT3duUHRyPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2sodGFza1F1ZXVlLT50YWtlRmlyc3QoKSk7
CiAgICAgICAgIG1fcGVuZGluZ0V2ZW50cysrOwogICAgICAgICB0YXNrLT5wZXJmb3JtVGFzaygw
KTsKKworICAgICAgICAvLyBFdmVudCBpdHNlbGYgbWF5IGNoYW5nZSB3aGljaCBxdWV1ZSBzaG91
bGQgYmUgcHJvY2Vzc2VkIG5leHQuCisgICAgICAgIHRhc2tRdWV1ZSA9IG1fcGVuZGluZ1ByZWVt
cHRpdmVFdmVudHMgPyAmbV9wcmVlbXB0aXZlVGFza1F1ZXVlIDogJm1fdGFza1F1ZXVlOwogICAg
IH0KIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>