<?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>157138</bug_id>
          
          <creation_ts>2016-04-28 07:49:24 -0700</creation_ts>
          <short_desc>Assertion failure for direct eval in non-class method</short_desc>
          <delta_ts>2016-05-13 07:27:42 -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 Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="André Bargull">andre.bargull</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</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>1188242</commentid>
    <comment_count>0</comment_count>
    <who name="André Bargull">andre.bargull</who>
    <bug_when>2016-04-28 07:49:24 -0700</bug_when>
    <thetext>SVN: rev200124
Build with: perl Tools/Scripts/build-jsc --gtk --debug


The following test case triggers this assertion error:
---
ASSERTION FAILED: derivedContextType is always None because class methods and class constructors are always evaluated as the strict code.
derivedContextType == DerivedContextType::None
---


Test case:
---
({ m() { (eval(&quot;&quot;)) } }).m();
---


Stack trace:
---
#0  0x00007ffff6e289ac in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:322
#1  0x00007ffff699b477 in JSC::EvalCodeCache::getSlow (this=0x7ffff0dba140, exec=0x7fffffffca70, owner=0x7fffaed9ba60, inStrictContext=false, thisTDZMode=&lt;incomplete type&gt;, 
    derivedContextType=JSC::DerivedContextType::DerivedMethodContext, isArrowFunctionContext=false, evalContextType=JSC::EvalContextType::FunctionEvalContext, evalSource=..., scope=0x7fffaeddbf00)
    at ../../Source/JavaScriptCore/bytecode/EvalCodeCache.h:112
#2  0x00007ffff6995385 in JSC::eval (callFrame=0x7fffffffca70) at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:200
#3  0x00007ffff6a29fd7 in JSC::(anonymous namespace)::llint_slow_path_call_eval (exec=0x7fffffffcb00, pc=0x7ffff0df0e98) at ../../Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1354
#4  0x00007ffff6a33ea2 in llint_entry () at ../../Source/WTF/wtf/RefPtr.h:75
#5  0x00007ffff6a33818 in llint_entry () at ../../Source/WTF/wtf/RefPtr.h:75
#6  0x00007ffff6a2d895 in vmEntryToJavaScript () at ../../Source/WTF/wtf/RefPtr.h:75
#7  0x00007ffff69d46d2 in JSC::JITCode::execute (this=0x7ffff0d9c618, vm=0x7fffb09f1000, protoCallFrame=0x7fffffffcd30) at ../../Source/JavaScriptCore/jit/JITCode.cpp:80
#8  0x00007ffff6997f4f in JSC::Interpreter::execute (this=0x7ffff0def058, program=0x7fffaedfbf70, callFrame=0x7fffaede7940, thisObj=0x7fffaedba360)
    at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:960
#9  0x00007ffff6b849ad in JSC::evaluate (exec=0x7fffaede7940, source=..., thisValue=..., returnedException=...) at ../../Source/JavaScriptCore/runtime/Completion.cpp:106
#10 0x000000000043a120 in runInteractive (globalObject=0x7fffaede7900) at ../../Source/JavaScriptCore/jsc.cpp:2083
#11 0x000000000043abcb in runJSC (vm=0x7fffb09f1000, options=...) at ../../Source/JavaScriptCore/jsc.cpp:2244
#12 0x000000000043b0a1 in jscmain (argc=1, argv=0x7fffffffdbb8) at ../../Source/JavaScriptCore/jsc.cpp:2293
#13 0x000000000043967f in main (argc=1, argv=0x7fffffffdbb8) at ../../Source/JavaScriptCore/jsc.cpp:1947
---</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189108</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-04-30 12:55:40 -0700</bug_when>
    <thetext>isClassContext becomes true in generateUnlinkedFunctionExecutable incorrectly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189252</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-01 16:04:00 -0700</bug_when>
    <thetext>Is this because of caching?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190710</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-06 12:04:04 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this because of caching?

After investigating, I think I asserts wrongly.
The method definitions in the object literal can use the super.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192387</commentid>
    <comment_count>4</comment_count>
      <attachid>278740</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-12 11:37:47 -0700</bug_when>
    <thetext>Created attachment 278740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192388</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-12 11:39:51 -0700</bug_when>
    <thetext>Performance evaluation results. &quot;eval&quot; is important for date-format-tofte.

Benchmark report for SunSpider on hanayamata.

