<?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>170751</bug_id>
          
          <creation_ts>2017-04-11 15:00:50 -0700</creation_ts>
          <short_desc>We need to destroy worker threads in jsc.cpp</short_desc>
          <delta_ts>2017-05-18 16:47:50 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>170628</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1296564</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-11 15:00:50 -0700</bug_when>
    <thetext>A test I&apos;m adding for bug #170628 is tripping an assertion failure in tip-of-tree (without my change, just this test). Older wasm memory code is broken so my repro disables fast memory (after #170628 it&apos;ll also repro, even with fast memory).

The crash isn&apos;t deterministic, only happen 1/10 times or so.

$ for i in `seq 1 1000`; do (cd ./JSTests/wasm/ &amp;&amp; JSC_useWebAssemblyFastMemory=0  ../../current-debug/bin/jsc -m ./function-tests/memory-multiagent.js  ); done
ASSERTION FAILED: mergeSpeculations(type, speculationFromValue(m_value)) == type
/Volumes/dev/wk/OpenSource/Source/JavaScriptCore/dfg/DFGAbstractValue.cpp(510) : void JSC::DFG::AbstractValue::checkConsistency() const
1   0x103e83b7d WTFCrash
2   0x103217f99 JSC::DFG::AbstractValue::checkConsistency() const
3   0x1032b0b22 JSC::DFG::AbstractValue::observeInvalidationPoint()
4   0x1032ada25 JSC::DFG::AbstractValue::observeInvalidationPointFor(JSC::DFG::AbstractValue&amp;)
5   0x1032b0aec void JSC::DFG::AbstractInterpreter&lt;JSC::DFG::InPlaceAbstractState&gt;::forAllValues&lt;void (JSC::DFG::AbstractValue&amp;)&gt;(unsigned int, void (&amp;)(JSC::DFG::AbstractValue&amp;))::&apos;lambda&apos;(JSC::DFG::NodeFlowProjection)::operator()(JSC::DFG::NodeFlowProjection) const
6   0x1032b0a65 void JSC::DFG::NodeFlowProjection::forEach&lt;void JSC::DFG::AbstractInterpreter&lt;JSC::DFG::InPlaceAbstractState&gt;::forAllValues&lt;void (JSC::DFG::AbstractValue&amp;)&gt;(unsigned int, void (&amp;)(JSC::DFG::AbstractValue&amp;))::&apos;lambda&apos;(JSC::DFG::NodeFlowProjection)&gt;(JSC::DFG::Node*, void  const(&amp;)(JSC::DFG::AbstractValue&amp;))
7   0x1032ad83b void JSC::DFG::AbstractInterpreter&lt;JSC::DFG::InPlaceAbstractState&gt;::forAllValues&lt;void (JSC::DFG::AbstractValue&amp;)&gt;(unsigned int, void (&amp;)(JSC::DFG::AbstractValue&amp;))
8   0x1032aa172 JSC::DFG::AbstractInterpreter&lt;JSC::DFG::InPlaceAbstractState&gt;::executeEffects(unsigned int, JSC::DFG::Node*)
9   0x1035142f3 JSC::DFG::AbstractInterpreter&lt;JSC::DFG::InPlaceAbstractState&gt;::executeEffects(unsigned int)
10  0x103513eda JSC::DFG::SpeculativeJIT::compileCurrentBlock()
11  0x103514953 JSC::DFG::SpeculativeJIT::compile()
12  0x1033e7ec7 JSC::DFG::JITCompiler::compileBody()
13  0x1033ea91e JSC::DFG::JITCompiler::compile()
14  0x1034c1bef JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&amp;)
15  0x1034bef49 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&amp;, JSC::DFG::ThreadData*)
16  0x103619ab5 JSC::DFG::Worklist::ThreadBody::work()
17  0x103e88907 WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
18  0x103e886ad void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&amp;&gt;(WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&amp;&amp;&amp;)
19  0x103e884f9 std::__1::__function::__func&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0, std::__1::allocator&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;, void ()&gt;::operator()()
20  0x10350acca std::__1::function&lt;void ()&gt;::operator()() const
21  0x103ea73d7 WTF::threadEntryPoint(void*)
22  0x103ef0f81 WTF::wtfThreadEntryPoint(void*)
23  0x7fffa1bc9aab _pthread_body
24  0x7fffa1bc99f7 _pthread_body
25  0x7fffa1bc91fd thread_start
ASSERTION FAILED: mergeSpeculations(type, speculationFromValue(m_value)) == type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296565</commentid>
    <comment_count>1</comment_count>
      <attachid>306859</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-11 15:01:27 -0700</bug_when>
    <thetext>Created attachment 306859
