<?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>128226</bug_id>
          
          <creation_ts>2014-02-04 18:16:14 -0800</creation_ts>
          <short_desc>The stack limit computation does not work for Windows</short_desc>
          <delta_ts>2014-02-04 21:27:34 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127940</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976607</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 18:16:14 -0800</bug_when>
    <thetext>The current stack limit computation assumes that the stack is allocated in high memory.  On Windows, the stack seems to be allocated very near address 0, and is smaller in size than our Options::maxPerThreadStackUsage().  This combination triggers a bug where StackBounds::recursionLimit() underflows and computes a limit address that is ridiculously high in memory.  The net effect is that the Windows port thinks its out of stack space all the time.

Fix coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976609</commentid>
    <comment_count>1</comment_count>
      <attachid>223195</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 18:48:55 -0800</bug_when>
    <thetext>Created attachment 223195
fixed StackBound::recursionLimit() to handle underflows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976610</commentid>
    <comment_count>2</comment_count>
      <attachid>223195</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-04 18:51:39 -0800</bug_when>
    <thetext>Comment on attachment 223195
fixed StackBound::recursionLimit() to handle underflows.

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

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:156
&gt; +    CLoopRegister() { i = static_cast&lt;intptr_t&gt;(0xbadbeef0baddbeef); }

tasty, but won&apos;t this break in 32bit builds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976611</commentid>
    <comment_count>3</comment_count>
      <attachid>223195</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 18:52:46 -0800</bug_when>
    <thetext>Comment on attachment 223195
fixed StackBound::recursionLimit() to handle underflows.

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

&gt;&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:156
&gt;&gt; +    CLoopRegister() { i = static_cast&lt;intptr_t&gt;(0xbadbeef0baddbeef); }
&gt; 
&gt; tasty, but won&apos;t this break in 32bit builds?

Nope.  That&apos;s what the static_cast&lt;intptr_t&gt; takes care of for me.  I verified that the 32-bit build is happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976619</commentid>
    <comment_count>4</comment_count>
      <attachid>223198</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 19:28:50 -0800</bug_when>
    <thetext>Created attachment 223198
I fixed the patch, but apparently uploaded the wrong one.  Round 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976620</commentid>
    <comment_count>5</comment_count>
      <attachid>223198</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 19:30:05 -0800</bug_when>
    <thetext>Comment on attachment 223198
I fixed the patch, but apparently uploaded the wrong one.  Round 2.

A bad patch again.  Redoing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976622</commentid>
    <comment_count>6</comment_count>
      <attachid>223200</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 19:33:21 -0800</bug_when>
    <thetext>Created attachment 223200
Trying again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976623</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-04 19:35:05 -0800</bug_when>
    <thetext>Patch 3 has passed the layout tests with a debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976646</commentid>
    <comment_count>8</comment_count>
      <attachid>223200</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-04 20:59:33 -0800</bug_when>
    <thetext>Comment on attachment 223200
Trying again.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976651</commentid>
    <comment_count>9</comment_count>
      <attachid>223200</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-04 21:27:32 -0800</bug_when>
    <thetext>Comment on attachment 223200
Trying again.

Clearing flags on attachment: 223200

Committed r163428: &lt;http://trac.webkit.org/changeset/163428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976652</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-04 21:27:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223195</attachid>
            <date>2014-02-04 18:48:55 -0800</date>
            <delta_ts>2014-02-04 19:28:50 -0800</delta_ts>
            <desc>fixed StackBound::recursionLimit() to handle underflows.</desc>
            <filename>bug-128226.patch</filename>
            <type>text/plain</type>
            <size>5903</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNDIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTAyLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBU
