<?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>173628</bug_id>
          
          <creation_ts>2017-06-20 17:27:31 -0700</creation_ts>
          <short_desc>[mac-wk1] requestAnimationFrame callbacks may not get serviced</short_desc>
          <delta_ts>2017-06-25 01:09:32 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=173326</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173626</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173681</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173751</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173821</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jonlee</cc>
    
    <cc>kangil.han</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321321</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-06-20 17:27:31 -0700</bug_when>
    <thetext>As we found in https://bugs.webkit.org/show_bug.cgi?id=168409, and in other flaky tests, we have an issue where some media/modern-media-controls tests time out due to requestAnimationFrame callbacks not being serviced. We added some logging to identify when ScriptedAnimationController would get suspended in webkit.org/b/173326. This logging points to the fact that the reason rAF callbacks aren&apos;t serviced is because Document::requestAnimationFrame() suspends rAF when the page reports that scripted animations ought to be suspended, which is true when m_scriptedAnimationsSuspended is true. We are adding more logging to track this with https://bugs.webkit.org/show_bug.cgi?id=173626. This bug tracks the general issue until it is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322186</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-06-22 21:36:01 -0700</bug_when>
    <thetext>During https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/builds/2788, media/modern-media-controls/airplay-button/airplay-button-on.html starts with ScriptedAnimationController suspended as Document::requestAnimationFrame() is called and page()-&gt;scriptedAnimationsSuspended() is true. For this worker and this Page instance, the last previous call to Page::suspendScriptedAnimations() is made while running fast/events/page-visibility-transition-test.html as a result of Page::setIsVisibleInternal(false) being called. Here&apos;s the backtrace:

1   0x109b848bf WebCore::Page::setActivityState(unsigned int)
2   0x10be0381c -[WebView(WebPrivate) _setVisibilityState:isInitialState:]
3   0x106613b45 setPageVisibilityCallback(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)
4   0x106e6e4dd long long JSC::APICallbackFunction::call&lt;JSC::JSCallbackFunction&gt;(JSC::ExecState*)
5   0x106fc0bb5 JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*)
6   0x106fc8800 llint_entry
7   0x106fc880e llint_entry
8   0x106fc880e llint_entry
9   0x106fc1bbb vmEntryToJavaScript
10  0x106e1643f JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
11  0x106ddb0e4 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
12  0x10699b2dd JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
13  0x1096e5722 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*)
14  0x10923f484 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener&gt;, 1ul, WTF::CrashOnOverflow, 16ul&gt;)
15  0x10923f11e WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;)
16  0x1091ba7b6 WebCore::DOMWindow::dispatchEvent(WebCore::Event&amp;, WebCore::EventTarget*)
17  0x1091c1482 WebCore::DOMWindow::dispatchLoadEvent()
18  0x109161dc5 WebCore::Document::implicitClose()
19  0x1092dc76f WebCore::FrameLoader::checkCompleted()
20  0x1092db2c0 WebCore::FrameLoader::finishedParsing()
21  0x10916f69a WebCore::Document::finishedParsing()
22  0x1093a0c42 WebCore::HTMLDocumentParser::prepareToStopParsing()
23  0x1093a1cb3 WebCore::HTMLDocumentParser::finish()
24  0x1091a17da WebCore::DocumentWriter::end()
25  0x10918a1ec WebCore::DocumentLoader::finishedLoading()
26  0x108f6b6f9 WebCore::CachedResource::checkNotify()
27  0x108f675bc WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*)
28  0x109f8485a WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&amp;)
29  0x109ddadd2 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*)
30  0x7fff9634a4a5 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke
31  0x7fff9634a3ba -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322193</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-06-22 22:18:38 -0700</bug_when>
    <thetext>I can finally reproduce this issue, or at least one reason it occurs:

