<?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>116661</bug_id>
          
          <creation_ts>2013-05-23 05:42:23 -0700</creation_ts>
          <short_desc>[WIN] Implement correct detection of stack size</short_desc>
          <delta_ts>2013-06-20 16:37:40 -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>Web Template Framework</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>117801</dependson>
          <blocked>26276</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892765</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-05-23 05:42:23 -0700</bug_when>
    <thetext>[WIN] Implement correct detection of stack size</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892766</commentid>
    <comment_count>1</comment_count>
      <attachid>202668</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-05-23 05:45:19 -0700</bug_when>
    <thetext>Created attachment 202668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892978</commentid>
    <comment_count>2</comment_count>
      <attachid>202668</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-23 11:50:41 -0700</bug_when>
    <thetext>Comment on attachment 202668
Patch

Clearing flags on attachment: 202668

Committed r150600: &lt;http://trac.webkit.org/changeset/150600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892979</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-23 11:50:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893102</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-23 19:31:51 -0700</bug_when>
    <thetext>The patch was rolled out in http://trac.webkit.org/changeset/150621 because it broke Windows tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893130</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-05-23 22:11:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; The patch was rolled out in http://trac.webkit.org/changeset/150621 because it broke Windows tests.

r150621 says &quot;as it breaks the VS2010 builds&quot; and nothing about broken tests.
a) I built the patch with VS2010 and have no problem and
b) I don&apos;t see the test failure at the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893142</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-05-23 22:38:59 -0700</bug_when>
    <thetext>This change caused reproducible run-time crashes on all of our VS2010 build bots.  I was mistaken in my comment that it caused a build failure; this was a run-time failure.

For some reason, VS2005 builds seem to work properly with this patch.  Perhaps something in the compiler changed between releases.

Specific test failures were in the JavaScriptCore test suite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893284</commentid>
    <comment_count>7</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-05-24 06:20:17 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This change caused reproducible run-time crashes on all of our VS2010 build bots.  I was mistaken in my comment that it caused a build failure; this was a run-time failure.

Which VS2010 bot? Where are they??? Since when is the VS2010 build &quot;official&quot;?

&gt; For some reason, VS2005 builds seem to work properly with this patch.  Perhaps something in the compiler changed between releases.
&gt; 
&gt; Specific test failures were in the JavaScriptCore test suite.

Please show me a link the failure or tell me which test makes problem. What is the _exact_ platform.

BTW: Please add a comment to the bug when rolling out. You rolled out _two_ patches and did not add any comment. Also it&apos;s hard to fix it when a) ChangeLog is wrong and there are no information about what&apos;s the exact problem. :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901613</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-18 18:06:54 -0700</bug_when>
    <thetext>CC&apos;ing Mark Lam for JSCore review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901694</commentid>
    <comment_count>9</comment_count>
      <attachid>202668</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-19 01:27:17 -0700</bug_when>
    <thetext>Comment on attachment 202668
Patch

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

&gt; Source/WTF/wtf/StackBounds.cpp:204
&gt; +    m_bound = static_cast&lt;char*&gt;(m_origin) - (reservedMemory.RegionSize - guardPage.RegionSize + committedMemory.RegionSize) + pageSize;

Are you sure that this formula is correct?  I applied this patch in a local build and dumped all the BaseAddreses and RegionSizes.  It looks like the 3 regions (uncommitted, guard page, and committed) are mutually exclusive.  Note: according to the data I got from applying your patch, the &quot;reservedMemory&quot; region would be more accurately named &quot;reservedButUncommittedMemory&quot;.  I&apos;ll just use &quot;uncommittedMemory&quot; since the guardPage and committed regions are also &quot;reserved&quot;.

The size of the reserved address range should be (uncommitedMemory.RegionSize + guardPage.RegionSize + commitedMemory.RegionSize).
The useable stack address range should therefore be (uncommittedMemory.RegionSize + committedMemory.RegionSize).  This is in accordance with the specs at  http://msdn.microsoft.com/en-us/library/ms686774%28VS.85%29.aspx which states that &quot;The system commits additional pages from the reserved stack memory as they are needed, until either the stack reaches the reserved size minus one page (which is used as a guard page to prevent stack overflow) …&quot;.

Hence, m_bound should be (with reservedMemory renamed to uncommittedMemory):
    m_bound = static_cast&lt;char*&gt;(m_origin) - (uncommittedMemory.RegionSize + committedMemory.RegionSize);

Can you please check the address ranges again and confirm if this is the case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901698</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-19 01:41:03 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; BTW: Please add a comment to the bug when rolling out. You rolled out _two_ patches and did not add any comment. Also it&apos;s hard to fix it when a) ChangeLog is wrong and there are no information about what&apos;s the exact problem. :-/

BTW, regarding the test that failed, I&apos;m seeing failures when running Tools/Scripts/run-javascriptcore-tests.  I know of at least 2 issues when running these tests:

1. There&apos;s an assertion failure in the StackPolicy in Interpreter.cpp.  The StackPolicy expects that the total stack size must be greater than 256k.  In my test run on Windows, the total reserved space of the stack region is 256k.  Minus the 4k guard page, it&apos;s certainly less than 256k.

    This 256k value in the StackPolicy was picked based on some heuristics.  We&apos;ll need to rethink how we want to handle this in light of Windows having a stack just under that.  Not sure if this is the OS default or something we configured.

2. Once I reduced the StackPolicy requirement in my local Windows build, I saw another assertion failure in the testapi test (which is part of run-javascriptcore-tests).  I have yet to isolate the root cause of this assertion failure.