Test causing the failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300621</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-24 12:51:02 -0700</bug_when>
    <thetext>This looks like it could be a serious bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300713</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-24 16:43:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/31800412&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310310</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 15:51:10 -0700</bug_when>
    <thetext>The bug is as follows:
- We&apos;re asserting that a string that we observed as being atomic is no longer atomic.
- This happens because we create the $agent thread, start compiling code, then destroy the thread, all before the compilation finishes. This will lead to the thread&apos;s atomic string table being destroyed.

We have two options:
1. Wait for compilations to finish for workers
2. Just destroy worker VMs

I&apos;m choosing 2 since this is what WebCore does and it&apos;s probably good testing.

We&apos;re not going to destroy the VM when it&apos;s the main thread VM since the main thread is just going to exit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310338</commentid>
    <comment_count>5</comment_count>
      <attachid>310574</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 16:45:36 -0700</bug_when>
    <thetext>Created attachment 310574
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310339</commentid>
    <comment_count>6</comment_count>
      <attachid>310574</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 16:46:12 -0700</bug_when>
    <thetext>Comment on attachment 310574
patch

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

&gt; Source/JavaScriptCore/jsc.cpp:3855
&gt; +

oops, I&apos;ll undo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310340</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 16:46:35 -0700</bug_when>
    <thetext>I accidentally undid Pizlo&apos;s r+. r=pizlo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310341</commentid>
    <comment_count>8</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 16:47:44 -0700</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/217077/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>306859</attachid>
            <date>2017-04-11 15:01:27 -0700</date>
            <delta_ts>2017-05-18 16:45:36 -0700</delta_ts>
            <desc>Test causing the failure</desc>
            <filename>memory-multiagent.js</filename>
            <type>application/x-javascript</type>
            <size>3942</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">Y29uc3QgcGFnZVNpemUgPSA2NCAqIDEwMjQ7Cgpjb25zdCB2ZXJib3NlID0gZmFsc2U7CgovLyBT