OpenSource &gt; Tools/Scripts/run-webkit-tests --no-retry --no-sample-on-timeout --time-out-ms=5000 --release -1 --child-processes=1 --verbose fast/events/page-visibility-transition-test.html media/modern-media-controls/airplay-button/airplay-button-on.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322197</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-22 22:32:36 -0700</bug_when>
    <thetext>(In reply to Antoine Quint from comment #2)
&gt; I can finally reproduce this issue, or at least one reason it occurs:
&gt; 
&gt; OpenSource &gt; Tools/Scripts/run-webkit-tests --no-retry
&gt; --no-sample-on-timeout --time-out-ms=5000 --release -1 --child-processes=1
&gt; --verbose fast/events/page-visibility-transition-test.html
&gt; media/modern-media-controls/airplay-button/airplay-button-on.html

Interestingly, document.hidden return false when running the second test. So it *is* visible but somehow scripted animations are still suspended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322209</commentid>
    <comment_count>4</comment_count>
      <attachid>313693</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-22 23:42:58 -0700</bug_when>
    <thetext>Created attachment 313693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322210</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-22 23:43:33 -0700</bug_when>
    <thetext>Found the bug!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322295</commentid>
    <comment_count>6</comment_count>
      <attachid>313693</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-23 08:44:33 -0700</bug_when>
    <thetext>Comment on attachment 313693
Patch

Clearing flags on attachment: 313693

Committed r218747: &lt;http://trac.webkit.org/changeset/218747&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322296</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-23 08:44:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322677</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-06-25 01:09:32 -0700</bug_when>
    <thetext>We&apos;re removing the logging code we added to diagnose this issue in https://bugs.webkit.org/show_bug.cgi?id=173821.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313693</attachid>
            <date>2017-06-22 23:42:58 -0700</date>
            <delta_ts>2017-06-23 08:44:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173628-20170622234257.patch</filename>
            <type>text/plain</type>
            <size>8336</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEyYmVlZDBjMmRmYjFh
ZmQzYzg1NGVkNDc5ODFlYzVhY2I3ODE2ZS4uMTEzNjUxOThkMTRjNDVmNmUwMjdjYzVhY2E4OTk5
NzVmY2M1OGJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA2LTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hYy13azFdIHJlcXVlc3RB
bmltYXRpb25GcmFtZSBjYWxsYmFja3MgbWF5IG5vdCBnZXQgc2VydmljZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2U6OnNldElzVmlzaWJsZUlu
dGVybmFsKCkgd2FzIGZpcmluZyB0aGUgJ3Zpc2liaWxpdHljaGFuZ2UnIGV2ZW50CisgICAgICAg
IHN5bmNocm9ub3VzbHkgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiB1cGRhdGluZyBpdHMgdmlzaWJp
bGl0eS9hY3Rpdml0eQorICAgICAgICBzdGF0ZS4gVGhpcyBhbGxvd2VkIHRoZSBKYXZhU2NyaXB0
IHRvIHJlLWVudGVyIHRoZSBtZXRob2QgYnkgY2FsbGluZworICAgICAgICB0ZXN0UnVubmVyLnNl
dFBhZ2VWaXNpYmlsaXR5KCkgLyByZXNldFBhZ2VWaXNpYmxpdHkoKSBhbmQgd2Ugd291bGQKKyAg
ICAgICAgZW5kIHVwIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGV4dGVuZGVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQp
OgorICAgICAgICBEbyBubyBmaXJlIHRoZSB2aXNpYmlsaXR5Y2hhbmdlIGV2ZW50IHN5bmNocm9u
b3VzbHkgYXMgd2UgYXJlIGluIHRoZQorICAgICAgICBtaWRkbGUgb2YgdXBkYXRpbmcgdGhlIHBh
Z2UncyBhY3Rpdml0eSBzdGF0ZS4gSW5zdGVhZCBmaXJlIHRoZQorICAgICAgICBldmVudCBhc3lu
Y2hyb25vdXNseS4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRJc1Zpc2libGVJbnRlcm5hbCk6CisgICAgICAgIE1vdmUgdGhlIGNhbGxpbmcg
b2YgRG9jdW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQoKSB1bnRpbCBhZnRlciB3ZSdyZQor
ICAgICAgICBkb25lIHVwZGF0aW5nIHRoZSBwYWdlJ3MgdmlzaWJpbGl0eSBzdGF0ZS4KKworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2NyaXB0ZWRBbmltYXRpb25zQXJlU3VzcGVuZGVkKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgQWRk
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gY2hlY2sgaWYgc2NyaXB0ZWQgYW5pbWF0aW9ucyBhcmUg
c3VzcGVuZGVkLgorCiAyMDE3LTA2LTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjE0NzEyKTogSW5maW5pdGUgcmVjdXJzaW9uIGluIFJl
bmRlclRhYmxlOjpsYXlvdXQgaW4gcGFnaW5hdGVkIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDYwZDYxMzUzMDUxZDRhOWU1OTgwMWQ1NGMzMjQyMjYzZDllNGMzNzMuLmM0YmFhZGEy
ZWIyZGMxM2Y4OWIwMGI1M2Y3ZTRmODViOTY2N2U4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtMTYxNiw3ICsxNjE2LDcgQEAgdm9pZCBEb2N1bWVudDo6dW5yZWdpc3RlckZvclZpc2li
aWxpdHlTdGF0ZUNoYW5nZWRDYWxsYmFja3MoVmlzaWJpbGl0eUNoYW5nZUNsaWUKIAogdm9pZCBE
b2N1bWVudDo6dmlzaWJpbGl0eVN0YXRlQ2hhbmdlZCgpCiB7Ci0gICAgZGlzcGF0Y2hFdmVudChF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52aXNpYmlsaXR5Y2hhbmdlRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOworICAgIGVucXVldWVEb2N1bWVudEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLnZpc2liaWxpdHljaGFuZ2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiAgICAgZm9yIChhdXRv
KiBjbGllbnQgOiBtX3Zpc2liaWxpdHlTdGF0ZUNhbGxiYWNrQ2xpZW50cykKICAgICAgICAgY2xp
ZW50LT52aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDE2
Y2VlOWM0ZjY5NTI2NWQyYWVjOWYzMTJhN2UwMDc0OTQ0ZTgyOTAuLjU0ZGY1NGJhOTM3ZmUzYmZm
OTMwOTQ2MWM0YWUwODlmZWIzYzA1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTcxMCwxMyAr
MTcxMCw2IEBAIHZvaWQgUGFnZTo6c2V0SXNWaXNpYmxlSW50ZXJuYWwoYm9vbCBpc1Zpc2libGUp
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBWZWN0b3I8UmVmPERvY3VtZW50Pj4gZG9jdW1lbnRz
OwotICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1fbWFpbkZyYW1lLmdldCgpOyBmcmFtZTsgZnJh
bWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKQotICAgICAgICBkb2N1bWVudHMuYXBw
ZW5kKCpmcmFtZS0+ZG9jdW1lbnQoKSk7Ci0KLSAgICBmb3IgKGF1dG8mIGRvY3VtZW50IDogZG9j
dW1lbnRzKQotICAgICAgICBkb2N1bWVudC0+dmlzaWJpbGl0eVN0YXRlQ2hhbmdlZCgpOwotCiAg
ICAgaWYgKCFpc1Zpc2libGUpIHsKICAgICAgICAgaWYgKG1fc2V0dGluZ3MtPmhpZGRlblBhZ2VD
U1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCgpKQogICAgICAgICAgICAgbWFpbkZyYW1lKCku
YW5pbWF0aW9uKCkuc3VzcGVuZEFuaW1hdGlvbnMoKTsKQEAgLTE3MzEsNiArMTcyNCwxMyBAQCB2
b2lkIFBhZ2U6OnNldElzVmlzaWJsZUludGVybmFsKGJvb2wgaXNWaXNpYmxlKQogICAgICAgICBp
ZiAoRnJhbWVWaWV3KiB2aWV3ID0gbWFpbkZyYW1lKCkudmlldygpKQogICAgICAgICAgICAgdmll
dy0+aGlkZSgpOwogICAgIH0KKworICAgIFZlY3RvcjxSZWY8RG9jdW1lbnQ+PiBkb2N1bWVudHM7
CisgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpCisgICAgICAgIGRvY3VtZW50cy5hcHBl
bmQoKmZyYW1lLT5kb2N1bWVudCgpKTsKKworICAgIGZvciAoYXV0byYgZG9jdW1lbnQgOiBkb2N1
bWVudHMpCisgICAgICAgIGRvY3VtZW50LT52aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKCk7CiB9CiAK
IHZvaWQgUGFnZTo6c2V0SXNQcmVyZW5kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCmluZGV4IDA1MWQzNWJjNGMzYWNkMWRlODVkNjdmOWNmMDJlZTMwYWY4ZTM2ZjEuLjM2YTM4
MTEzMjBhZGI3MWQ0NjIxM2JkNzg3N2Q3MWUwNzNmYzZlMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKQEAgLTExNjMsNiArMTE2MywxNSBAQCBkb3VibGUgSW50ZXJuYWxzOjpy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVJbnRlcnZhbCgpIGNvbnN0CiAgICAgcmV0dXJuIHNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci0+aW50ZXJ2YWwoKS52YWx1ZSgpOwogfQogCitib29sIEludGVy
bmFsczo6c2NyaXB0ZWRBbmltYXRpb25zQXJlU3VzcGVuZGVkKCkgY29uc3QKK3sKKyAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8
ICFkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBk
b2N1bWVudC0+cGFnZSgpLT5zY3JpcHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQoKTsKK30KKwogYm9v
bCBJbnRlcm5hbHM6OmFyZVRpbWVyc1Rocm90dGxlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNv
bnRleHREb2N1bWVudCgpLT5pc1RpbWVyVGhyb3R0bGluZ0VuYWJsZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCmluZGV4IDM5NDM2Nzg4NjAzMmRjZmU0NjYzZWZiZTA3Y2Q4YzMxMmFh
ZDU3NWYuLjIwODk1YWZlNDVmOGRlZjVmNjMxNDJlOWUxZTRhZWUzYWYzNDQ0NmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTUyLDYgKzE1Miw3IEBAIHB1YmxpYzoKICAgICBF
eGNlcHRpb25Pcjxib29sPiBpc1RpbWVyVGhyb3R0bGVkKGludCB0aW1lb3V0SWQpOwogICAgIGJv
b2wgaXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVUaHJvdHRsZWQoKSBjb25zdDsKICAgICBkb3VibGUg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBib29sIHNjcmlwdGVk
QW5pbWF0aW9uc0FyZVN1c3BlbmRlZCgpIGNvbnN0OwogICAgIGJvb2wgYXJlVGltZXJzVGhyb3R0
bGVkKCkgY29uc3Q7CiAKICAgICBlbnVtIEV2ZW50VGhyb3R0bGluZ0JlaGF2aW9yIHsgUmVzcG9u
c2l2ZSwgVW5yZXNwb25zaXZlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5k
ZXggYTBmZjk0NDU4ZWMxN2QxOGQyNmI2MTUwYjhiODVjY2E4NTc5YzNiMC4uY2I4M2I3ZDhhOTc1
N2QxMTc3OGU3ZDA3ZWVkNTAyYmRmOGU5NDU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbApAQCAtMzcwLDYgKzM3MCw3IEBAIGVudW0gRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3Ig
ewogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldExvd1Bvd2VyTW9kZUVuYWJsZWQo
Ym9vbGVhbiBlbmFibGVkKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlcXVlc3RB
bmltYXRpb25GcmFtZUludGVydmFsOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHNj
cmlwdGVkQW5pbWF0aW9uc0FyZVN1c3BlbmRlZDsKIAogICAgIC8vIE92ZXJyaWRlIHRoZSBiZWhh
dmlvciBvZiBXZWJQYWdlOjpldmVudFRocm90dGxpbmdEZWxheSgpLCB3aGljaCBvbmx5IGFmZmVj
dHMgaU9TLgogICAgIGF0dHJpYnV0ZSBFdmVudFRocm90dGxpbmdCZWhhdmlvcj8gZXZlbnRUaHJv
dHRsaW5nQmVoYXZpb3JPdmVycmlkZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYjY3MTY0YTVlYjA1NTA4OTI1YWQwMGFj
MTcwZWI1OTE3NDkyNjdlLi4yYTRiNDk0YzNiMmVhODc5MjI5NjY4NWU4ZTYwZTQyNjY4NjQ5ODcw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjLXdrMV0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGNh
bGxiYWNrcyBtYXkgbm90IGdldCBzZXJ2aWNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAg
ICAgICogZmFzdC9ldmVudHMvcGFnZS12aXNpYmlsaXR5LXRyYW5zaXRpb24tdGVzdC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvcGFnZS12aXNpYmlsaXR5LXRyYW5zaXRpb24t
dGVzdC5odG1sOgorCiAyMDE3LTA2LTIyICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1hcmsgcGVyZi9vYmplY3Qta2V5cy5odG1sIGFzIGZsYWt5IG9uIGlP
Uy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2UtdmlzaWJpbGl0eS10
cmFuc2l0aW9uLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFn
ZS12aXNpYmlsaXR5LXRyYW5zaXRpb24tdGVzdC1leHBlY3RlZC50eHQKaW5kZXggY2Q2YjA4OThl
MmEwMGFkZWEwYjM5ZjAxMDRlNDc0OTE2ZDZmODQ5My4uNDcxNmJlODY0ODNmZDFhMjY2MzA5MGJh
OTE3NDYwN2IxYmUwMjkxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFn
ZS12aXNpYmlsaXR5LXRyYW5zaXRpb24tdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcGFnZS12aXNpYmlsaXR5LXRyYW5zaXRpb24tdGVzdC1leHBlY3RlZC50
eHQKQEAgLTUsMTIgKzUsMTYgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBkb2N1
bWVudC52aXNpYmlsaXR5U3RhdGUgaXMgInZpc2libGUiCiBQQVNTIGRvY3VtZW50LmhpZGRlbiBp
cyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuc2NyaXB0ZWRBbmltYXRpb25zQXJlU3VzcGVuZGVkIGlz
IGZhbHNlCiBQQVNTIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSBpcyAiaGlkZGVuIgogUEFTUyBk
b2N1bWVudC5oaWRkZW4gaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuc2NyaXB0ZWRBbmltYXRpb25z
QXJlU3VzcGVuZGVkIGlzIHRydWUKIFBBU1MgZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGlzICJo
aWRkZW4iCiBQQVNTIGRvY3VtZW50LmhpZGRlbiBpcyB0cnVlCitQQVNTIGludGVybmFscy5zY3Jp
cHRlZEFuaW1hdGlvbnNBcmVTdXNwZW5kZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC52aXNpYmls
aXR5U3RhdGUgaXMgInZpc2libGUiCiBQQVNTIGRvY3VtZW50LmhpZGRlbiBpcyBmYWxzZQorUEFT
UyBpbnRlcm5hbHMuc2NyaXB0ZWRBbmltYXRpb25zQXJlU3VzcGVuZGVkIGlzIGZhbHNlCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2UtdmlzaWJpbGl0eS10cmFuc2l0aW9uLXRlc3Qu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2UtdmlzaWJpbGl0eS10cmFuc2l0aW9u
LXRlc3QuaHRtbAppbmRleCA1NDU2NTBjMjFkMjMxZGNjMzk0ZDlmNTY2NDkyNThlOWViOTI5ZjZj
Li40YjQ5YTI1ZWUzNDViOTY1MWE5NzU3ZTJkNzdkNGIzMzAyMjA3Nzc1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktdHJhbnNpdGlvbi10ZXN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZS12aXNpYmlsaXR5LXRyYW5zaXRp
b24tdGVzdC5odG1sCkBAIC0zMiwxMSArMzIsMTMgQEAgZnVuY3Rpb24gbWFrZVBhZ2VVbmxvYWRl
ZCgpIHsKIGZ1bmN0aW9uIGNoZWNrSXNQYWdlVmlzaWJsZSgpIHsKICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSIsICJ2aXNpYmxlIik7CiAgICAgc2hv
dWxkQmVGYWxzZSgiZG9jdW1lbnQuaGlkZGVuIik7CisgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJu
YWxzLnNjcmlwdGVkQW5pbWF0aW9uc0FyZVN1c3BlbmRlZCIpOwogfQogCiBmdW5jdGlvbiBjaGVj
a0lzUGFnZUhpZGRlbigpIHsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LnZp
c2liaWxpdHlTdGF0ZSIsICJoaWRkZW4iKTsKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50Lmhp
ZGRlbiIpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLnNjcmlwdGVkQW5pbWF0aW9uc0Fy
ZVN1c3BlbmRlZCIpOwogfQogCiAvLyBXZSB3aWxsIHRyeSB0byBjaGFuZ2UgdGhlIHZpc2liaWxp
dHkgc3RhdGVzIGFzOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>