Still investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901840</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-19 10:31:50 -0700</bug_when>
    <thetext>I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=117801 to deal with the assertion failure issues, and blocked this bug on that one.  Apart from that, I still think that there is a bug in this patch as indicated in comment #9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902355</commentid>
    <comment_count>12</comment_count>
      <attachid>205128</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-20 16:29:09 -0700</bug_when>
    <thetext>Created attachment 205128
patch to roll Patrick&apos;s patch back in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902356</commentid>
    <comment_count>13</comment_count>
      <attachid>205128</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-20 16:34:20 -0700</bug_when>
    <thetext>Comment on attachment 205128
patch to roll Patrick&apos;s patch back in

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902357</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-20 16:37:40 -0700</bug_when>
    <thetext>The patch has been rolled back in in r151810: &lt;http://trac.webkit.org/changeset/151810&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202668</attachid>
            <date>2013-05-23 05:45:19 -0700</date>
            <delta_ts>2013-06-19 01:27:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116661.patch</filename>
            <type>text/plain</type>
            <size>6758</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYTc1NzlkZi4uMWQ1ZjY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wNS0yMyAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0lOXSBJ
bXBsZW1lbnQgY29ycmVjdCBkZXRlY3Rpb24gb2Ygc3RhY2sgc2l6ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjYxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvU3RhY2tCb3VuZHMuY3BwOgor
ICAgICAgICAoV1RGKToKKyAgICAgICAgKFdURjo6U3RhY2tCb3VuZHM6OmluaXRpYWxpemUpOgor
CiAyMDEzLTA1LTE0ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEludHJvZHVjZSBVU0UoV0lOR0RJKSBmb3IgdGhlIFdpbmRvd3MgcG9ydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuY3BwIGIvU291cmNlL1dURi93dGYvU3Rh
Y2tCb3VuZHMuY3BwCmluZGV4IGZhMjU2ODkuLmViN2Q4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1N0YWNrQm91bmRzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5j
cHAKQEAgLTU4LDEyICs1OCwxMiBAQCBuYW1lc3BhY2UgV1RGIHsKIC8vIEJ1ZyAyNjI3NiAtIE5l
ZWQgYSBtZWNoYW5pc20gdG8gZGV0ZXJtaW5lIHN0YWNrIGV4dGVudAogLy8KIC8vIFRoZXNlIHBs
YXRmb3JtcyBzaG91bGQgbm93IGJlIHdvcmtpbmcgY29ycmVjdGx5OgotLy8gICAgIERBUldJTiwg
UU5YLCBVTklYCisvLyAgICAgREFSV0lOLCBRTlgsIFVOSVgsIFdJTkRPV1MKIC8vIFRoZXNlIHBs
YXRmb3JtcyBhcmUgbm90OgotLy8gICAgIFdJTkRPV1MsIFNPTEFSSVMsIE9QRU5CU0QsIFdJTkNF
CisvLyAgICAgU09MQVJJUywgT1BFTkJTRAogLy8KIC8vIEZJWE1FOiByZW1vdmUgdGhpcyEgLSB0
aGlzIGNvZGUgdW5zYWZlbHkgZ3Vlc3NlcyBhdCBzdGFjayBzaXplcyEKLSNpZiBPUyhXSU5ET1dT
KSB8fCBPUyhTT0xBUklTKSB8fCBPUyhPUEVOQlNEKQorI2lmIE9TKFNPTEFSSVMpIHx8IE9TKE9Q
RU5CU0QpCiAvLyBCYXNlZCBvbiB0aGUgY3VycmVudCBsaW1pdCB1c2VkIGJ5IHRoZSBKU0MgcGFy
c2VyLCBndWVzcyB0aGUgc3RhY2sgc2l6ZS4KIHN0YXRpYyBjb25zdCBwdHJkaWZmX3QgZXN0aW1h
dGVkU3RhY2tTaXplID0gMTI4ICogc2l6ZW9mKHZvaWQqKSAqIDEwMjQ7CiAvLyBUaGlzIG1ldGhv
ZCBhc3N1bWVzIHRoZSBzdGFjayBpcyBncm93aW5nIGRvd253YXJkcy4KQEAgLTE2MywxMDUgKzE2
Myw0NiBAQCB2b2lkIFN0YWNrQm91bmRzOjppbml0aWFsaXplKCkKICAgICBtX29yaWdpbiA9IHN0
YXRpY19jYXN0PGNoYXIqPihzdGFja0Jhc2UpICsgc3RhY2tTaXplOwogfQogCi0jZWxpZiBPUyhX
SU5DRSkKLQotc3RhdGljIGJvb2wgZGV0ZWN0R3Jvd2luZ0Rvd253YXJkKHZvaWQqIHByZXZpb3Vz
RnJhbWUpCi17Ci0gICAgLy8gRmluZCB0aGUgYWRkcmVzcyBvZiB0aGlzIHN0YWNrIGZyYW1lIGJ5
IHRha2luZyB0aGUgYWRkcmVzcyBvZiBhIGxvY2FsIHZhcmlhYmxlLgotICAgIGludCB0aGlzRnJh
bWU7Ci0gICAgcmV0dXJuIHByZXZpb3VzRnJhbWUgPiAmdGhpc0ZyYW1lOwotfQotCi1zdGF0aWMg
aW5saW5lIGJvb2wgaXNQYWdlV3JpdGFibGUodm9pZCogcGFnZSkKLXsKLSAgICBNRU1PUllfQkFT
SUNfSU5GT1JNQVRJT04gbWVtb3J5SW5mb3JtYXRpb247Ci0gICAgRFdPUkQgcmVzdWx0ID0gVmly
dHVhbFF1ZXJ5KHBhZ2UsICZtZW1vcnlJbmZvcm1hdGlvbiwgc2l6ZW9mKG1lbW9yeUluZm9ybWF0
aW9uKSk7Ci0KLSAgICAvLyByZXR1cm4gZmFsc2Ugb24gZXJyb3IsIGluY2x1ZGluZyBwdHIgb3V0
c2lkZSBtZW1vcnkKLSAgICBpZiAocmVzdWx0ICE9IHNpemVvZihtZW1vcnlJbmZvcm1hdGlvbikp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIERXT1JEIHByb3RlY3QgPSBtZW1vcnlJbmZv
cm1hdGlvbi5Qcm90ZWN0ICYgfihQQUdFX0dVQVJEIHwgUEFHRV9OT0NBQ0hFKTsKLSAgICByZXR1
cm4gcHJvdGVjdCA9PSBQQUdFX1JFQURXUklURQotICAgICAgICB8fCBwcm90ZWN0ID09IFBBR0Vf
V1JJVEVDT1BZCi0gICAgICAgIHx8IHByb3RlY3QgPT0gUEFHRV9FWEVDVVRFX1JFQURXUklURQot
ICAgICAgICB8fCBwcm90ZWN0ID09IFBBR0VfRVhFQ1VURV9XUklURUNPUFk7Ci19Ci0KLXN0YXRp
YyBpbmxpbmUgdm9pZCogZ2V0TG93ZXJTdGFja0JvdW5kKGNoYXIqIGN1cnJlbnRQYWdlLCBEV09S
RCBwYWdlU2l6ZSkKLXsKLSAgICB3aGlsZSAoY3VycmVudFBhZ2UgPiAwKSB7Ci0gICAgICAgIC8v
IGNoZWNrIGZvciB1bmRlcmZsb3cKLSAgICAgICAgaWYgKGN1cnJlbnRQYWdlID49IHJlaW50ZXJw
cmV0X2Nhc3Q8Y2hhcio+KHBhZ2VTaXplKSkKLSAgICAgICAgICAgIGN1cnJlbnRQYWdlIC09IHBh
Z2VTaXplOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBjdXJyZW50UGFnZSA9IDA7Ci0KLSAg
ICAgICAgaWYgKCFpc1BhZ2VXcml0YWJsZShjdXJyZW50UGFnZSkpCi0gICAgICAgICAgICByZXR1
cm4gY3VycmVudFBhZ2UgKyBwYWdlU2l6ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQot
c3RhdGljIGlubGluZSB2b2lkKiBnZXRVcHBlclN0YWNrQm91bmQoY2hhciogY3VycmVudFBhZ2Us
IERXT1JEIHBhZ2VTaXplKQotewotICAgIGRvIHsKLSAgICAgICAgLy8gZ3VhcmFudGVlZCB0byBj
b21wbGV0ZSBiZWNhdXNlIGlzUGFnZVdyaXRhYmxlIHJldHVybnMgZmFsc2UgYXQgZW5kIG9mIG1l
bW9yeQotICAgICAgICBjdXJyZW50UGFnZSArPSBwYWdlU2l6ZTsKLSAgICB9IHdoaWxlIChpc1Bh
Z2VXcml0YWJsZShjdXJyZW50UGFnZSkpOwotCi0gICAgcmV0dXJuIGN1cnJlbnRQYWdlIC0gcGFn
ZVNpemU7Ci19CisjZWxpZiBPUyhXSU5ET1dTKQogCiB2b2lkIFN0YWNrQm91bmRzOjppbml0aWFs
aXplKCkKIHsKLSAgICAvLyBmaW5kIHRoZSBhZGRyZXNzIG9mIHRoaXMgc3RhY2sgZnJhbWUgYnkg
dGFraW5nIHRoZSBhZGRyZXNzIG9mIGEgbG9jYWwgdmFyaWFibGUKLSAgICB2b2lkKiB0aGlzRnJh
bWUgPSAmdGhpc0ZyYW1lOwotICAgIGJvb2wgaXNHcm93aW5nRG93bndhcmQgPSBkZXRlY3RHcm93
aW5nRG93bndhcmQodGhpc0ZyYW1lKTsKLQogICAgIFNZU1RFTV9JTkZPIHN5c3RlbUluZm87CiAg
ICAgR2V0U3lzdGVtSW5mbygmc3lzdGVtSW5mbyk7CiAgICAgRFdPUkQgcGFnZVNpemUgPSBzeXN0
ZW1JbmZvLmR3UGFnZVNpemU7CiAKLSAgICAvLyBzY2FuIGFsbCBvZiBtZW1vcnkgc3RhcnRpbmcg
ZnJvbSB0aGlzIGZyYW1lLCBhbmQgcmV0dXJuIHRoZSBsYXN0IHdyaXRlYWJsZSBwYWdlIGZvdW5k
Ci0gICAgY2hhciogY3VycmVudFBhZ2UgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihyZWludGVy
cHJldF9jYXN0PERXT1JEPih0aGlzRnJhbWUpICYgfihwYWdlU2l6ZSAtIDEpKTsKLSAgICB2b2lk
KiBsb3dlclN0YWNrQm91bmQgPSBnZXRMb3dlclN0YWNrQm91bmQoY3VycmVudFBhZ2UsIHBhZ2VT
aXplKTsKLSAgICB2b2lkKiB1cHBlclN0YWNrQm91bmQgPSBnZXRVcHBlclN0YWNrQm91bmQoY3Vy
cmVudFBhZ2UsIHBhZ2VTaXplKTsKLQotICAgIG1fb3JpZ2luID0gaXNHcm93aW5nRG93bndhcmQg
PyB1cHBlclN0YWNrQm91bmQgOiBsb3dlclN0YWNrQm91bmQ7Ci0gICAgbV9ib3VuZCA9IGlzR3Jv
d2luZ0Rvd253YXJkID8gbG93ZXJTdGFja0JvdW5kIDogdXBwZXJTdGFja0JvdW5kOwotfQorICAg
IE1FTU9SWV9CQVNJQ19JTkZPUk1BVElPTiBzdGFja09yaWdpbjsKKyAgICBWaXJ0dWFsUXVlcnko
JnN0YWNrT3JpZ2luLCAmc3RhY2tPcmlnaW4sIHNpemVvZihzdGFja09yaWdpbikpOworICAgIC8v
IHN0YWNrT3JpZ2luLkFsbG9jYXRpb25CYXNlIHBvaW50cyB0byB0aGUgcmVzZXJ2ZWQgc3RhY2sg
bWVtb3J5IGJhc2UgYWRkcmVzcy4KIAotI2VsaWYgT1MoV0lORE9XUykKKyAgICBtX29yaWdpbiA9
IHN0YXRpY19jYXN0PGNoYXIqPihzdGFja09yaWdpbi5CYXNlQWRkcmVzcykgKyBzdGFja09yaWdp
bi5SZWdpb25TaXplOworI2lmIE9TKFdJTkNFKQorICAgIE1FTU9SWV9CQVNJQ19JTkZPUk1BVElP
TiBzdGFja01lbW9yeTsKKyAgICBWaXJ0dWFsUXVlcnkobV9vcmlnaW4sICZzdGFja01lbW9yeSwg
c2l6ZW9mKHN0YWNrTWVtb3J5KSk7CiAKLXZvaWQgU3RhY2tCb3VuZHM6OmluaXRpYWxpemUoKQot
ewotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0gICAgLy8gb2Zmc2V0IDB4MTggZnJv
bSB0aGUgRlMgc2VnbWVudCByZWdpc3RlciBnaXZlcyBhIHBvaW50ZXIgdG8KLSAgICAvLyB0aGUg
dGhyZWFkIGluZm9ybWF0aW9uIGJsb2NrIGZvciB0aGUgY3VycmVudCB0aHJlYWQKLSAgICBOVF9U
SUIqIHBUaWI7Ci0gICAgX19hc20gewotICAgICAgICBNT1YgRUFYLCBGUzpbMThoXQotICAgICAg
ICBNT1YgcFRpYiwgRUFYCi0gICAgfQotICAgIG1fb3JpZ2luID0gc3RhdGljX2Nhc3Q8dm9pZCo+
KHBUaWItPlN0YWNrQmFzZSk7Ci0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCi0gICAg
Ly8gb2Zmc2V0IDB4MTggZnJvbSB0aGUgRlMgc2VnbWVudCByZWdpc3RlciBnaXZlcyBhIHBvaW50
ZXIgdG8KLSAgICAvLyB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIGJsb2NrIGZvciB0aGUgY3VycmVu
dCB0aHJlYWQKLSAgICBOVF9USUIqIHBUaWI7Ci0gICAgYXNtICggIm1vdmwgJSVmczoweDE4LCAl
MFxuIgotICAgICAgICAgIDogIj1yIiAocFRpYikKLSAgICAgICAgKTsKLSAgICBtX29yaWdpbiA9
IHN0YXRpY19jYXN0PHZvaWQqPihwVGliLT5TdGFja0Jhc2UpOwotI2VsaWYgQ1BVKFg4Nl82NCkK
LSAgICBQTlRfVElCNjQgcFRpYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UE5UX1RJQjY0PihOdEN1cnJl
bnRUZWIoKSk7Ci0gICAgbV9vcmlnaW4gPSByZWludGVycHJldF9jYXN0PHZvaWQqPihwVGliLT5T
dGFja0Jhc2UpOworICAgIG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4obV9vcmlnaW4pIC0g
c3RhY2tNZW1vcnkuUmVnaW9uU2l6ZSArIHBhZ2VTaXplOwogI2Vsc2UKLSNlcnJvciBOZWVkIGEg
d2F5IHRvIGdldCB0aGUgc3RhY2sgYm91bmRzIG9uIHRoaXMgcGxhdGZvcm0gKFdpbmRvd3MpCisg
ICAgLy8gVGhlIHN0YWNrIG9uIFdpbmRvd3MgY29uc2lzdHMgb3V0IG9mIHRocmVlIHBhcnRzIChy
ZXNlcnZlZCBtZW1vcnksIGEgZ3VhcmQgcGFnZSBhbmQgaW5pdGlhbGx5IGNvbW1pdHRlZCBtZW1v
cnkpLAorICAgIC8vIHdoaWNoIG5lZWQgdG8gbWUgcXVlcmllZCBzZXBlcmF0ZWx5IHRvIGdldCB0
aGUgZnVsbCBzaXplIG9mIHRoZSBzdGFjay4KKyAgICAvLyBTZWUgaHR0cDovL21zZG4ubWljcm9z
b2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjg2Nzc0JTI4VlMuODUlMjkuYXNweCBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4KKworICAgIE1FTU9SWV9CQVNJQ19JTkZPUk1BVElPTiByZXNlcnZlZE1lbW9y
eTsKKyAgICBWaXJ0dWFsUXVlcnkoc3RhY2tPcmlnaW4uQWxsb2NhdGlvbkJhc2UsICZyZXNlcnZl
ZE1lbW9yeSwgc2l6ZW9mKHJlc2VydmVkTWVtb3J5KSk7CisgICAgQVNTRVJUKHJlc2VydmVkTWVt
b3J5LlN0YXRlID09IE1FTV9SRVNFUlZFKTsKKyAgICAvLyByZXNlcnZlZE1lbW9yeS5CYXNlQWRk
cmVzcyBhbmQgcmVzZXJ2ZWRNZW1vcnkuUmVnaW9uU2l6ZSBkZXNjcmliZSByZXNlcnZlZCAodW5j
b21taXR0ZWQpIHBvcnRpb24gb2YgdGhlIHN0YWNrLgorCisgICAgTUVNT1JZX0JBU0lDX0lORk9S
TUFUSU9OIGd1YXJkUGFnZTsKKyAgICBWaXJ0dWFsUXVlcnkoc3RhdGljX2Nhc3Q8Y2hhcio+KHJl
c2VydmVkTWVtb3J5LkJhc2VBZGRyZXNzKSArIHJlc2VydmVkTWVtb3J5LlJlZ2lvblNpemUsICZn
dWFyZFBhZ2UsIHNpemVvZihndWFyZFBhZ2UpKTsKKyAgICBBU1NFUlQoZ3VhcmRQYWdlLlByb3Rl
Y3QgJiBQQUdFX0dVQVJEKTsKKyAgICAvLyBndWFyZFBhZ2UuQmFzZUFkZHJlc3MgYW5kIGd1YXJk
UGFnZS5SZWdpb25TaXplIGRlc2NyaWJlIHRoZSBndWFyZCBwYWdlLgorCisgICAgTUVNT1JZX0JB
U0lDX0lORk9STUFUSU9OIGNvbW1pdHRlZE1lbW9yeTsKKyAgICBWaXJ0dWFsUXVlcnkoc3RhdGlj
X2Nhc3Q8Y2hhcio+KGd1YXJkUGFnZS5CYXNlQWRkcmVzcykgKyBndWFyZFBhZ2UuUmVnaW9uU2l6
ZSwgJmNvbW1pdHRlZE1lbW9yeSwgc2l6ZW9mKGNvbW1pdHRlZE1lbW9yeSkpOworICAgIEFTU0VS
VChjb21taXR0ZWRNZW1vcnkuU3RhdGUgPT0gTUVNX0NPTU1JVCk7CisgICAgLy8gY29tbWl0dGVk
TWVtb3J5LkJhc2VBZGRyZXNzLCBjb21taXR0ZWRNZW1vcnkuUmVnaW9uU2l6ZSBkZXNjcmliZSB0
aGUgY29tbWl0dGVkIChpLmUuIGFjY2Vzc2VkKSBwb3J0aW9uIG9mIHRoZSBzdGFjay4KKworICAg
IG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4obV9vcmlnaW4pIC0gKHJlc2VydmVkTWVtb3J5
LlJlZ2lvblNpemUgLSBndWFyZFBhZ2UuUmVnaW9uU2l6ZSArIGNvbW1pdHRlZE1lbW9yeS5SZWdp
b25TaXplKSArIHBhZ2VTaXplOwogI2VuZGlmCi0gICAgLy8gTG9va3MgbGlrZSB3ZSBzaG91bGQg
YmUgYWJsZSB0byBnZXQgcFRpYi0+U3RhY2tMaW1pdAotICAgIG1fYm91bmQgPSBlc3RpbWF0ZVN0
YWNrQm91bmQobV9vcmlnaW4pOwogfQogCiAjZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205128</attachid>
            <date>2013-06-20 16:29:09 -0700</date>
            <delta_ts>2013-06-20 16:34:20 -0700</delta_ts>
            <desc>patch to roll Patrick&apos;s patch back in</desc>
            <filename>bug-116661.patch</filename>
            <type>text/plain</type>
            <size>6995</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTE4MDkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTIwICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KKworICAgICAgICBbV2luZG93c10gVW5kb2luZyByMTUwNjIxIHRvIHJvbGwg