dGFydCBtdWx0aXBsZSBhZ2VudHMgYW5kIGNyZWF0ZSBXZWJBc3NlbWJseS5NZW1vcnkgZnJvbSBl
YWNoIG9mCi8vIHRoZW0uIFBlcmZvcm0gd3JpdGVzIGludG8gZWFjaCBtZW1vcnksIGFuZCB0aGVu
IGNoZWNrIHRoYXQgdGhlIG1lbW9yeSBvbmx5Ci8vIGNvbnRhaW5zIHRoYXQgYWdlbnQncyB3cml0
ZXMuIFRoaXMgd291bGQgZmluZCBidWdzIHdoZXJlIGFuIGltcGxlbWVudGF0aW9uJ3MKLy8gbWVt
b3J5IHJldXNlIGlzIGJ1Z2d5LgoKLy8gVXNlIHRoZSBhZ2VudCBzdXBwb3J0IGZyb20gdGVzdDI2
MjogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvdGVzdDI2Mi9ibG9iL21hc3Rlci9JTlRFUlBSRVRJ
TkcubWQjaG9zdC1kZWZpbmVkLWZ1bmN0aW9ucwoKY29uc3QgdGVzdEl0ZXJhdGlvbnMgPSAyOwpj
b25zdCBudW1BZ2VudHMgPSA4Owpjb25zdCBpbml0aWFsUGFnZXMgPSA2NDsKY29uc3QgbnVtV3Jp
dGVzID0gMTAyNDsKCmNvbnN0IHN0YXRlV2FpdCA9IDA7CmNvbnN0IHN0YXRlUmVhZHkgPSAxOwpj
b25zdCBzdGF0ZUNoZWNrID0gMjsKCmNvbnN0IHN0YXJ0QWdlbnRzID0gbnVtQWdlbnRzVG9TdGFy
dCA9PiB7CiAgICBmb3IgKGxldCBhID0gMDsgYSA8IG51bUFnZW50c1RvU3RhcnQ7ICsrYSkgewog
ICAgICAgIGNvbnN0IGFnZW50U2NyaXB0ID0gYAogICAgICAgIGxldCBzdGF0ZSA9ICR7c3RhdGVX
YWl0fTsKICAgICAgICBsZXQgdTg7CgogICAgICAgIGlmICgke3ZlcmJvc2V9KQogICAgICAgICAg
ICBwcmludCgiQWdlbnQgJHthfSBzdGFydGVkIik7CiAgICAgICAgJC5hZ2VudC5yZXBvcnQoIkFn
ZW50ICR7YX0gc3RhcnRlZCIpOwoKICAgICAgICAkLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoKHNh
YiwgbmV3U3RhdGUpID0+IHsKICAgICAgICAgICAgaWYgKCR7dmVyYm9zZX0pCiAgICAgICAgICAg
ICAgICBwcmludCgiQWdlbnQgJHthfSByZWNlaXZlZCBicm9hZGNhc3QiKTsKICAgICAgICAgICAg
dTggPSBuZXcgVWludDhBcnJheShzYWIpOwogICAgICAgICAgICBzdGF0ZSA9IG5ld1N0YXRlOwog
ICAgICAgIH0pOwoKICAgICAgICBjb25zdCBidXN5V2FpdEZvclZhbHVlID0gdmFsdWUgPT4gewog
ICAgICAgICAgICAvLyBCdXN5LXdhaXQgc28gdGhhdCBvbmNlIHRoZSBTQUIgd3JpdGUgb2NjdXJz
IGFsbCBhZ2VudHMgdHJ5IHRvIGNyZWF0ZSBhIG1lbW9yeSBhdCB0aGUgc2FtZSB0aW1lLgogICAg
ICAgICAgICB3aGlsZSAoQXRvbWljcy5sb2FkKHU4LCAwKSAhPT0gdmFsdWUpIDsKICAgICAgICB9
OwoKICAgICAgICBpZiAoJHt2ZXJib3NlfSkKICAgICAgICAgICAgcHJpbnQoIkFnZW50ICR7YX0g
d2FpdHMiKTsKICAgICAgICAkLmFnZW50LnJlcG9ydCgiQWdlbnQgJHthfSB3YWl0cyIpOwogICAg
ICAgIHdoaWxlIChzdGF0ZSA9PT0gJHtzdGF0ZVdhaXR9KSA7CiAgICAgICAgJC5hZ2VudC5yZXBv
cnQoIkFnZW50ICR7YX0gcmVjZWl2ZWQgU0FCIik7CiAgICAgICAgLy8gVXNlIGl0IGZvciBmYXN0
ZXIgc3RhdGUgY2hhbmdlIHNvIGFsbCBhZ2VudHMgYXJlIG1vcmUgbGlrZWx5IHRvIGV4ZWN1dGUg
YXQgdGhlIHNhbWUgdGltZS4KICAgICAgICBidXN5V2FpdEZvclZhbHVlKCR7c3RhdGVSZWFkeX0p
OwoKICAgICAgICBsZXQgd2FzbU1lbW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoeyBpbml0
aWFsOiAke2luaXRpYWxQYWdlc30gfSk7CiAgICAgICAgbGV0IG1lbW9yeSA9IG5ldyBVaW50OEFy
cmF5KCh3YXNtTWVtb3J5KS5idWZmZXIpOwogICAgICAgIGlmICgke3ZlcmJvc2V9KQogICAgICAg
ICAgICBwcmludCgiQWdlbnQgJHthfSBwZXJmb3JtaW5nIHdyaXRlcyIpOwogICAgICAgIGZvciAo
bGV0IHdyaXRlID0gMDsgd3JpdGUgPCAke251bVdyaXRlc307ICsrd3JpdGUpIHsKICAgICAgICAg
ICAgLy8gUGVyZm9ybSB3cml0ZXMgb2Ygb3VyIGFnZW50IG51bWJlciBhdCBhIHJhbmRvbSBsb2Nh
dGlvbi4gVGhpcyBtZW1vcnkgc2hvdWxkIG5vdCBiZSBzaGFyZWQsIGlmIHdlIHNlZSB3cml0ZXMg
b2Ygb3RoZXIgdmFsdWVzIHRoZW4gc29tZXRoaW5nIHdlbnQgd3JvbmcuCiAgICAgICAgICAgIGNv
bnN0IGlkeCA9IChNYXRoLnJhbmRvbSgpICogJHtwYWdlU2l6ZX0gKiAke2luaXRpYWxQYWdlc30p
IHwgMDsKICAgICAgICAgICAgbWVtb3J5W2lkeF0gPSAke2F9OwogICAgICAgIH0KICAgICAgICBp
ZiAoJHt2ZXJib3NlfSkKICAgICAgICAgICAgcHJpbnQoIkFnZW50ICR7YX0gd3JpdGVzIHBlcmZv
cm1lZCIpOwogICAgICAgICQuYWdlbnQucmVwb3J0KCJBZ2VudCAke2F9IHBlcmZvcm1lZCB3cml0
ZXMiKTsKICAgICAgICBidXN5V2FpdEZvclZhbHVlKCR7c3RhdGVDaGVja30pOwoKICAgICAgICBp
ZiAoJHt2ZXJib3NlfSkKICAgICAgICAgICAgcHJpbnQoIkFnZW50ICR7YX0gY2hlY2tpbmciKTsK
ICAgICAgICAvLyBDaGVjayB0aGF0IG91ciBtZW1vcnkgb25seSBjb250YWlucyAwIGFuZCBvdXIg
YWdlbnQgbnVtYmVyLgogICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8ICR7cGFnZVNpemV9
ICogJHtpbml0aWFsUGFnZXN9OyArK2lkeCkKICAgICAgICAgICAgaWYgKG1lbW9yeVtpZHhdICE9
PSAwICYmIG1lbW9yeVtpZHhdICE9PSAke2F9KQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJBZ2VudCAke2F9IGZvdW5kIHVuZXhwZWN0ZWQgdmFsdWUgIiArIG1lbW9yeVtpZHhdICsg
IiBhdCBsb2NhdGlvbiAiICsgaWR4KTsKICAgICAgICAkLmFnZW50LnJlcG9ydCgiQWdlbnQgJHth
fSBjaGVja3Mgb3V0IE9LIik7CiAgICAgICAgJC5hZ2VudC5sZWF2aW5nKCk7CiAgICAgICAgYDsK
CiAgICAgICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgIHByaW50KGBTdGFydGluZyBhZ2VudCAk
e2F9YCk7CiAgICAgICAgJC5hZ2VudC5zdGFydChhZ2VudFNjcmlwdCk7CiAgICB9Cn07Cgpjb25z
dCB3YWl0Rm9yQWdlbnRzID0gbnVtQWdlbnRzVG9XYWl0Rm9yID0+IHsKICAgIGZvciAobGV0IGEg
PSAwOyBhIDwgbnVtQWdlbnRzVG9XYWl0Rm9yOyArK2EpIHsKICAgICAgICB3aGlsZSAodHJ1ZSkg
ewogICAgICAgICAgICBjb25zdCByZXBvcnQgPSAkLmFnZW50LmdldFJlcG9ydCgpOwogICAgICAg
ICAgICBpZiAocmVwb3J0ID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkLmFnZW50LnNsZWVw
KDEpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg
aWYgKHZlcmJvc2UpCiAgICAgICAgICAgICAgICBwcmludChgUmVjZWl2ZWQ6ICR7cmVwb3J0fWAp
OwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cn07Cgpjb25zdCBicm9hZGNhc3RU
b0FnZW50cyA9IChzYWIsIG5ld1N0YXRlKSA9PiB7CiAgICAkLmFnZW50LmJyb2FkY2FzdChzYWIs
IG5ld1N0YXRlKTsKfTsKCmNvbnN0IHNhYiA9IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcigxMDI0KTsK
Y29uc3QgdTggPSBuZXcgVWludDhBcnJheShzYWIpOwoKZm9yIChsZXQgaXQgPSAwOyBpdCA8IHRl
c3RJdGVyYXRpb25zOyArK2l0KSB7CiAgICBzdGFydEFnZW50cyhudW1BZ2VudHMpOwogICAgd2Fp
dEZvckFnZW50cyhudW1BZ2VudHMpOwogICAgYnJvYWRjYXN0VG9BZ2VudHMoc2FiLCBzdGF0ZVJl
YWR5KTsKICAgIHdhaXRGb3JBZ2VudHMobnVtQWdlbnRzKTsKICAgICQuYWdlbnQuc2xlZXAoMSk7
CiAgICBBdG9taWNzLnN0b3JlKHU4LCAwLCBzdGF0ZVJlYWR5KTsKICAgIHdhaXRGb3JBZ2VudHMo
bnVtQWdlbnRzKTsKICAgICQuYWdlbnQuc2xlZXAoMSk7CiAgICBBdG9taWNzLnN0b3JlKHU4LCAw
LCBzdGF0ZUNoZWNrKTsKICAgIHdhaXRGb3JBZ2VudHMobnVtQWdlbnRzKTsKICAgIGlmICh2ZXJi
b3NlKQogICAgICAgIHByaW50KCJFdmVyeXRpbmcgd2FzIGZpbmUiKTsKICAgICQuYWdlbnQuc2xl
ZXAoMSk7Cn0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310574</attachid>
            <date>2017-05-18 16:45:36 -0700</date>
            <delta_ts>2017-05-18 16:47:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>3659</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE3MDc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFdlIG5lZWQgdG8gZGVzdHJveSB3b3JrZXIgdGhyZWFkcyBpbiBqc2MuY3BwCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA3NTEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMxODAwNDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBidWcgd2hlcmUgYSAkIGFnZW50IHdv
