<?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>161436</bug_id>
          
          <creation_ts>2016-08-31 08:44:16 -0700</creation_ts>
          <short_desc>stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails</short_desc>
          <delta_ts>2016-08-31 14:05:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1224950</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-08-31 08:44:16 -0700</bug_when>
    <thetext>I think this failure is rare.  It doesn&apos;t happen all the time because it probably depends on a particular return value from Math.random().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224951</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-08-31 08:44:34 -0700</bug_when>
    <thetext>This is all it says when it fails:

stress/random-53bit.js.ftl-no-cjit-no-inline-validate: Exception: Error: OUT
stress/random-53bit.js.ftl-no-cjit-no-inline-validate: global code@random-53bit.js:23:24
stress/random-53bit.js.ftl-no-cjit-no-inline-validate: ERROR: Unexpected exit code: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224960</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 09:19:21 -0700</bug_when>
    <thetext>Ooooops, thanks. Looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224995</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 10:47:16 -0700</bug_when>
    <thetext>I think there are two possible reasons.

1.
By design, this test rarely may fail.
We can reduce this rate by increasing MAX value.
It may solve the issue.

2.
It may be caused by the specific random seed patterns.


If (1) is the reason, everything is ok. We can just increase the MAX value.
But if (2) is the reason, there should be some issues.
To validate the reason, I&apos;m infinitely executing this test now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225001</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 11:09:20 -0700</bug_when>
    <thetext>Reproduced. Failed pattern is the following.

https://gist.github.com/Constellation/0f43a235e6e43bfc9ab7ddc4a537757a

And I&apos;ll dump the random seed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225014</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 11:47:16 -0700</bug_when>
    <thetext>OK, this is just because accidentally some random sequence is shown.
I&apos;ll tweak the test to reduce this rate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225025</commentid>
    <comment_count>6</comment_count>
      <attachid>287526</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 12:20:31 -0700</bug_when>
    <thetext>Created attachment 287526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225035</commentid>
    <comment_count>7</comment_count>
      <attachid>287526</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-08-31 12:37:57 -0700</bug_when>
    <thetext>Comment on attachment 287526
Patch

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