aGUgc3RhY2sgbGltaXQgY29tcHV0YXRpb24gZG9lcyBub3Qgd29yayBmb3IgV2luZG93cy4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODIyNj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwOgorICAgICAgICAoSlNDOjpDTG9vcFJlZ2lzdGVyOjpDTG9vcFJlZ2lzdGVyKToKKyAgICAg
ICAgKEpTQzo6Q0xvb3A6OmV4ZWN1dGUpOgorICAgICAgICAtIFN1cHByZXNzZWQgc29tZSBjb21w
aWxlciB3YXJuaW5ncyBmb3IgdGhlIEMgbG9vcCBidWlsZC4KKyAgICAgICAgKiBydW50aW1lL1ZN
LmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25l
U2l6ZSk6CisgICAgICAgIC0gVXNlIHRoZSBuZXcgU3RhY2tCb3VuZHM6OnJlY3Vyc2lvbkxpbWl0
KCkgdG8gY29tcHV0ZSB0aGUgc3RhY2sgbGltaXQKKyAgICAgICAgICB0aGUgcmlnaHQgd2F5Lgor
CiAyMDE0LTAyLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4ICFFTkFCTEUoSklUKSBidWlsZHMgYWZ0ZXIgcjE2MzQxOApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUzLDcgQEAgc3Rh
dGljIHZvaWQgRG91YmxlMkludHMoZG91YmxlIHZhbCwgdWludAogLy8gcHNldWRvIHJlZ2lzdGVy
LCBhcyB3ZWxsIGFzIGhpZGVzIGVuZGlhbm5lc3MgZGlmZmVyZW5jZXMuCiAKIHN0cnVjdCBDTG9v
cFJlZ2lzdGVyIHsKKyAgICBDTG9vcFJlZ2lzdGVyKCkgeyBpID0gc3RhdGljX2Nhc3Q8aW50cHRy
X3Q+KDB4YmFkYmVlZjBiYWRkYmVlZik7IH0KICAgICB1bmlvbiB7CiAgICAgICAgIGludHB0cl90
IGk7CiAgICAgICAgIHVpbnRwdHJfdCB1OwpAQCAtNDc5LDYgKzQ4MCw3IEBAIEpTVmFsdWUgQ0xv
b3A6OmV4ZWN1dGUoT3Bjb2RlSUQgZW50cnlPcGMKICAgICAjdW5kZWYgQ0FTVAogICAgICN1bmRl
ZiBTSUdOX0JJVDMyCiAKKyAgICByZXR1cm4gSlNWYWx1ZSgpOyAvLyB0byBzdXBwcmVzcyBhIGNv
bXBpbGVyIHdhcm5pbmcuCiB9IC8vIEludGVycHJldGVyOjpsbGludENMb29wRXhlY3V0ZSgpCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NDUsOCArNzQ1LDcgQEAgc2l6ZV90IFZNOjp1cGRhdGVT
dGFja0xpbWl0V2l0aFJlc2VydmVkWgogICAgIGlmIChzdGFja1BvaW50ZXJBdFZNRW50cnkpIHsK
ICAgICAgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJk
KCkpOwogICAgICAgICBjaGFyKiBzdGFydE9mU3RhY2sgPSByZWludGVycHJldF9jYXN0PGNoYXIq
PihzdGFja1BvaW50ZXJBdFZNRW50cnkpOwotICAgICAgICBjaGFyKiBkZXNpcmVkU3RhY2tMaW1p
dCA9IHN0YXJ0T2ZTdGFjayAtIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSArIHJl
c2VydmVkWm9uZVNpemU7Ci0gICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3Rh
Y2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplLCBkZXNpcmVkU3RhY2tMaW1pdCk7
CisgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChzdGFydE9mU3RhY2ssIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSwgcmVz
ZXJ2ZWRab25lU2l6ZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJl
YWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplKTsKIApJbmRl
eDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE2MzQyMSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTQtMDItMDQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFRoZSBzdGFjayBsaW1pdCBjb21wdXRhdGlvbiBkb2VzIG5vdCB3
b3JrIGZvciBXaW5kb3dzLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI4MjI2Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJy
ZW50IHN0YWNrIGxpbWl0IGNvbXB1dGF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgc3RhY2sgaXMgYWxs
b2NhdGVkCisgICAgICAgIGluIGhpZ2ggbWVtb3J5LiBPbiBXaW5kb3dzLCB0aGUgc3RhY2sgc2Vl
bXMgdG8gYmUgYWxsb2NhdGVkIHZlcnkgbmVhcgorICAgICAgICBhZGRyZXNzIDAsIGFuZCBpcyBz
bWFsbGVyIGluIHNpemUgdGhhbiBvdXIgT3B0aW9uczo6bWF4UGVyVGhyZWFkU3RhY2tVc2FnZSgp
LgorICAgICAgICBUaGlzIGNvbWJpbmF0aW9uIHRyaWdnZXJzIGEgYnVnIHdoZXJlIFN0YWNrQm91
bmRzOjpyZWN1cnNpb25MaW1pdCgpCisgICAgICAgIHVuZGVyZmxvd3MgYW5kIGNvbXB1dGVzIGEg
bGltaXQgYWRkcmVzcyB0aGF0IGlzIHJpZGljdWxvdXNseSBoaWdoIGluIG1lbW9yeS4KKyAgICAg
ICAgVGhlIG5ldCBlZmZlY3QgaXMgdGhhdCB0aGUgV2luZG93cyBwb3J0IHRoaW5rcyBpdHMgb3V0
IG9mIHN0YWNrIHNwYWNlIGFsbAorICAgICAgICB0aGUgdGltZS4KKworICAgICAgICBXZSBub3cg
Y2hlY2sgZm9yIHBvdGVudGlhbCB1bmRlcmZsb3dzIGluIFN0YWNrQm91bmRzIGFuZCByZXR1cm4g
YW4KKyAgICAgICAgYXBwcm9wcmlhdGUgbGltaXQgYWRkcmVzcy4KKworICAgICAgICAqIHd0Zi9T
dGFja0JvdW5kcy5oOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6cmVjdXJzaW9uTGltaXQp
OgorCiAyMDE0LTAyLTA0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcmUgU3RyaW5nSW1wbCBzdWJzdHJpbmcgYmFja3BvaW50ZXJzIGFzIHRhaWwg
ZGF0YQpJbmRleDogU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCShyZXZpc2lvbiAxNjM0MjApCisrKyBTb3VyY2Uv
V1RGL3d0Zi9TdGFja0JvdW5kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSwxNSArNjksMzAgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KG1fYm91bmQpIC0gbWlu
QXZhaWxhYmxlRGVsdGE7CiAgICAgfQogCi0gICAgdm9pZCogcmVjdXJzaW9uTGltaXQoc2l6ZV90
IGhvc3Rab25lU2l6ZSwgdm9pZCogZGVzaXJlZExpbWl0KSBjb25zdAorICAgIHZvaWQqIHJlY3Vy
c2lvbkxpbWl0KGNoYXIqIHN0YXJ0T2ZVc2VyU3RhY2ssIHNpemVfdCBtYXhVc2VyU3RhY2ssIHNp
emVfdCByZXNlcnZlZFpvbmVTaXplKSBjb25zdAogICAgIHsKICAgICAgICAgY2hlY2tDb25zaXN0
ZW5jeSgpOworICAgICAgICBpZiAobWF4VXNlclN0YWNrIDwgcmVzZXJ2ZWRab25lU2l6ZSkKKyAg
ICAgICAgICAgIHJlc2VydmVkWm9uZVNpemUgPSBtYXhVc2VyU3RhY2s7CisgICAgICAgIHNpemVf
dCBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gbWF4VXNlclN0YWNrIC0gcmVzZXJ2ZWRa
b25lU2l6ZTsKKwogICAgICAgICBpZiAoaXNHcm93aW5nRG93bndhcmQoKSkgewotICAgICAgICAg
ICAgY2hhciogZW5kT2ZTdGFja1dpdGhIb3N0Wm9uZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KG1fYm91bmQpICsgaG9zdFpvbmVTaXplOwotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGRl
c2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSkpOworICAgICAgICAgICAgY2hhciogZW5kT2ZTdGFja1dpdGhSZXNlcnZlZFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSArIHJlc2VydmVkWm9uZVNpemU7CisgICAgICAg
ICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA8IGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lKQor
ICAgICAgICAgICAgICAgIHJldHVybiBlbmRPZlN0YWNrV2l0aFJlc2VydmVkWm9uZTsKKyAgICAg
ICAgICAgIHNpemVfdCBhdmFpbGFibGVVc2VyU3RhY2sgPSBzdGFydE9mVXNlclN0YWNrIC0gZW5k
T2ZTdGFja1dpdGhSZXNlcnZlZFpvbmU7CisgICAgICAgICAgICBpZiAobWF4VXNlclN0YWNrV2l0
aFJlc2VydmVkWm9uZSA+IGF2YWlsYWJsZVVzZXJTdGFjaykKKyAgICAgICAgICAgICAgICBtYXhV
c2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gYXZhaWxhYmxlVXNlclN0YWNrOworICAgICAgICAg
ICAgcmV0dXJuIHN0YXJ0T2ZVc2VyU3RhY2sgLSBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25l
OwogICAgICAgICB9Ci0gICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoSG9zdFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSAtIGhvc3Rab25lU2l6ZTsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bWluKGRlc2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZT
dGFja1dpdGhIb3N0Wm9uZSkpOworCisgICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9ib3VuZCkgLSByZXNlcnZlZFpvbmVT
aXplOworICAgICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA+IGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lKQorICAgICAgICAgICAgcmV0dXJuIGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lOwor
ICAgICAgICBzaXplX3QgYXZhaWxhYmxlVXNlclN0YWNrID0gZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSAtIHN0YXJ0T2ZVc2VyU3RhY2s7CisgICAgICAgIGlmIChtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID4gYXZhaWxhYmxlVXNlclN0YWNrKQorICAgICAgICAgICAgbWF4VXNlclN0YWNrV2l0
aFJlc2VydmVkWm9uZSA9IGF2YWlsYWJsZVVzZXJTdGFjazsKKyAgICAgICAgcmV0dXJuIHN0YXJ0
T2ZVc2VyU3RhY2sgKyBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lOwogICAgIH0KIAogICAg
IGJvb2wgaXNHcm93aW5nRG93bndhcmQoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223198</attachid>
            <date>2014-02-04 19:28:50 -0800</date>
            <delta_ts>2014-02-04 19:30:04 -0800</delta_ts>
            <desc>I fixed the patch, but apparently uploaded the wrong one.  Round 2.</desc>
            <filename>bug-128226.patch</filename>
            <type>text/plain</type>
            <size>5903</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNDIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTAyLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBU
aGUgc3RhY2sgbGltaXQgY29tcHV0YXRpb24gZG9lcyBub3Qgd29yayBmb3IgV2luZG93cy4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODIyNj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwOgorICAgICAgICAoSlNDOjpDTG9vcFJlZ2lzdGVyOjpDTG9vcFJlZ2lzdGVyKToKKyAgICAg
ICAgKEpTQzo6Q0xvb3A6OmV4ZWN1dGUpOgorICAgICAgICAtIFN1cHByZXNzZWQgc29tZSBjb21w
aWxlciB3YXJuaW5ncyBmb3IgdGhlIEMgbG9vcCBidWlsZC4KKyAgICAgICAgKiBydW50aW1lL1ZN
LmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25l
U2l6ZSk6CisgICAgICAgIC0gVXNlIHRoZSBuZXcgU3RhY2tCb3VuZHM6OnJlY3Vyc2lvbkxpbWl0
KCkgdG8gY29tcHV0ZSB0aGUgc3RhY2sgbGltaXQKKyAgICAgICAgICB0aGUgcmlnaHQgd2F5Lgor
CiAyMDE0LTAyLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4ICFFTkFCTEUoSklUKSBidWlsZHMgYWZ0ZXIgcjE2MzQxOApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUzLDcgQEAgc3Rh
dGljIHZvaWQgRG91YmxlMkludHMoZG91YmxlIHZhbCwgdWludAogLy8gcHNldWRvIHJlZ2lzdGVy
LCBhcyB3ZWxsIGFzIGhpZGVzIGVuZGlhbm5lc3MgZGlmZmVyZW5jZXMuCiAKIHN0cnVjdCBDTG9v
cFJlZ2lzdGVyIHsKKyAgICBDTG9vcFJlZ2lzdGVyKCkgeyBpID0gc3RhdGljX2Nhc3Q8aW50cHRy
X3Q+KDB4YmFkYmVlZjBiYWRkYmVlZik7IH0KICAgICB1bmlvbiB7CiAgICAgICAgIGludHB0cl90
IGk7CiAgICAgICAgIHVpbnRwdHJfdCB1OwpAQCAtNDc5LDYgKzQ4MCw3IEBAIEpTVmFsdWUgQ0xv
b3A6OmV4ZWN1dGUoT3Bjb2RlSUQgZW50cnlPcGMKICAgICAjdW5kZWYgQ0FTVAogICAgICN1bmRl
ZiBTSUdOX0JJVDMyCiAKKyAgICByZXR1cm4gSlNWYWx1ZSgpOyAvLyB0byBzdXBwcmVzcyBhIGNv
bXBpbGVyIHdhcm5pbmcuCiB9IC8vIEludGVycHJldGVyOjpsbGludENMb29wRXhlY3V0ZSgpCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NDUsOCArNzQ1LDcgQEAgc2l6ZV90IFZNOjp1cGRhdGVT
dGFja0xpbWl0V2l0aFJlc2VydmVkWgogICAgIGlmIChzdGFja1BvaW50ZXJBdFZNRW50cnkpIHsK
ICAgICAgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJk
KCkpOwogICAgICAgICBjaGFyKiBzdGFydE9mU3RhY2sgPSByZWludGVycHJldF9jYXN0PGNoYXIq
PihzdGFja1BvaW50ZXJBdFZNRW50cnkpOwotICAgICAgICBjaGFyKiBkZXNpcmVkU3RhY2tMaW1p
dCA9IHN0YXJ0T2ZTdGFjayAtIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSArIHJl
c2VydmVkWm9uZVNpemU7Ci0gICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3Rh
Y2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplLCBkZXNpcmVkU3RhY2tMaW1pdCk7
CisgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChzdGFydE9mU3RhY2ssIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSwgcmVz
ZXJ2ZWRab25lU2l6ZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJl
YWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplKTsKIApJbmRl
eDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE2MzQyMSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTQtMDItMDQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFRoZSBzdGFjayBsaW1pdCBjb21wdXRhdGlvbiBkb2VzIG5vdCB3
b3JrIGZvciBXaW5kb3dzLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI4MjI2Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJy
ZW50IHN0YWNrIGxpbWl0IGNvbXB1dGF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgc3RhY2sgaXMgYWxs
b2NhdGVkCisgICAgICAgIGluIGhpZ2ggbWVtb3J5LiBPbiBXaW5kb3dzLCB0aGUgc3RhY2sgc2Vl
bXMgdG8gYmUgYWxsb2NhdGVkIHZlcnkgbmVhcgorICAgICAgICBhZGRyZXNzIDAsIGFuZCBpcyBz
bWFsbGVyIGluIHNpemUgdGhhbiBvdXIgT3B0aW9uczo6bWF4UGVyVGhyZWFkU3RhY2tVc2FnZSgp
LgorICAgICAgICBUaGlzIGNvbWJpbmF0aW9uIHRyaWdnZXJzIGEgYnVnIHdoZXJlIFN0YWNrQm91
bmRzOjpyZWN1cnNpb25MaW1pdCgpCisgICAgICAgIHVuZGVyZmxvd3MgYW5kIGNvbXB1dGVzIGEg
bGltaXQgYWRkcmVzcyB0aGF0IGlzIHJpZGljdWxvdXNseSBoaWdoIGluIG1lbW9yeS4KKyAgICAg
ICAgVGhlIG5ldCBlZmZlY3QgaXMgdGhhdCB0aGUgV2luZG93cyBwb3J0IHRoaW5rcyBpdHMgb3V0
IG9mIHN0YWNrIHNwYWNlIGFsbAorICAgICAgICB0aGUgdGltZS4KKworICAgICAgICBXZSBub3cg
Y2hlY2sgZm9yIHBvdGVudGlhbCB1bmRlcmZsb3dzIGluIFN0YWNrQm91bmRzIGFuZCByZXR1cm4g
YW4KKyAgICAgICAgYXBwcm9wcmlhdGUgbGltaXQgYWRkcmVzcy4KKworICAgICAgICAqIHd0Zi9T
dGFja0JvdW5kcy5oOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6cmVjdXJzaW9uTGltaXQp
OgorCiAyMDE0LTAyLTA0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcmUgU3RyaW5nSW1wbCBzdWJzdHJpbmcgYmFja3BvaW50ZXJzIGFzIHRhaWwg
ZGF0YQpJbmRleDogU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCShyZXZpc2lvbiAxNjM0MjApCisrKyBTb3VyY2Uv
V1RGL3d0Zi9TdGFja0JvdW5kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSwxNSArNjksMzAgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KG1fYm91bmQpIC0gbWlu
QXZhaWxhYmxlRGVsdGE7CiAgICAgfQogCi0gICAgdm9pZCogcmVjdXJzaW9uTGltaXQoc2l6ZV90
IGhvc3Rab25lU2l6ZSwgdm9pZCogZGVzaXJlZExpbWl0KSBjb25zdAorICAgIHZvaWQqIHJlY3Vy
c2lvbkxpbWl0KGNoYXIqIHN0YXJ0T2ZVc2VyU3RhY2ssIHNpemVfdCBtYXhVc2VyU3RhY2ssIHNp
emVfdCByZXNlcnZlZFpvbmVTaXplKSBjb25zdAogICAgIHsKICAgICAgICAgY2hlY2tDb25zaXN0
ZW5jeSgpOworICAgICAgICBpZiAobWF4VXNlclN0YWNrIDwgcmVzZXJ2ZWRab25lU2l6ZSkKKyAg
ICAgICAgICAgIHJlc2VydmVkWm9uZVNpemUgPSBtYXhVc2VyU3RhY2s7CisgICAgICAgIHNpemVf
dCBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gbWF4VXNlclN0YWNrIC0gcmVzZXJ2ZWRa
b25lU2l6ZTsKKwogICAgICAgICBpZiAoaXNHcm93aW5nRG93bndhcmQoKSkgewotICAgICAgICAg
ICAgY2hhciogZW5kT2ZTdGFja1dpdGhIb3N0Wm9uZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KG1fYm91bmQpICsgaG9zdFpvbmVTaXplOwotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGRl
c2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSkpOworICAgICAgICAgICAgY2hhciogZW5kT2ZTdGFja1dpdGhSZXNlcnZlZFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSArIHJlc2VydmVkWm9uZVNpemU7CisgICAgICAg
ICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA8IGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lKQor
ICAgICAgICAgICAgICAgIHJldHVybiBlbmRPZlN0YWNrV2l0aFJlc2VydmVkWm9uZTsKKyAgICAg
ICAgICAgIHNpemVfdCBhdmFpbGFibGVVc2VyU3RhY2sgPSBzdGFydE9mVXNlclN0YWNrIC0gZW5k
T2ZTdGFja1dpdGhSZXNlcnZlZFpvbmU7CisgICAgICAgICAgICBpZiAobWF4VXNlclN0YWNrV2l0
aFJlc2VydmVkWm9uZSA+IGF2YWlsYWJsZVVzZXJTdGFjaykKKyAgICAgICAgICAgICAgICBtYXhV
c2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gYXZhaWxhYmxlVXNlclN0YWNrOworICAgICAgICAg
ICAgcmV0dXJuIHN0YXJ0T2ZVc2VyU3RhY2sgLSBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25l
OwogICAgICAgICB9Ci0gICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoSG9zdFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSAtIGhvc3Rab25lU2l6ZTsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bWluKGRlc2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZT
dGFja1dpdGhIb3N0Wm9uZSkpOworCisgICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9ib3VuZCkgLSByZXNlcnZlZFpvbmVT
aXplOworICAgICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA+IGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lKQorICAgICAgICAgICAgcmV0dXJuIGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lOwor
ICAgICAgICBzaXplX3QgYXZhaWxhYmxlVXNlclN0YWNrID0gZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSAtIHN0YXJ0T2ZVc2VyU3RhY2s7CisgICAgICAgIGlmIChtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID4gYXZhaWxhYmxlVXNlclN0YWNrKQorICAgICAgICAgICAgbWF4VXNlclN0YWNrV2l0
aFJlc2VydmVkWm9uZSA9IGF2YWlsYWJsZVVzZXJTdGFjazsKKyAgICAgICAgcmV0dXJuIHN0YXJ0
T2ZVc2VyU3RhY2sgKyBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lOwogICAgIH0KIAogICAg
IGJvb2wgaXNHcm93aW5nRG93bndhcmQoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223200</attachid>
            <date>2014-02-04 19:33:21 -0800</date>
            <delta_ts>2014-02-04 21:27:31 -0800</delta_ts>
            <desc>Trying again.</desc>
            <filename>bug-128226.patch</filename>
            <type>text/plain</type>
            <size>5907</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNDIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTAyLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBU
aGUgc3RhY2sgbGltaXQgY29tcHV0YXRpb24gZG9lcyBub3Qgd29yayBmb3IgV2luZG93cy4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODIyNj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwOgorICAgICAgICAoSlNDOjpDTG9vcFJlZ2lzdGVyOjpDTG9vcFJlZ2lzdGVyKToKKyAgICAg
ICAgKEpTQzo6Q0xvb3A6OmV4ZWN1dGUpOgorICAgICAgICAtIFN1cHByZXNzZWQgc29tZSBjb21w
aWxlciB3YXJuaW5ncyBmb3IgdGhlIEMgbG9vcCBidWlsZC4KKyAgICAgICAgKiBydW50aW1lL1ZN
LmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25l
U2l6ZSk6CisgICAgICAgIC0gVXNlIHRoZSBuZXcgU3RhY2tCb3VuZHM6OnJlY3Vyc2lvbkxpbWl0
KCkgdG8gY29tcHV0ZSB0aGUgc3RhY2sgbGltaXQKKyAgICAgICAgICB0aGUgcmlnaHQgd2F5Lgor
CiAyMDE0LTAyLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4ICFFTkFCTEUoSklUKSBidWlsZHMgYWZ0ZXIgcjE2MzQxOApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUzLDcgQEAgc3Rh
dGljIHZvaWQgRG91YmxlMkludHMoZG91YmxlIHZhbCwgdWludAogLy8gcHNldWRvIHJlZ2lzdGVy
LCBhcyB3ZWxsIGFzIGhpZGVzIGVuZGlhbm5lc3MgZGlmZmVyZW5jZXMuCiAKIHN0cnVjdCBDTG9v
cFJlZ2lzdGVyIHsKKyAgICBDTG9vcFJlZ2lzdGVyKCkgeyBpID0gc3RhdGljX2Nhc3Q8aW50cHRy
X3Q+KDB4YmFkYmVlZjBiYWRkYmVlZik7IH0KICAgICB1bmlvbiB7CiAgICAgICAgIGludHB0cl90
IGk7CiAgICAgICAgIHVpbnRwdHJfdCB1OwpAQCAtNDc5LDYgKzQ4MCw3IEBAIEpTVmFsdWUgQ0xv
b3A6OmV4ZWN1dGUoT3Bjb2RlSUQgZW50cnlPcGMKICAgICAjdW5kZWYgQ0FTVAogICAgICN1bmRl
ZiBTSUdOX0JJVDMyCiAKKyAgICByZXR1cm4gSlNWYWx1ZSgpOyAvLyB0byBzdXBwcmVzcyBhIGNv
bXBpbGVyIHdhcm5pbmcuCiB9IC8vIEludGVycHJldGVyOjpsbGludENMb29wRXhlY3V0ZSgpCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAkocmV2aXNpb24gMTYzNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NDUsOCArNzQ1LDcgQEAgc2l6ZV90IFZNOjp1cGRhdGVT
dGFja0xpbWl0V2l0aFJlc2VydmVkWgogICAgIGlmIChzdGFja1BvaW50ZXJBdFZNRW50cnkpIHsK
ICAgICAgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJk
KCkpOwogICAgICAgICBjaGFyKiBzdGFydE9mU3RhY2sgPSByZWludGVycHJldF9jYXN0PGNoYXIq
PihzdGFja1BvaW50ZXJBdFZNRW50cnkpOwotICAgICAgICBjaGFyKiBkZXNpcmVkU3RhY2tMaW1p
dCA9IHN0YXJ0T2ZTdGFjayAtIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSArIHJl
c2VydmVkWm9uZVNpemU7Ci0gICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3Rh
Y2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplLCBkZXNpcmVkU3RhY2tMaW1pdCk7
CisgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChzdGFydE9mU3RhY2ssIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSwgcmVz
ZXJ2ZWRab25lU2l6ZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHN0YWNrTGltaXQgPSB3dGZUaHJl
YWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25MaW1pdChyZXNlcnZlZFpvbmVTaXplKTsKIApJbmRl
eDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE2MzQyMSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTQtMDItMDQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgorCisgICAgICAgIFRoZSBzdGFjayBsaW1pdCBjb21wdXRhdGlvbiBkb2VzIG5vdCB3
b3JrIGZvciBXaW5kb3dzLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI4MjI2Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJy
ZW50IHN0YWNrIGxpbWl0IGNvbXB1dGF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgc3RhY2sgaXMgYWxs
b2NhdGVkCisgICAgICAgIGluIGhpZ2ggbWVtb3J5LiBPbiBXaW5kb3dzLCB0aGUgc3RhY2sgc2Vl
bXMgdG8gYmUgYWxsb2NhdGVkIHZlcnkgbmVhcgorICAgICAgICBhZGRyZXNzIDAsIGFuZCBpcyBz
bWFsbGVyIGluIHNpemUgdGhhbiBvdXIgT3B0aW9uczo6bWF4UGVyVGhyZWFkU3RhY2tVc2FnZSgp
LgorICAgICAgICBUaGlzIGNvbWJpbmF0aW9uIHRyaWdnZXJzIGEgYnVnIHdoZXJlIFN0YWNrQm91
bmRzOjpyZWN1cnNpb25MaW1pdCgpCisgICAgICAgIHVuZGVyZmxvd3MgYW5kIGNvbXB1dGVzIGEg
bGltaXQgYWRkcmVzcyB0aGF0IGlzIHJpZGljdWxvdXNseSBoaWdoIGluIG1lbW9yeS4KKyAgICAg
ICAgVGhlIG5ldCBlZmZlY3QgaXMgdGhhdCB0aGUgV2luZG93cyBwb3J0IHRoaW5rcyBpdHMgb3V0
IG9mIHN0YWNrIHNwYWNlIGFsbAorICAgICAgICB0aGUgdGltZS4KKworICAgICAgICBXZSBub3cg
Y2hlY2sgZm9yIHBvdGVudGlhbCB1bmRlcmZsb3dzIGluIFN0YWNrQm91bmRzIGFuZCByZXR1cm4g
YW4KKyAgICAgICAgYXBwcm9wcmlhdGUgbGltaXQgYWRkcmVzcy4KKworICAgICAgICAqIHd0Zi9T
dGFja0JvdW5kcy5oOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6cmVjdXJzaW9uTGltaXQp
OgorCiAyMDE0LTAyLTA0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcmUgU3RyaW5nSW1wbCBzdWJzdHJpbmcgYmFja3BvaW50ZXJzIGFzIHRhaWwg
ZGF0YQpJbmRleDogU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCShyZXZpc2lvbiAxNjM0MjApCisrKyBTb3VyY2Uv
V1RGL3d0Zi9TdGFja0JvdW5kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSwxNSArNjksMzAgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KG1fYm91bmQpIC0gbWlu
QXZhaWxhYmxlRGVsdGE7CiAgICAgfQogCi0gICAgdm9pZCogcmVjdXJzaW9uTGltaXQoc2l6ZV90
IGhvc3Rab25lU2l6ZSwgdm9pZCogZGVzaXJlZExpbWl0KSBjb25zdAorICAgIHZvaWQqIHJlY3Vy
c2lvbkxpbWl0KGNoYXIqIHN0YXJ0T2ZVc2VyU3RhY2ssIHNpemVfdCBtYXhVc2VyU3RhY2ssIHNp
emVfdCByZXNlcnZlZFpvbmVTaXplKSBjb25zdAogICAgIHsKICAgICAgICAgY2hlY2tDb25zaXN0
ZW5jeSgpOworICAgICAgICBpZiAobWF4VXNlclN0YWNrIDwgcmVzZXJ2ZWRab25lU2l6ZSkKKyAg
ICAgICAgICAgIHJlc2VydmVkWm9uZVNpemUgPSBtYXhVc2VyU3RhY2s7CisgICAgICAgIHNpemVf
dCBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gbWF4VXNlclN0YWNrIC0gcmVzZXJ2ZWRa
b25lU2l6ZTsKKwogICAgICAgICBpZiAoaXNHcm93aW5nRG93bndhcmQoKSkgewotICAgICAgICAg
ICAgY2hhciogZW5kT2ZTdGFja1dpdGhIb3N0Wm9uZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KG1fYm91bmQpICsgaG9zdFpvbmVTaXplOwotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGRl
c2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSkpOworICAgICAgICAgICAgY2hhciogZW5kT2ZTdGFja1dpdGhSZXNlcnZlZFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSArIHJlc2VydmVkWm9uZVNpemU7CisgICAgICAg
ICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA8IGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lKQor
ICAgICAgICAgICAgICAgIHJldHVybiBlbmRPZlN0YWNrV2l0aFJlc2VydmVkWm9uZTsKKyAgICAg
ICAgICAgIHNpemVfdCBhdmFpbGFibGVVc2VyU3RhY2sgPSBzdGFydE9mVXNlclN0YWNrIC0gZW5k
T2ZTdGFja1dpdGhSZXNlcnZlZFpvbmU7CisgICAgICAgICAgICBpZiAobWF4VXNlclN0YWNrV2l0
aFJlc2VydmVkWm9uZSA+IGF2YWlsYWJsZVVzZXJTdGFjaykKKyAgICAgICAgICAgICAgICBtYXhV
c2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gYXZhaWxhYmxlVXNlclN0YWNrOworICAgICAgICAg
ICAgcmV0dXJuIHN0YXJ0T2ZVc2VyU3RhY2sgLSBtYXhVc2VyU3RhY2tXaXRoUmVzZXJ2ZWRab25l
OwogICAgICAgICB9Ci0gICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoSG9zdFpvbmUgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX2JvdW5kKSAtIGhvc3Rab25lU2l6ZTsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bWluKGRlc2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZT
dGFja1dpdGhIb3N0Wm9uZSkpOworCisgICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9ib3VuZCkgLSByZXNlcnZlZFpvbmVT
aXplOworICAgICAgICBpZiAoc3RhcnRPZlVzZXJTdGFjayA+IGVuZE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lKQorICAgICAgICAgICAgcmV0dXJuIGVuZE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lOwor
ICAgICAgICBzaXplX3QgYXZhaWxhYmxlVXNlclN0YWNrID0gZW5kT2ZTdGFja1dpdGhSZXNlcnZl
ZFpvbmUgLSBzdGFydE9mVXNlclN0YWNrOworICAgICAgICBpZiAobWF4VXNlclN0YWNrV2l0aFJl
c2VydmVkWm9uZSA+IGF2YWlsYWJsZVVzZXJTdGFjaykKKyAgICAgICAgICAgIG1heFVzZXJTdGFj
a1dpdGhSZXNlcnZlZFpvbmUgPSBhdmFpbGFibGVVc2VyU3RhY2s7CisgICAgICAgIHJldHVybiBz
dGFydE9mVXNlclN0YWNrICsgbWF4VXNlclN0YWNrV2l0aFJlc2VydmVkWm9uZTsKICAgICB9CiAK
ICAgICBib29sIGlzR3Jvd2luZ0Rvd253YXJkKCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>