cjE1MDYwMCBiYWNrIGluIGFzIHRoZSBqc2MgdGVzdAorICAgICAgICBmYWlsdXJlcyBoYXZlIGJl
ZW4gZml4ZWQgaW4gcjE1MTgwOC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjY2MS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9TdGFja0JvdW5kcy5jcHA6CisgICAgICAgIChXVEY6OlN0YWNr
Qm91bmRzOjppbml0aWFsaXplKToKKwogMjAxMy0wNi0yMCAgTWlraGFpbCBQb3pkbnlha292ICA8
bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBIYXNoU2V0OiByZXZlcnNl
IHRoZSBvcmRlciBvZiB0aGUgdGVtcGxhdGUgYXJndW1lbnRzIGF0IGFsdGVybmF0ZSAnZmluZCcs
ICdjb250YWlucycgYW5kICdhZGQnIG1ldGhvZHMKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1N0YWNr
Qm91bmRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5jcHAJ
KHJldmlzaW9uIDE1MTgwOCkKKysrIFNvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTUsMjQgKzU1LDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLS8vIEJ1
ZyAyNjI3NiAtIE5lZWQgYSBtZWNoYW5pc20gdG8gZGV0ZXJtaW5lIHN0YWNrIGV4dGVudAotLy8K
LS8vIFRoZXNlIHBsYXRmb3JtcyBzaG91bGQgbm93IGJlIHdvcmtpbmcgY29ycmVjdGx5OgotLy8g
ICAgIERBUldJTiwgT1BFTkJTRCwgUU5YLCBTT0xBUklTLCBVTklYCi0vLyBUaGVzZSBwbGF0Zm9y
bXMgYXJlIG5vdDoKLS8vICAgICBXSU5ET1dTLCBXSU5DRQotLy8KLS8vIEZJWE1FOiByZW1vdmUg
dGhpcyEgLSB0aGlzIGNvZGUgdW5zYWZlbHkgZ3Vlc3NlcyBhdCBzdGFjayBzaXplcyEKLSNpZiBP
UyhXSU5ET1dTKQotLy8gQmFzZWQgb24gdGhlIGN1cnJlbnQgbGltaXQgdXNlZCBieSB0aGUgSlND
IHBhcnNlciwgZ3Vlc3MgdGhlIHN0YWNrIHNpemUuCi1zdGF0aWMgY29uc3QgcHRyZGlmZl90IGVz
dGltYXRlZFN0YWNrU2l6ZSA9IDEyOCAqIHNpemVvZih2b2lkKikgKiAxMDI0OwotLy8gVGhpcyBt
ZXRob2QgYXNzdW1lcyB0aGUgc3RhY2sgaXMgZ3Jvd2luZyBkb3dud2FyZHMuCi1zdGF0aWMgdm9p
ZCogZXN0aW1hdGVTdGFja0JvdW5kKHZvaWQqIG9yaWdpbikKLXsKLSAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y2hhcio+KG9yaWdpbikgLSBlc3RpbWF0ZWRTdGFja1NpemU7Ci19Ci0jZW5kaWYKLQog
I2lmIE9TKERBUldJTikKIAogdm9pZCBTdGFja0JvdW5kczo6aW5pdGlhbGl6ZSgpCkBAIC0xNjcs
MTA1ICsxNDksNDYgQEAgdm9pZCBTdGFja0JvdW5kczo6aW5pdGlhbGl6ZSgpCiAgICAgbV9vcmln
aW4gPSBzdGF0aWNfY2FzdDxjaGFyKj4oc3RhY2tCYXNlKSArIHN0YWNrU2l6ZTsKIH0KIAotI2Vs
aWYgT1MoV0lOQ0UpCi0KLXN0YXRpYyBib29sIGRldGVjdEdyb3dpbmdEb3dud2FyZCh2b2lkKiBw
cmV2aW91c0ZyYW1lKQotewotICAgIC8vIEZpbmQgdGhlIGFkZHJlc3Mgb2YgdGhpcyBzdGFjayBm
cmFtZSBieSB0YWtpbmcgdGhlIGFkZHJlc3Mgb2YgYSBsb2NhbCB2YXJpYWJsZS4KLSAgICBpbnQg
dGhpc0ZyYW1lOwotICAgIHJldHVybiBwcmV2aW91c0ZyYW1lID4gJnRoaXNGcmFtZTsKLX0KLQot
c3RhdGljIGlubGluZSBib29sIGlzUGFnZVdyaXRhYmxlKHZvaWQqIHBhZ2UpCi17Ci0gICAgTUVN
T1JZX0JBU0lDX0lORk9STUFUSU9OIG1lbW9yeUluZm9ybWF0aW9uOwotICAgIERXT1JEIHJlc3Vs
dCA9IFZpcnR1YWxRdWVyeShwYWdlLCAmbWVtb3J5SW5mb3JtYXRpb24sIHNpemVvZihtZW1vcnlJ
bmZvcm1hdGlvbikpOwotCi0gICAgLy8gcmV0dXJuIGZhbHNlIG9uIGVycm9yLCBpbmNsdWRpbmcg
cHRyIG91dHNpZGUgbWVtb3J5Ci0gICAgaWYgKHJlc3VsdCAhPSBzaXplb2YobWVtb3J5SW5mb3Jt
YXRpb24pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBEV09SRCBwcm90ZWN0ID0gbWVt
b3J5SW5mb3JtYXRpb24uUHJvdGVjdCAmIH4oUEFHRV9HVUFSRCB8IFBBR0VfTk9DQUNIRSk7Ci0g
ICAgcmV0dXJuIHByb3RlY3QgPT0gUEFHRV9SRUFEV1JJVEUKLSAgICAgICAgfHwgcHJvdGVjdCA9
PSBQQUdFX1dSSVRFQ09QWQotICAgICAgICB8fCBwcm90ZWN0ID09IFBBR0VfRVhFQ1VURV9SRUFE
V1JJVEUKLSAgICAgICAgfHwgcHJvdGVjdCA9PSBQQUdFX0VYRUNVVEVfV1JJVEVDT1BZOwotfQot
Ci1zdGF0aWMgaW5saW5lIHZvaWQqIGdldExvd2VyU3RhY2tCb3VuZChjaGFyKiBjdXJyZW50UGFn
ZSwgRFdPUkQgcGFnZVNpemUpCi17Ci0gICAgd2hpbGUgKGN1cnJlbnRQYWdlID4gMCkgewotICAg
ICAgICAvLyBjaGVjayBmb3IgdW5kZXJmbG93Ci0gICAgICAgIGlmIChjdXJyZW50UGFnZSA+PSBy
ZWludGVycHJldF9jYXN0PGNoYXIqPihwYWdlU2l6ZSkpCi0gICAgICAgICAgICBjdXJyZW50UGFn
ZSAtPSBwYWdlU2l6ZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY3VycmVudFBhZ2UgPSAw
OwotCi0gICAgICAgIGlmICghaXNQYWdlV3JpdGFibGUoY3VycmVudFBhZ2UpKQotICAgICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRQYWdlICsgcGFnZVNpemU7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7
Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCogZ2V0VXBwZXJTdGFja0JvdW5kKGNoYXIqIGN1cnJl
bnRQYWdlLCBEV09SRCBwYWdlU2l6ZSkKLXsKLSAgICBkbyB7Ci0gICAgICAgIC8vIGd1YXJhbnRl
ZWQgdG8gY29tcGxldGUgYmVjYXVzZSBpc1BhZ2VXcml0YWJsZSByZXR1cm5zIGZhbHNlIGF0IGVu
ZCBvZiBtZW1vcnkKLSAgICAgICAgY3VycmVudFBhZ2UgKz0gcGFnZVNpemU7Ci0gICAgfSB3aGls
ZSAoaXNQYWdlV3JpdGFibGUoY3VycmVudFBhZ2UpKTsKLQotICAgIHJldHVybiBjdXJyZW50UGFn
ZSAtIHBhZ2VTaXplOwotfQorI2VsaWYgT1MoV0lORE9XUykKIAogdm9pZCBTdGFja0JvdW5kczo6
aW5pdGlhbGl6ZSgpCiB7Ci0gICAgLy8gZmluZCB0aGUgYWRkcmVzcyBvZiB0aGlzIHN0YWNrIGZy
YW1lIGJ5IHRha2luZyB0aGUgYWRkcmVzcyBvZiBhIGxvY2FsIHZhcmlhYmxlCi0gICAgdm9pZCog
dGhpc0ZyYW1lID0gJnRoaXNGcmFtZTsKLSAgICBib29sIGlzR3Jvd2luZ0Rvd253YXJkID0gZGV0
ZWN0R3Jvd2luZ0Rvd253YXJkKHRoaXNGcmFtZSk7Ci0KICAgICBTWVNURU1fSU5GTyBzeXN0ZW1J
bmZvOwogICAgIEdldFN5c3RlbUluZm8oJnN5c3RlbUluZm8pOwogICAgIERXT1JEIHBhZ2VTaXpl
ID0gc3lzdGVtSW5mby5kd1BhZ2VTaXplOwogCi0gICAgLy8gc2NhbiBhbGwgb2YgbWVtb3J5IHN0
YXJ0aW5nIGZyb20gdGhpcyBmcmFtZSwgYW5kIHJldHVybiB0aGUgbGFzdCB3cml0ZWFibGUgcGFn
ZSBmb3VuZAotICAgIGNoYXIqIGN1cnJlbnRQYWdlID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
cmVpbnRlcnByZXRfY2FzdDxEV09SRD4odGhpc0ZyYW1lKSAmIH4ocGFnZVNpemUgLSAxKSk7Ci0g
ICAgdm9pZCogbG93ZXJTdGFja0JvdW5kID0gZ2V0TG93ZXJTdGFja0JvdW5kKGN1cnJlbnRQYWdl
LCBwYWdlU2l6ZSk7Ci0gICAgdm9pZCogdXBwZXJTdGFja0JvdW5kID0gZ2V0VXBwZXJTdGFja0Jv
dW5kKGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSk7CisgICAgTUVNT1JZX0JBU0lDX0lORk9STUFUSU9O
IHN0YWNrT3JpZ2luOworICAgIFZpcnR1YWxRdWVyeSgmc3RhY2tPcmlnaW4sICZzdGFja09yaWdp
biwgc2l6ZW9mKHN0YWNrT3JpZ2luKSk7CisgICAgLy8gc3RhY2tPcmlnaW4uQWxsb2NhdGlvbkJh
c2UgcG9pbnRzIHRvIHRoZSByZXNlcnZlZCBzdGFjayBtZW1vcnkgYmFzZSBhZGRyZXNzLgorCisg
ICAgbV9vcmlnaW4gPSBzdGF0aWNfY2FzdDxjaGFyKj4oc3RhY2tPcmlnaW4uQmFzZUFkZHJlc3Mp
ICsgc3RhY2tPcmlnaW4uUmVnaW9uU2l6ZTsKKyNpZiBPUyhXSU5DRSkKKyAgICBNRU1PUllfQkFT
SUNfSU5GT1JNQVRJT04gc3RhY2tNZW1vcnk7CisgICAgVmlydHVhbFF1ZXJ5KG1fb3JpZ2luLCAm
c3RhY2tNZW1vcnksIHNpemVvZihzdGFja01lbW9yeSkpOwogCi0gICAgbV9vcmlnaW4gPSBpc0dy
b3dpbmdEb3dud2FyZCA/IHVwcGVyU3RhY2tCb3VuZCA6IGxvd2VyU3RhY2tCb3VuZDsKLSAgICBt
X2JvdW5kID0gaXNHcm93aW5nRG93bndhcmQgPyBsb3dlclN0YWNrQm91bmQgOiB1cHBlclN0YWNr
Qm91bmQ7Ci19Ci0KLSNlbGlmIE9TKFdJTkRPV1MpCi0KLXZvaWQgU3RhY2tCb3VuZHM6OmluaXRp
YWxpemUoKQotewotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0gICAgLy8gb2Zmc2V0
IDB4MTggZnJvbSB0aGUgRlMgc2VnbWVudCByZWdpc3RlciBnaXZlcyBhIHBvaW50ZXIgdG8KLSAg
ICAvLyB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIGJsb2NrIGZvciB0aGUgY3VycmVudCB0aHJlYWQK
LSAgICBOVF9USUIqIHBUaWI7Ci0gICAgX19hc20gewotICAgICAgICBNT1YgRUFYLCBGUzpbMTho
XQotICAgICAgICBNT1YgcFRpYiwgRUFYCi0gICAgfQotICAgIG1fb3JpZ2luID0gc3RhdGljX2Nh
c3Q8dm9pZCo+KHBUaWItPlN0YWNrQmFzZSk7Ci0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihH
Q0MpCi0gICAgLy8gb2Zmc2V0IDB4MTggZnJvbSB0aGUgRlMgc2VnbWVudCByZWdpc3RlciBnaXZl
cyBhIHBvaW50ZXIgdG8KLSAgICAvLyB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIGJsb2NrIGZvciB0
aGUgY3VycmVudCB0aHJlYWQKLSAgICBOVF9USUIqIHBUaWI7Ci0gICAgYXNtICggIm1vdmwgJSVm
czoweDE4LCAlMFxuIgotICAgICAgICAgIDogIj1yIiAocFRpYikKLSAgICAgICAgKTsKLSAgICBt
X29yaWdpbiA9IHN0YXRpY19jYXN0PHZvaWQqPihwVGliLT5TdGFja0Jhc2UpOwotI2VsaWYgQ1BV
KFg4Nl82NCkKLSAgICBQTlRfVElCNjQgcFRpYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UE5UX1RJQjY0
PihOdEN1cnJlbnRUZWIoKSk7Ci0gICAgbV9vcmlnaW4gPSByZWludGVycHJldF9jYXN0PHZvaWQq
PihwVGliLT5TdGFja0Jhc2UpOworICAgIG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4obV9v
cmlnaW4pIC0gc3RhY2tNZW1vcnkuUmVnaW9uU2l6ZSArIHBhZ2VTaXplOwogI2Vsc2UKLSNlcnJv
ciBOZWVkIGEgd2F5IHRvIGdldCB0aGUgc3RhY2sgYm91bmRzIG9uIHRoaXMgcGxhdGZvcm0gKFdp
bmRvd3MpCisgICAgLy8gVGhlIHN0YWNrIG9uIFdpbmRvd3MgY29uc2lzdHMgb3V0IG9mIHRocmVl
IHBhcnRzIChyZXNlcnZlZCBtZW1vcnksIGEgZ3VhcmQgcGFnZSBhbmQgaW5pdGlhbGx5IGNvbW1p
dHRlZCBtZW1vcnkpLAorICAgIC8vIHdoaWNoIG5lZWQgdG8gbWUgcXVlcmllZCBzZXBlcmF0ZWx5
IHRvIGdldCB0aGUgZnVsbCBzaXplIG9mIHRoZSBzdGFjay4KKyAgICAvLyBTZWUgaHR0cDovL21z
ZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjg2Nzc0JTI4VlMuODUlMjkuYXNweCBm
b3IgbW9yZSBpbmZvcm1hdGlvbi4KKworICAgIE1FTU9SWV9CQVNJQ19JTkZPUk1BVElPTiByZXNl
cnZlZE1lbW9yeTsKKyAgICBWaXJ0dWFsUXVlcnkoc3RhY2tPcmlnaW4uQWxsb2NhdGlvbkJhc2Us
ICZyZXNlcnZlZE1lbW9yeSwgc2l6ZW9mKHJlc2VydmVkTWVtb3J5KSk7CisgICAgQVNTRVJUKHJl
c2VydmVkTWVtb3J5LlN0YXRlID09IE1FTV9SRVNFUlZFKTsKKyAgICAvLyByZXNlcnZlZE1lbW9y
eS5CYXNlQWRkcmVzcyBhbmQgcmVzZXJ2ZWRNZW1vcnkuUmVnaW9uU2l6ZSBkZXNjcmliZSByZXNl
cnZlZCAodW5jb21taXR0ZWQpIHBvcnRpb24gb2YgdGhlIHN0YWNrLgorCisgICAgTUVNT1JZX0JB
U0lDX0lORk9STUFUSU9OIGd1YXJkUGFnZTsKKyAgICBWaXJ0dWFsUXVlcnkoc3RhdGljX2Nhc3Q8
Y2hhcio+KHJlc2VydmVkTWVtb3J5LkJhc2VBZGRyZXNzKSArIHJlc2VydmVkTWVtb3J5LlJlZ2lv
blNpemUsICZndWFyZFBhZ2UsIHNpemVvZihndWFyZFBhZ2UpKTsKKyAgICBBU1NFUlQoZ3VhcmRQ
YWdlLlByb3RlY3QgJiBQQUdFX0dVQVJEKTsKKyAgICAvLyBndWFyZFBhZ2UuQmFzZUFkZHJlc3Mg
YW5kIGd1YXJkUGFnZS5SZWdpb25TaXplIGRlc2NyaWJlIHRoZSBndWFyZCBwYWdlLgorCisgICAg
TUVNT1JZX0JBU0lDX0lORk9STUFUSU9OIGNvbW1pdHRlZE1lbW9yeTsKKyAgICBWaXJ0dWFsUXVl
cnkoc3RhdGljX2Nhc3Q8Y2hhcio+KGd1YXJkUGFnZS5CYXNlQWRkcmVzcykgKyBndWFyZFBhZ2Uu
UmVnaW9uU2l6ZSwgJmNvbW1pdHRlZE1lbW9yeSwgc2l6ZW9mKGNvbW1pdHRlZE1lbW9yeSkpOwor
ICAgIEFTU0VSVChjb21taXR0ZWRNZW1vcnkuU3RhdGUgPT0gTUVNX0NPTU1JVCk7CisgICAgLy8g
Y29tbWl0dGVkTWVtb3J5LkJhc2VBZGRyZXNzLCBjb21taXR0ZWRNZW1vcnkuUmVnaW9uU2l6ZSBk
ZXNjcmliZSB0aGUgY29tbWl0dGVkIChpLmUuIGFjY2Vzc2VkKSBwb3J0aW9uIG9mIHRoZSBzdGFj
ay4KKworICAgIG1fYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4obV9vcmlnaW4pIC0gKHJlc2Vy
dmVkTWVtb3J5LlJlZ2lvblNpemUgLSBndWFyZFBhZ2UuUmVnaW9uU2l6ZSArIGNvbW1pdHRlZE1l
bW9yeS5SZWdpb25TaXplKSArIHBhZ2VTaXplOwogI2VuZGlmCi0gICAgLy8gTG9va3MgbGlrZSB3
ZSBzaG91bGQgYmUgYWJsZSB0byBnZXQgcFRpYi0+U3RhY2tMaW1pdAotICAgIG1fYm91bmQgPSBl
c3RpbWF0ZVN0YWNrQm91bmQobV9vcmlnaW4pOwogfQogCiAjZWxzZQo=
</data>
<flag name="review"
          id="226597"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>