VMs tested:
&quot;baseline&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/eval-master/Release/bin/jsc
&quot;patched&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/eval/Release/bin/jsc

Collected 40 samples per benchmark/VM, with 40 VM invocations per benchmark. Emitted a call to gc()
between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the
jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times
with 95% confidence intervals in milliseconds.

                                   baseline                  patched                                      

3d-cube                         5.7819+-0.0120     ?      5.7905+-0.0114        ?
3d-morph                       25.7286+-0.0827           25.7249+-0.0529        
3d-raytrace                     6.6194+-0.2154     ?      6.6919+-0.2636        ? might be 1.0110x slower
access-binary-trees             2.2649+-0.0647     ?      2.3094+-0.0770        ? might be 1.0196x slower
access-fannkuch                 6.9386+-0.2573            6.8916+-0.2746        
access-nbody                    2.7712+-0.0425            2.7645+-0.0102        
access-nsieve                   3.0841+-0.0153     ?      3.0880+-0.0250        ?
bitops-3bit-bits-in-byte        1.1529+-0.0307     ?      1.1606+-0.0319        ?
bitops-bits-in-byte             2.9837+-0.0729            2.9500+-0.0606          might be 1.0114x faster
bitops-bitwise-and              1.9498+-0.0044     ?      1.9554+-0.0088        ?
bitops-nsieve-bits              3.1277+-0.1237            3.1037+-0.1040        
controlflow-recursive           2.6841+-0.0881            2.6583+-0.1017        
crypto-aes                      4.8931+-0.1151            4.8647+-0.0179        
crypto-md5                      2.5592+-0.0280            2.5401+-0.0356        
crypto-sha1                     2.4266+-0.0358            2.4176+-0.0313        
date-format-tofte               9.6971+-0.1016     ?      9.7514+-0.1176        ?
date-format-xparb               5.7347+-0.0229            5.7123+-0.0200        
math-cordic                     3.0679+-0.1248            3.0662+-0.1938        
math-partial-sums              10.3352+-0.0166           10.3208+-0.0126        
math-spectral-norm              2.2134+-0.1135            2.1648+-0.0405          might be 1.0225x faster
regexp-dna                      7.1371+-0.0194            7.1265+-0.0211        
string-base64                   3.9876+-0.0399     ?      4.0364+-0.0262        ? might be 1.0122x slower
string-fasta                    6.2163+-0.1391     ?      6.3027+-0.1861        ? might be 1.0139x slower
string-tagcloud                 9.3792+-0.1377            9.3678+-0.1345        
string-unpack-code             19.3083+-0.2220           19.0486+-0.2156          might be 1.0136x faster
string-validate-input           4.2233+-0.1062            4.1945+-0.0705        

&lt;arithmetic&gt;                    6.0102+-0.0241            6.0001+-0.0200          might be 1.0017x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192690</commentid>
    <comment_count>6</comment_count>
      <attachid>278740</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-13 00:40:09 -0700</bug_when>
    <thetext>Comment on attachment 278740
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192735</commentid>
    <comment_count>7</comment_count>
      <attachid>278740</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-13 07:06:40 -0700</bug_when>
    <thetext>Comment on attachment 278740
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192740</commentid>
    <comment_count>8</comment_count>
      <attachid>278740</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 07:27:38 -0700</bug_when>
    <thetext>Comment on attachment 278740
Patch

Clearing flags on attachment: 278740

Committed r200856: &lt;http://trac.webkit.org/changeset/200856&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192741</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 07:27:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278740</attachid>
            <date>2016-05-12 11:37:47 -0700</date>
            <delta_ts>2016-05-13 07:27:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157138-20160513033837.patch</filename>
            <type>text/plain</type>
            <size>8764</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MDgzNzUwNjY0Yzg1MDU0ZDIxMDcyODE0NGI3OGY5ZjRlNTE3MzNkLi5iY2UzMTg5Yjc3OTYzZmZl