&gt; JSTests/stress/random-53bit.js:25
&gt; -for (var i = 0; i &lt; 1e4; ++i) {
&gt; +for (var i = 0; i &lt; 1e2; ++i) {

I don&apos;t think this is a good idea.  Eager tests mean that they compile with less profiling, which may lead the compiler to make different decisions.  I&apos;ve only seen this fail in a non-eager config, and I don&apos;t think you can be sure that an eager test would catch a non-eager failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225038</commentid>
    <comment_count>8</comment_count>
      <attachid>287526</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 12:43:26 -0700</bug_when>
    <thetext>Comment on attachment 287526
Patch

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

&gt;&gt; JSTests/stress/random-53bit.js:25
&gt;&gt; +for (var i = 0; i &lt; 1e2; ++i) {
&gt; 
&gt; I don&apos;t think this is a good idea.  Eager tests mean that they compile with less profiling, which may lead the compiler to make different decisions.  I&apos;ve only seen this fail in a non-eager config, and I don&apos;t think you can be sure that an eager test would catch a non-eager failure.

Make sense.
Just increasing the MAX value should solve the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225040</commentid>
    <comment_count>9</comment_count>
      <attachid>287529</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-31 12:45:52 -0700</bug_when>
    <thetext>Created attachment 287529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225082</commentid>
    <comment_count>10</comment_count>
      <attachid>287529</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-31 14:05:30 -0700</bug_when>
    <thetext>Comment on attachment 287529
Patch

Clearing flags on attachment: 287529

Committed r205267: &lt;http://trac.webkit.org/changeset/205267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225083</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-31 14:05:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287526</attachid>
            <date>2016-08-31 12:20:31 -0700</date>
            <delta_ts>2016-08-31 12:45:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161436-20160901041818.patch</filename>
            <type>text/plain</type>
            <size>5918</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NDE4MjZhMTlhN2ZiY2U4YmY0ZDZmNGZiY2M1NTU3NTQxMzljMDAzLi44MjI0YTI4Y2YxYjlmYmEw
MDMyNWYzNTM2Nzg1ZTc2OGMxZjUzZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0wOC0zMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBzdHJlc3MvcmFuZG9tLTUzYml0LmpzLmZ0bC1uby1jaml0LW5vLWlu
bGluZS12YWxpZGF0ZSBzb21ldGltZXMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25HZXRSYW5kb21TZWVkKToKKyAgICAg
ICAgKGZ1bmN0aW9uU2V0UmFuZG9tU2VlZCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6d2Vha1JhbmRvbSk6CisgICAg
ICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp3ZWFrUmFuZG9tSW50ZWdlcik6IERlbGV0ZWQuCisK
IDIwMTYtMDgtMzEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IFdLMiBHYW1lcGFkIHByb3ZpZGVyIG9uIGlPUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggM2Ey
NTA3ODJmYTUzYTYwNzE4MGU2ZDEwMDYwNDY1NzMwNjI3ODA2NS4uZTQ5NDk4ZTJiNDQ2ODA1YWUy
MGYyZDI4Yjg5Yjg5NzRhZDQwMjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTY0Nyw2ICs2
NDcsOCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNsZWFy
U2FtcGxpbmdGbGFncyhFeGVjU3RhdGUqKTsKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuY3Rpb25TaGFkb3dDaGlja2VuRnVuY3Rpb25zT25TdGFjayhFeGVjU3RhdGUq
KTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0R2xvYmFs
Q29uc3RSZWRlY2xhcmF0aW9uU2hvdWxkTm90VGhyb3coRXhlY1N0YXRlKik7CitzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkdldFJhbmRvbVNlZWQoRXhlY1N0YXRl
Kik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldFJhbmRv
bVNlZWQoRXhlY1N0YXRlKik7CiAKIHN0cnVjdCBTY3JpcHQgewogICAgIGVudW0gY2xhc3MgU3Ry
aWN0TW9kZSB7CkBAIC04NTcsNiArODU5LDkgQEAgY2xhc3MgR2xvYmFsT2JqZWN0IDogcHVibGlj
IEpTR2xvYmFsT2JqZWN0IHsKIAogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImRyYWluTWljcm90
YXNrcyIsIGZ1bmN0aW9uRHJhaW5NaWNyb3Rhc2tzLCAwKTsKIAorICAgICAgICBhZGRGdW5jdGlv
bih2bSwgImdldFJhbmRvbVNlZWQiLCBmdW5jdGlvbkdldFJhbmRvbVNlZWQsIDApOworICAgICAg
ICBhZGRGdW5jdGlvbih2bSwgInNldFJhbmRvbVNlZWQiLCBmdW5jdGlvblNldFJhbmRvbVNlZWQs
IDEpOworCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiaXMzMkJpdFBsYXRmb3JtIiwgZnVuY3Rp
b25JczMyQml0UGxhdGZvcm0sIDApOwogCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibG9hZE1v
ZHVsZSIsIGZ1bmN0aW9uTG9hZE1vZHVsZSwgMSk7CkBAIC0xNTk3LDYgKzE2MDIsMjAgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEdsb2JhbENvbnN0UmVkZWNsYXJh
dGlvblNob3VsZE5vdFRocm93KEUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR2V0UmFu
ZG9tU2VlZChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c051bWJlcihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPndlYWtSYW5kb20oKS5zZWVkKCkp
KTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldFJhbmRvbVNl
ZWQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIHVuc2lnbmVkIHNlZWQgPSBleGVjLT5hcmd1bWVu
dCgwKS50b1VJbnQzMihleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT53ZWFrUmFuZG9tKCkuc2V0U2VlZChzZWVkKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uUmVhZGxpbmUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZl
Y3RvcjxjaGFyLCAyNTY+IGxpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAppbmRleCBmNTY3MTE2MGYyY2Y4YzBjMzZjZDU3ODM2YmUyYzQ0YjBl
ZjM5ZDllLi5mMGMwNmYzYmI2M2JmNjY5ZjYxYWRkY2Q5MDczNTRmYzA2OTI2MzU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTc2Niw2
ICs3NjYsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0IHsKICAgICBzdGF0aWMgcHRyZGlmZl90IHdlYWtSYW5kb21PZmZzZXQoKSB7IHJl
dHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNHbG9iYWxPYmplY3QsIG1fd2Vha1JhbmRvbSk7IH0KICAg
ICBkb3VibGUgd2Vha1JhbmRvbU51bWJlcigpIHsgcmV0dXJuIG1fd2Vha1JhbmRvbS5nZXQoKTsg
fQogICAgIHVuc2lnbmVkIHdlYWtSYW5kb21JbnRlZ2VyKCkgeyByZXR1cm4gbV93ZWFrUmFuZG9t
LmdldFVpbnQzMigpOyB9CisgICAgV2Vha1JhbmRvbSYgd2Vha1JhbmRvbSgpIHsgcmV0dXJuIG1f
d2Vha1JhbmRvbTsgfQogCiAgICAgVW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrKiBjcmVhdGVQcm9n
cmFtQ29kZUJsb2NrKENhbGxGcmFtZSosIFByb2dyYW1FeGVjdXRhYmxlKiwgSlNPYmplY3QqKiBl
eGNlcHRpb24pOwogICAgIFVubGlua2VkRXZhbENvZGVCbG9jayogY3JlYXRlRXZhbENvZGVCbG9j
ayhDYWxsRnJhbWUqLCBFdmFsRXhlY3V0YWJsZSosIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQq
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzgxNjVlNzMxYzIxZWQ5NjUwZmMxODIxZDZkZjAzOTUxY2MxYTRkOC4uNDc2Yzk2YTBhMzky
MWIyMjU0YjdmYTVkYWMzN2VkY2NkZjIyOTNmOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNi0wOC0zMSAg
WXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBzdHJlc3Mv
cmFuZG9tLTUzYml0LmpzLmZ0bC1uby1jaml0LW5vLWlubGluZS12YWxpZGF0ZSBzb21ldGltZXMg
ZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSB0ZXN0IGNoZWNrcyBNYXRoLnJhbmRvbSgpIGNvcnJlY3RseSBwcm9kdWNlcyA1M2JpdCByYW5k
b20gdmFsdWVzLgorICAgICAgICBUaGUgdGVzdCBjYW4gZmFpbCBieSBkZXNpZ24sIGJ1dCB0aGlz
IHNob3VsZCBiZSBmYWlybHkgcmFyZS4KKworICAgICAgICBIb3dldmVyLCB3aGVuIGludHJvZHVj
aW5nLCB3ZSB3cmFwIHRoZSBgdGVzdCgpYCB3aXRoIDFlNCB0byBlbnN1cmUgdGhlIEZUTCBjb21w
aWxhdGlvbiwgYW5kIHRoaXMKKyAgICAgICAgaW5jcmVhc2VzIHRoZSBmYWlsdXJlIHJhdGUuCisK
KyAgICAgICAgU2luY2UgdGhlcmUgYXJlIGVhZ2VyIHRlc3RzLCB3ZSBjYW4gZGVjcmVhc2UgdGhl
IGxvb3AgdGltZXMuIEFuZCBieSBpbmNyZWFzaW5nIHRoZSBNQVggaW4gdGhlIHRlc3QsCisgICAg
ICAgIHdlIG1ha2UgdGhlIGZhaWx1cmVzIG11Y2ggbW9yZSByYXJlIGNhc2UuCisKKyAgICAgICAg
QW5kIHdlIGFsc28gYWRkIGdldFJhbmRvbVNlZWQoKSBhbmQgc2V0UmFuZG9tU2VlZChzZWVkKSBK
U0Mgc2hlbGwgaGVscGVycyB0byBkdW1wIG1vcmUgdXNlZnVsIGluZm9ybWF0aW9uCisgICAgICAg
IGFuZCByZXByb2R1Y2UgdGhlIHNpdHVhdGlvbiBlYXNpbHkuCisKKyAgICAgICAgKiBzdHJlc3Mv
cmFuZG9tLTUzYml0LmpzOgorICAgICAgICAodGVzdCk6CisKIDIwMTYtMDgtMjkgIEJlbmphbWlu
IFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW1wcm92ZSBB
cml0aEFicyB3aXRoIHBvbHltb3JwaGljIGlucHV0CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9yYW5kb20tNTNiaXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9yYW5kb20tNTNiaXQuanMKaW5kZXgg
NWYzZTQwZjM1ZmUzMDc0OTcyZTgyNTJjZDg2ZDI3ZDM2YmZlMzkwMS4uMGQ1MGQ5ZTM5MzFiMzc2
YzNjYWY3NzhmNzc4NjRhODQ3NjBhZWIwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvcmFu
ZG9tLTUzYml0LmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL3JhbmRvbS01M2JpdC5qcwpAQCAtMSwx
MCArMSwxMiBAQAogZnVuY3Rpb24gdGVzdCgpIHsKLSAgICB2YXIgTUFYID0gMzA7CisgICAgdmFy
IE1BWCA9IDUwOwogICAgIHZhciBmb3VuZDUzQml0ID0gZmFsc2U7CiAgICAgdmFyIGZvdW5kTGVz
c1RoYW41M0JpdCA9IGZhbHNlOworICAgIHZhciByZXN1bHRzID0gbmV3IEFycmF5KE1BWCk7CiAK
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IE1BWDsgKytpKSB7CiAgICAgICAgIHZhciBzdHIgPSBN
YXRoLnJhbmRvbSgpLnRvU3RyaW5nKDIpOworICAgICAgICByZXN1bHRzW2ldID0gc3RyOwogICAg
ICAgICAvLyA1MyBiaXQgKyAnMC4nLmxlbmd0aAogICAgICAgICBpZiAoc3RyLmxlbmd0aCA9PT0g
KDUzICsgMikpCiAgICAgICAgICAgICBmb3VuZDUzQml0ID0gdHJ1ZTsKQEAgLTE0LDExICsxNiwx
MyBAQCBlbHNlIGlmIChzdHIubGVuZ3RoIDwgKDUzICsgMikpCiAgICAgICAgIGlmIChmb3VuZDUz
Qml0ICYmIGZvdW5kTGVzc1RoYW41M0JpdCkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KKyAgICBwcmludChgUmFuZG9tIHNlZWQgJHtnZXRSYW5kb21TZWVkKCl9YCk7CisgICAgcHJp
bnQocmVzdWx0cy5qb2luKCdcbicpKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiBub0lubGluZSh0
ZXN0KTsKIAotZm9yICh2YXIgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworZm9yICh2YXIgaSA9IDA7
IGkgPCAxZTI7ICsraSkgewogICAgIGlmICghdGVzdCgpKQotICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIk9VVCIpOworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09VVCcpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287529</attachid>
            <date>2016-08-31 12:45:52 -0700</date>
            <delta_ts>2016-08-31 14:05:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161436-20160901044339.patch</filename>
            <type>text/plain</type>
            <size>5676</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NDE4MjZhMTlhN2ZiY2U4YmY0ZDZmNGZiY2M1NTU3NTQxMzljMDAzLi44MjI0YTI4Y2YxYjlmYmEw
MDMyNWYzNTM2Nzg1ZTc2OGMxZjUzZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0wOC0zMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBzdHJlc3MvcmFuZG9tLTUzYml0LmpzLmZ0bC1uby1jaml0LW5vLWlu
bGluZS12YWxpZGF0ZSBzb21ldGltZXMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25HZXRSYW5kb21TZWVkKToKKyAgICAg
ICAgKGZ1bmN0aW9uU2V0UmFuZG9tU2VlZCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6d2Vha1JhbmRvbSk6CisgICAg
ICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp3ZWFrUmFuZG9tSW50ZWdlcik6IERlbGV0ZWQuCisK
IDIwMTYtMDgtMzEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IFdLMiBHYW1lcGFkIHByb3ZpZGVyIG9uIGlPUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggM2Ey
NTA3ODJmYTUzYTYwNzE4MGU2ZDEwMDYwNDY1NzMwNjI3ODA2NS4uZTQ5NDk4ZTJiNDQ2ODA1YWUy
MGYyZDI4Yjg5Yjg5NzRhZDQwMjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTY0Nyw2ICs2
NDcsOCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNsZWFy
U2FtcGxpbmdGbGFncyhFeGVjU3RhdGUqKTsKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuY3Rpb25TaGFkb3dDaGlja2VuRnVuY3Rpb25zT25TdGFjayhFeGVjU3RhdGUq
KTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0R2xvYmFs
Q29uc3RSZWRlY2xhcmF0aW9uU2hvdWxkTm90VGhyb3coRXhlY1N0YXRlKik7CitzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkdldFJhbmRvbVNlZWQoRXhlY1N0YXRl
Kik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldFJhbmRv
bVNlZWQoRXhlY1N0YXRlKik7CiAKIHN0cnVjdCBTY3JpcHQgewogICAgIGVudW0gY2xhc3MgU3Ry
aWN0TW9kZSB7CkBAIC04NTcsNiArODU5LDkgQEAgY2xhc3MgR2xvYmFsT2JqZWN0IDogcHVibGlj
IEpTR2xvYmFsT2JqZWN0IHsKIAogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImRyYWluTWljcm90
YXNrcyIsIGZ1bmN0aW9uRHJhaW5NaWNyb3Rhc2tzLCAwKTsKIAorICAgICAgICBhZGRGdW5jdGlv
bih2bSwgImdldFJhbmRvbVNlZWQiLCBmdW5jdGlvbkdldFJhbmRvbVNlZWQsIDApOworICAgICAg
ICBhZGRGdW5jdGlvbih2bSwgInNldFJhbmRvbVNlZWQiLCBmdW5jdGlvblNldFJhbmRvbVNlZWQs
IDEpOworCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiaXMzMkJpdFBsYXRmb3JtIiwgZnVuY3Rp
b25JczMyQml0UGxhdGZvcm0sIDApOwogCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibG9hZE1v
ZHVsZSIsIGZ1bmN0aW9uTG9hZE1vZHVsZSwgMSk7CkBAIC0xNTk3LDYgKzE2MDIsMjAgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEdsb2JhbENvbnN0UmVkZWNsYXJh
dGlvblNob3VsZE5vdFRocm93KEUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR2V0UmFu
ZG9tU2VlZChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c051bWJlcihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPndlYWtSYW5kb20oKS5zZWVkKCkp
KTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldFJhbmRvbVNl
ZWQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIHVuc2lnbmVkIHNlZWQgPSBleGVjLT5hcmd1bWVu
dCgwKS50b1VJbnQzMihleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT53ZWFrUmFuZG9tKCkuc2V0U2VlZChzZWVkKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uUmVhZGxpbmUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZl
Y3RvcjxjaGFyLCAyNTY+IGxpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAppbmRleCBmNTY3MTE2MGYyY2Y4YzBjMzZjZDU3ODM2YmUyYzQ0YjBl
ZjM5ZDllLi5mMGMwNmYzYmI2M2JmNjY5ZjYxYWRkY2Q5MDczNTRmYzA2OTI2MzU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTc2Niw2
ICs3NjYsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0IHsKICAgICBzdGF0aWMgcHRyZGlmZl90IHdlYWtSYW5kb21PZmZzZXQoKSB7IHJl
dHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNHbG9iYWxPYmplY3QsIG1fd2Vha1JhbmRvbSk7IH0KICAg
ICBkb3VibGUgd2Vha1JhbmRvbU51bWJlcigpIHsgcmV0dXJuIG1fd2Vha1JhbmRvbS5nZXQoKTsg
fQogICAgIHVuc2lnbmVkIHdlYWtSYW5kb21JbnRlZ2VyKCkgeyByZXR1cm4gbV93ZWFrUmFuZG9t
LmdldFVpbnQzMigpOyB9CisgICAgV2Vha1JhbmRvbSYgd2Vha1JhbmRvbSgpIHsgcmV0dXJuIG1f
d2Vha1JhbmRvbTsgfQogCiAgICAgVW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrKiBjcmVhdGVQcm9n
cmFtQ29kZUJsb2NrKENhbGxGcmFtZSosIFByb2dyYW1FeGVjdXRhYmxlKiwgSlNPYmplY3QqKiBl
eGNlcHRpb24pOwogICAgIFVubGlua2VkRXZhbENvZGVCbG9jayogY3JlYXRlRXZhbENvZGVCbG9j
ayhDYWxsRnJhbWUqLCBFdmFsRXhlY3V0YWJsZSosIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQq
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzgxNjVlNzMxYzIxZWQ5NjUwZmMxODIxZDZkZjAzOTUxY2MxYTRkOC4uZmI5YjJlNzYxZjhi
M2EzYmE1YTExMWQzZWQwYTI0ZjYxMGU0YjI5MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNi0wOC0zMSAg
WXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBzdHJlc3Mv
cmFuZG9tLTUzYml0LmpzLmZ0bC1uby1jaml0LW5vLWlubGluZS12YWxpZGF0ZSBzb21ldGltZXMg
ZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSB0ZXN0IGNoZWNrcyBNYXRoLnJhbmRvbSgpIGNvcnJlY3RseSBwcm9kdWNlcyA1M2JpdCByYW5k
b20gdmFsdWVzLgorICAgICAgICBUaGUgdGVzdCBjYW4gZmFpbCBieSBkZXNpZ24sIGJ1dCB0aGlz
IHNob3VsZCBiZSBmYWlybHkgcmFyZS4KKworICAgICAgICBIb3dldmVyLCB3aGVuIGludHJvZHVj
aW5nLCB3ZSB3cmFwIHRoZSBgdGVzdCgpYCB3aXRoIDFlNCB0byBlbnN1cmUgdGhlIEZUTCBjb21w
aWxhdGlvbiwgYW5kIHRoaXMKKyAgICAgICAgaW5jcmVhc2VzIHRoZSBmYWlsdXJlIHJhdGUuIEJ5
IGluY3JlYXNpbmcgdGhlIE1BWCBpbiB0aGUgdGVzdCwgd2UgbWFrZSB0aGUgZmFpbHVyZXMgbXVj
aCBtb3JlIHJhcmUgY2FzZS4KKworICAgICAgICBBbmQgd2UgYWxzbyBhZGQgZ2V0UmFuZG9tU2Vl
ZCgpIGFuZCBzZXRSYW5kb21TZWVkKHNlZWQpIEpTQyBzaGVsbCBoZWxwZXJzIHRvIGR1bXAgbW9y
ZSB1c2VmdWwgaW5mb3JtYXRpb24KKyAgICAgICAgYW5kIHJlcHJvZHVjZSB0aGUgc2l0dWF0aW9u
IGVhc2lseS4KKworICAgICAgICAqIHN0cmVzcy9yYW5kb20tNTNiaXQuanM6CisgICAgICAgICh0
ZXN0KToKKwogMjAxNi0wOC0yOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbSlNDXSBJbXByb3ZlIEFyaXRoQWJzIHdpdGggcG9seW1vcnBoaWMgaW5w
dXQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3JhbmRvbS01M2JpdC5qcyBiL0pTVGVzdHMv
c3RyZXNzL3JhbmRvbS01M2JpdC5qcwppbmRleCA1ZjNlNDBmMzVmZTMwNzQ5NzJlODI1MmNkODZk
MjdkMzZiZmUzOTAxLi5lODY3NzdlZjJlYmU0NDk1OTQwMmQ0YjU3NTVmMzI3MzljMzkxYWVlIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9yYW5kb20tNTNiaXQuanMKKysrIGIvSlNUZXN0cy9z
dHJlc3MvcmFuZG9tLTUzYml0LmpzCkBAIC0xLDEwICsxLDEyIEBACiBmdW5jdGlvbiB0ZXN0KCkg
ewotICAgIHZhciBNQVggPSAzMDsKKyAgICB2YXIgTUFYID0gNTA7CiAgICAgdmFyIGZvdW5kNTNC
aXQgPSBmYWxzZTsKICAgICB2YXIgZm91bmRMZXNzVGhhbjUzQml0ID0gZmFsc2U7CisgICAgdmFy
IHJlc3VsdHMgPSBuZXcgQXJyYXkoTUFYKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTUFY
OyArK2kpIHsKICAgICAgICAgdmFyIHN0ciA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMik7Cisg
ICAgICAgIHJlc3VsdHNbaV0gPSBzdHI7CiAgICAgICAgIC8vIDUzIGJpdCArICcwLicubGVuZ3Ro
CiAgICAgICAgIGlmIChzdHIubGVuZ3RoID09PSAoNTMgKyAyKSkKICAgICAgICAgICAgIGZvdW5k
NTNCaXQgPSB0cnVlOwpAQCAtMTQsNiArMTYsOCBAQCBlbHNlIGlmIChzdHIubGVuZ3RoIDwgKDUz
ICsgMikpCiAgICAgICAgIGlmIChmb3VuZDUzQml0ICYmIGZvdW5kTGVzc1RoYW41M0JpdCkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBwcmludChgUmFuZG9tIHNlZWQgJHtn
ZXRSYW5kb21TZWVkKCl9YCk7CisgICAgcHJpbnQocmVzdWx0cy5qb2luKCdcbicpKTsKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiBub0lubGluZSh0ZXN0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>