cmtlciB3b3VsZCBzdGlsbAorICAgICAgICBoYXZlIGNvbXBpbGF0aW9uIHRocmVhZHMgcnVubmlu
ZyBhZnRlciB0aGUgdGhyZWFkIHRoZSB3b3JrZXIKKyAgICAgICAgd2FzIGNyZWF0ZWQgb24gZGll
cy4gVGhpcyBtYW5pZmVzdGVkIGl0c2VsZiBpbnNpZGUgREZHIEFJIHdoZXJlCisgICAgICAgIHdl
IHdvdWxkIG5vdGljZSBhIHN0cmluZyBjb25zdGFudCBpcyBhdG9taWMsIHRoZW4gdGhlIHdvcmtl
cgorICAgICAgICB0aHJlYWQgd291bGQgZGllLCBkZXN0cm95aW5nIGl0cyBhdG9taWMgc3RyaW5n
IHRhYmxlLCB0aGVuCisgICAgICAgIHdlJ2Qgbm90aWNlIHRoZSBzYW1lIHN0cmluZyBpcyBubyBs
b25nZXIgYXRvbWljLCBhbmQgd2UnZCBjcmFzaAorICAgICAgICBiZWNhdXNlIHdlJ2QgZmFpbCB0
byBzZWUgdGhlIHNhbWUgc3BlY3VsYXRlZCB0eXBlIGZvciB0aGUgc2FtZQorICAgICAgICBKU1Zh
bHVlLgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBpdCBzbyB0aGF0ICQgYWdl
bnQgd29ya2VycyBkZXN0cm95IHRoZWlyIFZNIHdoZW4KKyAgICAgICAgdGhleSdyZSBkb25lIGV4
ZWN1dGluZy4gQmVmb3JlIGEgVk0gZ2V0cyBkZXN0cm95ZWQsIGl0IGVuc3VyZXMgdGhhdAorICAg
ICAgICBhbGwgaXRzIGNvbXBpbGF0aW9uIHRocmVhZHMgZmluaXNoLgorCisgICAgICAgICoganNj
LmNwcDoKKyAgICAgICAgKGZ1bmN0aW9uRG9sbGFyQWdlbnRTdGFydCk6CisgICAgICAgIChydW5K
U0MpOgorICAgICAgICAoanNjbWFpbik6CisKIDIwMTctMDUtMTggIE1pY2hhZWwgU2Fib2ZmICA8
bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEZUTCB3aGl0ZWxpc3QgZGVidWdnaW5n
IG9wdGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDIxNzA1OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzksNyArOTM5
LDcgQEAgY2xhc3MgR2xvYmFsT2JqZWN0OwogY2xhc3MgV29ya2VyczsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgRnVuYz4KLWludCBydW5KU0MoQ29tbWFuZExpbmUsIGNvbnN0IEZ1bmMmKTsKK2ludCBy
dW5KU0MoQ29tbWFuZExpbmUsIGJvb2wgaXNXb3JrZXIsIGNvbnN0IEZ1bmMmKTsKIHN0YXRpYyB2
b2lkIGNoZWNrRXhjZXB0aW9uKEdsb2JhbE9iamVjdCosIGJvb2wgaXNMYXN0RmlsZSwgYm9vbCBo
YXNFeGNlcHRpb24sIEpTVmFsdWUsIGNvbnN0IFN0cmluZyYgdW5jYXVnaHRFeGNlcHRpb25OYW1l
LCBib29sIGFsd2F5c0R1bXBVbmNhdWdodEV4Y2VwdGlvbiwgYm9vbCBkdW1wLCBib29sJiBzdWNj
ZXNzKTsKIAogY2xhc3MgTWVzc2FnZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZXNz
YWdlPiB7CkBAIC0yNTUxLDcgKzI1NTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uRG9sCiAgICAgICAgICAgICBDb21tYW5kTGluZSBjb21tYW5kTGluZSgwLCBudWxs
cHRyKTsKICAgICAgICAgICAgIGNvbW1hbmRMaW5lLm1faW50ZXJhY3RpdmUgPSBmYWxzZTsKICAg
ICAgICAgICAgIHJ1bkpTQygKLSAgICAgICAgICAgICAgICBjb21tYW5kTGluZSwKKyAgICAgICAg
ICAgICAgICBjb21tYW5kTGluZSwgdHJ1ZSwKICAgICAgICAgICAgICAgICBbJl0gKFZNJiwgR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gTm90aWZ5
IHRoZSB0aHJlYWQgdGhhdCBzdGFydGVkIHVzIHRoYXQgd2UgaGF2ZSByZWdpc3RlcmVkIGEgd29y
a2VyLgogICAgICAgICAgICAgICAgICAgICB7CkBAIC0zNzkyLDcgKzM3OTIsNyBAQCB2b2lkIENv
bW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50cyhpbnQgYXJnCiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IEZ1bmM+Ci1pbnQgcnVuSlNDKENvbW1hbmRMaW5lIG9wdGlvbnMsIGNvbnN0IEZ1bmMmIGZ1bmMp
CitpbnQgcnVuSlNDKENvbW1hbmRMaW5lIG9wdGlvbnMsIGJvb2wgaXNXb3JrZXIsIGNvbnN0IEZ1
bmMmIGZ1bmMpCiB7CiAgICAgV29ya2VyIHdvcmtlcihXb3JrZXJzOjpzaW5nbGV0b24oKSk7CiAg
ICAgCkBAIC0zODUyLDYgKzM4NTIsNyBAQCBpbnQgcnVuSlNDKENvbW1hbmRMaW5lIG9wdGlvbnMs
IGNvbnN0IEZ1CiAgICAgICAgIHN0ZDo6c29ydChjb21waWxlVGltZUtleXMuYmVnaW4oKSwgY29t
cGlsZVRpbWVLZXlzLmVuZCgpKTsKICAgICAgICAgZm9yIChDU3RyaW5nIGtleSA6IGNvbXBpbGVU
aW1lS2V5cykKICAgICAgICAgICAgIHByaW50ZigiJTQwczogJS4zbGYgbXNcbiIsIGtleS5kYXRh
KCksIGNvbXBpbGVUaW1lU3RhdHMuZ2V0KGtleSkpOworCiAgICAgfQogI2VuZGlmCiAKQEAgLTM4
NzEsNiArMzg3MiwxMyBAQCBpbnQgcnVuSlNDKENvbW1hbmRMaW5lIG9wdGlvbnMsIGNvbnN0IEZ1
CiAjZW5kaWYKICAgICB9CiAKKyAgICBpZiAoaXNXb3JrZXIpIHsKKyAgICAgICAgSlNMb2NrSG9s
ZGVyIGxvY2tlcih2bSk7CisgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugd2UgZG9u
J3Qgd2FudCB0aGUgd29ya2VyJ3MgbWFpbgorICAgICAgICAvLyB0aHJlYWQgdG8gZGllIGJlZm9y
ZSBpdHMgY29tcGlsYXRpb24gdGhyZWFkcyBmaW5pc2guCisgICAgICAgIHZtLmRlcmVmKCk7Cisg
ICAgfQorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMzg5NSw3ICszOTAzLDcgQEAgaW50
IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogCiAgICAgaW50IHJlc3VsdDsKICAgICBy
ZXN1bHQgPSBydW5KU0MoCi0gICAgICAgIG9wdGlvbnMsCisgICAgICAgIG9wdGlvbnMsIGZhbHNl
LAogICAgICAgICBbJl0gKFZNJiwgR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsKICAgICAg
ICAgICAgIHJldHVybiBydW5XaXRoU2NyaXB0cyhnbG9iYWxPYmplY3QsIG9wdGlvbnMubV9zY3Jp
cHRzLCBvcHRpb25zLm1fdW5jYXVnaHRFeGNlcHRpb25OYW1lLCBvcHRpb25zLm1fYWx3YXlzRHVt
cFVuY2F1Z2h0RXhjZXB0aW9uLCBvcHRpb25zLm1fZHVtcCwgb3B0aW9ucy5tX21vZHVsZSk7CiAg
ICAgICAgIH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>