ZjMyYTMxMDNhMjU2ZDk1ZWQxZGU3YmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSBmb3IgZGlyZWN0IGV2YWwgaW4gbm9u
LWNsYXNzIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU3MTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBhc3NlcnRpb24gd2FzIGluY29ycmVjdC4gSW4gbWV0aG9kIGRlZmluaXRpb25z
IGluIG9iamVjdCBsaXRlcmFscywKKyAgICAgICAgaXQgY2FuIGJlIHNsb3BweSBtb2RlLCBidXQg
aXRzIERlcml2ZWRDb250ZXh0VHlwZSBtYXkgbm90IGJlIERlcml2ZWRDb250ZXh0VHlwZTo6Tm9u
ZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaDoKKyAgICAgICAgKEpTQzo6
RXZhbENvZGVDYWNoZTo6Q2FjaGVLZXk6OkNhY2hlS2V5KToKKyAgICAgICAgKEpTQzo6RXZhbENv
ZGVDYWNoZTo6Q2FjaGVLZXk6Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlNDOjpFdmFsQ29kZUNh
Y2hlOjpDYWNoZUtleTo6SGFzaDo6ZXF1YWwpOgorICAgICAgICAoSlNDOjpFdmFsQ29kZUNhY2hl
Ojp0cnlHZXQpOgorICAgICAgICAoSlNDOjpFdmFsQ29kZUNhY2hlOjpnZXRTbG93KToKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OmV2YWwpOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9kaXJlY3QtZXZhbC1pbi1vYmplY3QtbGl0ZXJhbC1tZXRo
b2RzLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHRocm93Lm5ldy5F
cnJvcik6CisgICAgICAgIChzaG91bGRCZS5QYXJlbnQucHJvdG90eXBlLmwpOgorICAgICAgICAo
c2hvdWxkQmUuUGFyZW50KToKKyAgICAgICAgKHNob3VsZEJlLkRlcml2ZWQucHJvdG90eXBlLm0p
OgorICAgICAgICAoc2hvdWxkQmUuRGVyaXZlZCk6CisKIDIwMTYtMDUtMTIgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkgZ3VhcmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaAppbmRleCA4Zjk3MDEwZGMwYjU2NDlkMjhiMmFlZDhmODQz
M2Y1ZmViMDRlYWQzLi5jNDYxMjU3MzY0NjNmZGM0MGEzNTM4NDczNzIxYmY0ZjE5NDE3YjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FdmFsQ29kZUNhY2hlLmgKQEAg
LTQ2LDkgKzQ2LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHB1YmxpYzoKICAgICAgICAgY2xh
c3MgQ2FjaGVLZXkgewogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBDYWNoZUtleShjb25z
dCBTdHJpbmcmIHNvdXJjZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQorICAgICAgICAg
ICAgQ2FjaGVLZXkoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29u
dGV4dCwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSkKICAgICAgICAgICAg
ICAgICA6IG1fc291cmNlKHNvdXJjZS5pbXBsKCkpCiAgICAgICAgICAgICAgICAgLCBtX2lzQXJy
b3dGdW5jdGlvbkNvbnRleHQoaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKKyAgICAgICAgICAgICAg
ICAsIG1fZGVyaXZlZENvbnRleHRUeXBlKGRlcml2ZWRDb250ZXh0VHlwZSkKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgIH0KIApAQCAtNjUsNyArNjYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhY2hlS2V5JiBvdGhlcikgY29uc3QK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gbV9zb3VyY2UgPT0gb3RoZXIu
bV9zb3VyY2UgJiYgbV9pc0Fycm93RnVuY3Rpb25Db250ZXh0ID09IG90aGVyLm1faXNBcnJvd0Z1
bmN0aW9uQ29udGV4dDsKKyAgICAgICAgICAgICAgICByZXR1cm4gbV9zb3VyY2UgPT0gb3RoZXIu
bV9zb3VyY2UgJiYgbV9pc0Fycm93RnVuY3Rpb25Db250ZXh0ID09IG90aGVyLm1faXNBcnJvd0Z1
bmN0aW9uQ29udGV4dCAmJiBtX2Rlcml2ZWRDb250ZXh0VHlwZSA9PSBvdGhlci5tX2Rlcml2ZWRD
b250ZXh0VHlwZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgYm9vbCBpc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLmlzSGFzaFRhYmxlRGVsZXRl
ZFZhbHVlKCk7IH0KQEAgLTc3LDcgKzc4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IENhY2hlS2V5
JiBsaHMsIGNvbnN0IENhY2hlS2V5JiByaHMpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gU3RyaW5nSGFzaDo6ZXF1YWwobGhzLm1fc291cmNlLCByaHMubV9z
b3VyY2UpICYmIGxocy5tX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQgPT0gcmhzLm1faXNBcnJvd0Z1
bmN0aW9uQ29udGV4dDsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2g6OmVx
dWFsKGxocy5tX3NvdXJjZSwgcmhzLm1fc291cmNlKSAmJiBsaHMubV9pc0Fycm93RnVuY3Rpb25D
b250ZXh0ID09IHJocy5tX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQgJiYgbGhzLm1fZGVyaXZlZENv
bnRleHRUeXBlID09IHJocy5tX2Rlcml2ZWRDb250ZXh0VHlwZTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlP
ckRlbGV0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgIH07CkBAIC04NywxMyArODgsMTQgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHByaXZhdGU6CiAgICAgICAgICAgICBSZWZQdHI8U3RyaW5n
SW1wbD4gbV9zb3VyY2U7CiAgICAgICAgICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQ29udGV4
dCB7IGZhbHNlIH07CisgICAgICAgICAgICBEZXJpdmVkQ29udGV4dFR5cGUgbV9kZXJpdmVkQ29u
dGV4dFR5cGUgeyBEZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUgfTsKICAgICAgICAgfTsKIAotICAg
ICAgICBFdmFsRXhlY3V0YWJsZSogdHJ5R2V0KGJvb2wgaW5TdHJpY3RDb250ZXh0LCBjb25zdCBT
dHJpbmcmIGV2YWxTb3VyY2UsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCwgSlNTY29wZSog
c2NvcGUpCisgICAgICAgIEV2YWxFeGVjdXRhYmxlKiB0cnlHZXQoYm9vbCBpblN0cmljdENvbnRl
eHQsIGNvbnN0IFN0cmluZyYgZXZhbFNvdXJjZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0
LCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBKU1Njb3BlKiBzY29wZSkK
ICAgICAgICAgewogICAgICAgICAgICAgaWYgKGlzQ2FjaGVhYmxlKGluU3RyaWN0Q29udGV4dCwg
ZXZhbFNvdXJjZSwgc2NvcGUpKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFpblN0cmljdENv
bnRleHQpOwotICAgICAgICAgICAgICAgIHJldHVybiBtX2NhY2hlTWFwLmZhc3RHZXQoQ2FjaGVL
ZXkoZXZhbFNvdXJjZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkpLmdldCgpOworICAgICAgICAg
ICAgICAgIHJldHVybiBtX2NhY2hlTWFwLmZhc3RHZXQoQ2FjaGVLZXkoZXZhbFNvdXJjZSwgaXNB
cnJvd0Z1bmN0aW9uQ29udGV4dCwgZGVyaXZlZENvbnRleHRUeXBlKSkuZ2V0KCk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpAQCAtMTA5LDgg
KzExMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgaWYgKGlzQ2FjaGVhYmxlKGlu
U3RyaWN0Q29udGV4dCwgZXZhbFNvdXJjZSwgc2NvcGUpICYmIG1fY2FjaGVNYXAuc2l6ZSgpIDwg
bWF4Q2FjaGVFbnRyaWVzKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFpblN0cmljdENvbnRl
eHQpOwogICAgICAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UodGhpc1REWk1vZGUgPT0g
VGhpc1REWk1vZGU6OkNoZWNrSWZOZWVkZWQsICJBbHdheXMgQ2hlY2tJZk5lZWRlZCBiZWNhdXNl
IHRoZSBjYWNoaW5nIGlzIGVuYWJsZWQgb25seSBpbiB0aGUgc2xvcHB5IG1vZGUuIik7Ci0gICAg
ICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShkZXJpdmVkQ29udGV4dFR5cGUgPT0gRGVy
aXZlZENvbnRleHRUeXBlOjpOb25lLCAiZGVyaXZlZENvbnRleHRUeXBlIGlzIGFsd2F5cyBOb25l
IGJlY2F1c2UgY2xhc3MgbWV0aG9kcyBhbmQgY2xhc3MgY29uc3RydWN0b3JzIGFyZSBhbHdheXMg
ZXZhbHVhdGVkIGFzIHRoZSBzdHJpY3QgY29kZS4iKTsKLSAgICAgICAgICAgICAgICBtX2NhY2hl
TWFwLnNldChDYWNoZUtleShldmFsU291cmNlLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KSwgV3Jp
dGVCYXJyaWVyPEV2YWxFeGVjdXRhYmxlPihleGVjLT52bSgpLCBvd25lciwgZXZhbEV4ZWN1dGFi
bGUpKTsKKyAgICAgICAgICAgICAgICBtX2NhY2hlTWFwLnNldChDYWNoZUtleShldmFsU291cmNl
LCBpc0Fycm93RnVuY3Rpb25Db250ZXh0LCBkZXJpdmVkQ29udGV4dFR5cGUpLCBXcml0ZUJhcnJp
ZXI8RXZhbEV4ZWN1dGFibGU+KGV4ZWMtPnZtKCksIG93bmVyLCBldmFsRXhlY3V0YWJsZSkpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICByZXR1cm4gZXZhbEV4ZWN1
dGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAppbmRleCA0N2UzODg4ZDJiZTdjYzUxM2JhN2M3YmViYjIyMGJjMDNkMGQxN2Q2Li5j
MmVkYmU3YzgyZmI5YmY2NzUzZWU1MzI1Mzg1YTJkNmY5YjI0Zjg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTE1OCw3ICsx
NTgsMTUgQEAgSlNWYWx1ZSBldmFsKENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgIFVubGlua2Vk
Q29kZUJsb2NrKiBjYWxsZXJVbmxpbmtlZENvZGVCbG9jayA9IGNhbGxlckNvZGVCbG9jay0+dW5s
aW5rZWRDb2RlQmxvY2soKTsKIAogICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCA9IGNh
bGxlclVubGlua2VkQ29kZUJsb2NrLT5pc0Fycm93RnVuY3Rpb24oKSB8fCBjYWxsZXJVbmxpbmtl
ZENvZGVCbG9jay0+aXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpOwotICAgIEV2YWxFeGVjdXRhYmxl
KiBldmFsID0gY2FsbGVyQ29kZUJsb2NrLT5ldmFsQ29kZUNhY2hlKCkudHJ5R2V0KGNhbGxlckNv
ZGVCbG9jay0+aXNTdHJpY3RNb2RlKCksIHByb2dyYW1Tb3VyY2UsIGlzQXJyb3dGdW5jdGlvbkNv
bnRleHQsIGNhbGxlclNjb3BlQ2hhaW4pOworCisgICAgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2
ZWRDb250ZXh0VHlwZSA9IGNhbGxlclVubGlua2VkQ29kZUJsb2NrLT5kZXJpdmVkQ29udGV4dFR5
cGUoKTsKKyAgICBpZiAoIWlzQXJyb3dGdW5jdGlvbkNvbnRleHQgJiYgY2FsbGVyVW5saW5rZWRD
b2RlQmxvY2stPmlzQ2xhc3NDb250ZXh0KCkpIHsKKyAgICAgICAgZGVyaXZlZENvbnRleHRUeXBl
ID0gY2FsbGVyVW5saW5rZWRDb2RlQmxvY2stPmlzQ29uc3RydWN0b3IoKQorICAgICAgICAgICAg
PyBEZXJpdmVkQ29udGV4dFR5cGU6OkRlcml2ZWRDb25zdHJ1Y3RvckNvbnRleHQKKyAgICAgICAg
ICAgIDogRGVyaXZlZENvbnRleHRUeXBlOjpEZXJpdmVkTWV0aG9kQ29udGV4dDsKKyAgICB9CisK
KyAgICBFdmFsRXhlY3V0YWJsZSogZXZhbCA9IGNhbGxlckNvZGVCbG9jay0+ZXZhbENvZGVDYWNo
ZSgpLnRyeUdldChjYWxsZXJDb2RlQmxvY2stPmlzU3RyaWN0TW9kZSgpLCBwcm9ncmFtU291cmNl
LCBpc0Fycm93RnVuY3Rpb25Db250ZXh0LCBkZXJpdmVkQ29udGV4dFR5cGUsIGNhbGxlclNjb3Bl
Q2hhaW4pOwogCiAgICAgaWYgKCFldmFsKSB7CiAgICAgICAgIGlmICghY2FsbGVyQ29kZUJsb2Nr
LT5pc1N0cmljdE1vZGUoKSkgewpAQCAtMTgwLDE0ICsxODgsNiBAQCBKU1ZhbHVlIGV2YWwoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgIGlmIChjYWxsZXJVbmxpbmtlZENvZGVCbG9jay0+
Y29uc3RydWN0b3JLaW5kKCkgPT0gQ29uc3RydWN0b3JLaW5kOjpEZXJpdmVkKQogICAgICAgICAg
ICAgdGhpc1REWk1vZGUgPSBUaGlzVERaTW9kZTo6QWx3YXlzQ2hlY2s7CiAKLSAgICAgICAgRGVy
aXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSA9IGNhbGxlclVubGlua2VkQ29kZUJs
b2NrLT5kZXJpdmVkQ29udGV4dFR5cGUoKTsKLSAgICAgICAgCi0gICAgICAgIGlmICghaXNBcnJv
d0Z1bmN0aW9uQ29udGV4dCAmJiBjYWxsZXJVbmxpbmtlZENvZGVCbG9jay0+aXNDbGFzc0NvbnRl
eHQoKSkgewotICAgICAgICAgICAgZGVyaXZlZENvbnRleHRUeXBlID0gY2FsbGVyVW5saW5rZWRD
b2RlQmxvY2stPmlzQ29uc3RydWN0b3IoKQotICAgICAgICAgICAgICAgID8gRGVyaXZlZENvbnRl
eHRUeXBlOjpEZXJpdmVkQ29uc3RydWN0b3JDb250ZXh0Ci0gICAgICAgICAgICAgICAgOiBEZXJp
dmVkQ29udGV4dFR5cGU6OkRlcml2ZWRNZXRob2RDb250ZXh0OwotICAgICAgICB9Ci0gICAgICAg
IAogICAgICAgICBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlOwogICAgICAgICAKICAg
ICAgICAgaWYgKGlzRnVuY3Rpb25QYXJzZU1vZGUoY2FsbGVyVW5saW5rZWRDb2RlQmxvY2stPnBh
cnNlTW9kZSgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvZGlyZWN0LWV2YWwtaW4tb2JqZWN0LWxpdGVyYWwtbWV0aG9kcy5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGlyZWN0LWV2YWwtaW4tb2JqZWN0LWxpdGVyYWwtbWV0
aG9kcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YzYyZjg3NmQzZjUxMzQwN2RmYzEyNGU0NGRiMTY3OGU0OGQ0
OTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9kaXJlY3QtZXZhbC1pbi1vYmplY3QtbGl0ZXJhbC1tZXRob2RzLmpzCkBAIC0wLDAgKzEsNjIg
QEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBh
Y3R1YWwpOworfQorCit7CisgICAgbGV0IG9iamVjdCA9IHsKKyAgICAgICAgbigpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJldHVybiA0MjsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBsZXQg
ZGVyaXZlZCA9IHsKKyAgICAgICAgbSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBl
dmFsKCJzdXBlci5uKCkiKTsKKyAgICAgICAgfQorICAgIH07CisgICAgT2JqZWN0LnNldFByb3Rv
dHlwZU9mKGRlcml2ZWQsIG9iamVjdCk7CisgICAgc2hvdWxkQmUoZGVyaXZlZC5tKCksIDQyKTsK
KyAgICAvLyBDYWNoZWQuCisgICAgc2hvdWxkQmUoZGVyaXZlZC5tKCksIDQyKTsKK30KKworewor
ICAgIGxldCBvYmplY3QgPSB7CisgICAgICAgIGwoKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXR1cm4gNDI7CisgICAgICAgIH0KKyAgICB9OworCisgICAgbGV0IGRlcml2ZWQgPSB7CisgICAg
ICAgIG0oKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZXZhbCgic3VwZXIubCgpIik7
CisgICAgICAgIH0KKyAgICB9OworICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihkZXJpdmVkLCBv
YmplY3QpOworICAgIHNob3VsZEJlKGRlcml2ZWQubSgpLCA0Mik7CisgICAgLy8gQ2FjaGVkLgor
ICAgIHNob3VsZEJlKGRlcml2ZWQubSgpLCA0Mik7CisKKyAgICBjbGFzcyBQYXJlbnQgeworICAg
ICAgICBsKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIDU1OworICAgICAgICB9Cisg
ICAgfQorCisgICAgY2xhc3MgRGVyaXZlZCBleHRlbmRzIFBhcmVudCB7CisgICAgICAgIG0oKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZXZhbCgic3VwZXIubCgpIik7CisgICAgICAg
IH0KKyAgICB9CisgICAgbGV0IGluc3RhbmNlID0gbmV3IERlcml2ZWQoKTsKKyAgICAvLyBVbmRl
ciB0aGUgc3RyaWN0IGNvZGUsIG5vdCBjYWNoZWQuCisgICAgc2hvdWxkQmUoaW5zdGFuY2UubCgp
LCA1NSk7CisgICAgc2hvdWxkQmUoaW5zdGFuY2UubCgpLCA1NSk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>