<?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>224876</bug_id>
          
          <creation_ts>2021-04-21 09:54:38 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: context().isInitialized() ./Modules/webaudio/OfflineAudioDestinationNode.cpp(142)</short_desc>
          <delta_ts>2021-04-21 11:48:03 -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>Web Audio</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1752792</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-21 09:54:38 -0700</bug_when>
    <thetext>ASSERTION FAILED: context().isInitialized() ./Modules/webaudio/OfflineAudioDestinationNode.cpp(142):
Thread 9 Crashed:: WebCore: AudioWorklet
0   com.apple.JavaScriptCore      	0x0000000747259d3e WTFCrash + 14 (Assertions.cpp:305)
1   com.apple.WebCore             	0x000000072922b87b WTFCrashWithInfo(int, char const*, char const*, int) + 27 (Assertions.h:671)
2   com.apple.WebCore             	0x000000072b6f197f WebCore::OfflineAudioDestinationNode::offlineRender() + 367 (OfflineAudioDestinationNode.cpp:142)
3   com.apple.WebCore             	0x000000072b70c673 WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler&lt;void (WTF::Optional&lt;WebCore::Exception&gt;&amp;&amp;)&gt;&amp;&amp;)::$_3::operator()() + 35 (OfflineAudioDestinationNode.cpp:103)
4   com.apple.WebCore             	0x000000072b70c649 WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler&lt;void (WTF::Optional&lt;WebCore::Exception&gt;&amp;&amp;)&gt;&amp;&amp;)::$_4::operator()(WebCore::ScriptExecutionContext&amp;) + 25 (OfflineAudioDestinationNode.cpp:124)
5   com.apple.WebCore             	0x000000072b70c5a3 WTF::Detail::CallableWrapper&lt;WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler&lt;void (WTF::Optional&lt;WebCore::Exception&gt;&amp;&amp;)&gt;&amp;&amp;)::$_4, void, WebCore::ScriptExecutionContext&amp;&gt;::call(WebCore::ScriptExecutionContext&amp;) + 51 (Function.h:52)
6   com.apple.WebCore             	0x000000072b9bd16a WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::operator()(WebCore::ScriptExecutionContext&amp;) const + 154 (Function.h:83)
7   com.apple.WebCore             	0x000000072b9a89ad WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&amp;) + 29 (ScriptExecutionContext.h:203)
8   com.apple.WebCore             	0x000000072e13e9d0 WebCore::WorkerRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*) + 128 (WorkerRunLoop.cpp:270)
9   com.apple.WebCore             	0x000000072e13e037 WebCore::WorkerRunLoop::runInMode(WebCore::WorkerOrWorkletGlobalScope*, WebCore::ModePredicate const&amp;, WebCore::WorkerRunLoop::WaitMode) + 871 (WorkerRunLoop.cpp:209)
10  com.apple.WebCore             	0x000000072e13d058 WebCore::WorkerRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*) + 88 (WorkerRunLoop.cpp:143)
11  com.apple.WebCore             	0x000000072e13cff8 WebCore::WorkerOrWorkletThread::runEventLoop() + 56 (WorkerOrWorkletThread.cpp:89)
12  com.apple.WebCore             	0x000000072e13d2b0 WebCore::WorkerOrWorkletThread::workerOrWorkletThread() + 544 (WorkerOrWorkletThread.cpp:146)
13  com.apple.WebCore             	0x000000072b6af4ab WebCore::AudioWorkletThread::createThread()::$_7::operator()() const + 27 (AudioWorkletThread.cpp:68)
14  com.apple.WebCore             	0x000000072b6af43e WTF::Detail::CallableWrapper&lt;WebCore::AudioWorkletThread::createThread()::$_7, void&gt;::call() + 30 (Function.h:52)
15  com.apple.JavaScriptCore      	0x0000000747282712 WTF::Function&lt;void ()&gt;::operator()() const + 130 (Function.h:83)
16  com.apple.JavaScriptCore      	0x0000000747338fd8 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 424 (Threading.cpp:183)
17  com.apple.JavaScriptCore      	0x00000007473451a8 WTF::wtfThreadEntryPoint(void*) + 24 (ThreadingPOSIX.cpp:241)
18  libsystem_pthread.dylib       	0x00007fff203868fc _pthread_start + 224
19  libsystem_pthread.dylib       	0x00007fff20382443 thread_start + 15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752793</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-21 09:54:47 -0700</bug_when>
    <thetext>&lt;rdar://76896256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752806</commentid>
    <comment_count>2</comment_count>
      <attachid>426707</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-21 10:15:41 -0700</bug_when>
    <thetext>Created attachment 426707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752812</commentid>
    <comment_count>3</comment_count>
      <attachid>426707</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-04-21 10:21:46 -0700</bug_when>
    <thetext>Comment on attachment 426707
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        worket is used, m_renderThread is null and no synchronization with the AudioWorklet

s/worket/worklet/g.

&gt; Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.cpp:86
&gt; +            BinarySemaphore semaphore;

Looks like we can use `callOnMainRunLoopAndWait` here? I mean without the semaphore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752813</commentid>
    <comment_count>4</comment_count>
      <attachid>426707</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-21 10:24:59 -0700</bug_when>
    <thetext>Comment on attachment 426707
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.cpp:86
&gt;&gt; +            BinarySemaphore semaphore;
&gt; 
&gt; Looks like we can use `callOnMainRunLoopAndWait` here? I mean without the semaphore.

No because I am not dispatching to the main RunLoop. I am dispatching to the AudioWorklet thread&apos;s RunLoop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752814</commentid>
    <comment_count>5</comment_count>
      <attachid>426710</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-21 10:26:41 -0700</bug_when>
    <thetext>Created attachment 426710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752843</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-21 11:48:01 -0700</bug_when>
    <thetext>Committed r276379 (236854@main): &lt;https://commits.webkit.org/236854@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426710.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426707</attachid>
            <date>2021-04-21 10:15:41 -0700</date>
            <delta_ts>2021-04-21 10:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224876-20210421101541.patch</filename>
            <type>text/plain</type>
            <size>5110</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiY2I5Mjk5ZGEzMGRh
OWYwZjkxNzdkOTczYWExYTI1ODM4ZDdjNy4uNDNiODhmNDZkNmYyMWViYjg3MGE5MTNjMDJmYmI3
NzNkYjgzZmNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA0LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
Y29udGV4dCgpLmlzSW5pdGlhbGl6ZWQoKSAuL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcCgxNDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ4NzYKKyAgICAgICAgPHJkYXI6Ly83Njg5NjI1Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSgpLCB3ZSB3ZXJlIHN5bmNocm9uaXppbmcg
d2l0aCB0aGUKKyAgICAgICAgcmVuZGVyIHRocmVhZCB0byBtYWtlIHN1cmUgdGhhdCBPZmZsaW5l
QXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXIoKSB3YXMKKyAgICAgICAgZG9uZSBy
dW5uaW5nIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggdW5pbml0aWFsaXphdGlvbi4gSG93ZXZlciwg
d2hlbiBhbiBhdWRpbworICAgICAgICB3b3JrZXQgaXMgdXNlZCwgbV9yZW5kZXJUaHJlYWQgaXMg
bnVsbCBhbmQgbm8gc3luY2hyb25pemF0aW9uIHdpdGggdGhlIEF1ZGlvV29ya2xldAorICAgICAg
ICB0aHJlYWQgd291bGQgaGFwcGVuLiBUaGlzIHBhdGNoIGFkZHMgdGhlIG1pc3Npbmcgc3luY2hy
b25pemF0aW9uIHdpdGggdGhlIEF1ZGlvV29ya2xldAorICAgICAgICB0aHJlYWQgd2hlbiBwcmVz
ZW50LgorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGlu
ZWF1ZGlvY29udGV4dC11bmluaXRpYWxpemVkLWNyYXNoLmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKToKKwogMjAy
MS0wNC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEdQVVBy
b2Nlc3MgbGF1bmNoZXMgdW5uZWNlc3NhcmlseSB3aGVuIGxvYWRpbmcgdGhlIGFtYXpvbiBmcm9u
dCBwYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxp
bmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggZjQxZmI4MDJkYWRjNDM1
OGU2NTFlYzMxZmViNDZkMzI0MDQ3YzliZi4uNGQ4ZDVhOGQ5ZjZmODJjNDYzZTY4MDFkNjc1OGMx
MjdmODM3NWNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMzgsNiArMzgs
NyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RocmVhZHMv
QmluYXJ5U2VtYXBob3JlLmg+CiAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc2LDkgKzc3
LDE4IEBAIHZvaWQgT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmluaXRpYWxpemUoKQog
ICAgIGlmICghaXNJbml0aWFsaXplZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9y
ZW5kZXJUaHJlYWQpIHsKLSAgICAgICAgbV9yZW5kZXJUaHJlYWQtPndhaXRGb3JDb21wbGV0aW9u
KCk7Ci0gICAgICAgIG1fcmVuZGVyVGhyZWFkID0gbnVsbHB0cjsKKyAgICBpZiAobV9zdGFydGVk
UmVuZGVyaW5nKSB7CisgICAgICAgIGlmIChtX3JlbmRlclRocmVhZCkgeworICAgICAgICAgICAg
bV9yZW5kZXJUaHJlYWQtPndhaXRGb3JDb21wbGV0aW9uKCk7CisgICAgICAgICAgICBtX3JlbmRl
clRocmVhZCA9IG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGF1dG8qIHdvcmtsZXRQ
cm94eSA9IGNvbnRleHQoKS5hdWRpb1dvcmtsZXQoKS5wcm94eSgpKSB7CisgICAgICAgICAgICBC
aW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOworICAgICAgICAgICAgd29ya2xldFByb3h5LT5wb3N0
VGFza0Zvck1vZGVUb1dvcmtsZXRHbG9iYWxTY29wZShbJnNlbWFwaG9yZV0oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpIG11dGFibGUgeworICAgICAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwo
KTsKKyAgICAgICAgICAgIH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOworICAgICAg
ICAgICAgc2VtYXBob3JlLndhaXQoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEF1ZGlvTm9k
ZTo6dW5pbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGZmNjVhM2I3ZjNlY2MzMGRiOTgxMTAxZmQwNTcz
MTJkOThkYjVkYS4uYmQ3YWQ2OGNhMDJmNTM4ODIyMDQ4MjQzNWYxZDcxY2JiNTRlNjIyNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTIxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogY29udGV4dCgpLmlzSW5pdGlhbGl6
ZWQoKSAuL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCgx
NDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ4
NzYKKyAgICAgICAgPHJkYXI6Ly83Njg5NjI1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAg
ICAgKiB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtdW5p
bml0aWFsaXplZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlv
L09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC11bmluaXRpYWxpemVkLWNy
YXNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTIwICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhp
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjc1NTIzKTogW2lPU10gT3BhcXVl
IHN5c3RlbSBmaWxsIGNvbG9ycyBhcmUgaW5jb3JyZWN0IGluIGRhcmsgbW9kZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9j
b250ZXh0LXVuaW5pdGlhbGl6ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LXVuaW5pdGlhbGl6
ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NGRkZjdmMTdlZmFiNThlNDJmYWJl
Mzg1MjU3OTY0YWUyYzVkNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRp
by9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtdW5pbml0aWFsaXplZC1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBk
b2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL09mZmxpbmVB
dWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC11bmluaXRpYWxpemVkLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2Nv
bnRleHQtdW5pbml0aWFsaXplZC1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyYTEwNTFiZDcwNjUw
MzY2MGZiZGNiYmE5MWRiMWZhMzMyYjhmNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtdW5pbml0
aWFsaXplZC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzxwPlRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lcyBub3QgY3Jhc2guPC9wPgorPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgIG9ubG9hZCA9IGFzeW5jICgp
ID0+IHsKKyAgICBsZXQgY29udGV4dHMgPSBbXTsKKyAgICBvbnVubG9hZCA9ICgpID0+IHsKKyAg
ICAgIHdoaWxlIChjb250ZXh0cy5sZW5ndGgpIHsKKyAgICAgICAgbGV0IGN0eCA9IGNvbnRleHRz
LnBvcCgpOworICAgICAgICBjdHguc3RhcnRSZW5kZXJpbmcoKTsKKyAgICAgIH0KKyAgICB9Owor
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgaSsrKSB7CisgICAgICBsZXQgb2ZmbGluZUF1
ZGlvQ29udGV4dCA9IG5ldyBPZmZsaW5lQXVkaW9Db250ZXh0KHsKKyAgICAgICAgbGVuZ3RoOiAx
LAorICAgICAgICBzYW1wbGVSYXRlOiAzMDAwCisgICAgICB9KTsKKyAgICAgIGNvbnRleHRzLnB1
c2gob2ZmbGluZUF1ZGlvQ29udGV4dCk7CisgICAgICB0cnkgeworICAgICAgICBhd2FpdCBvZmZs
aW5lQXVkaW9Db250ZXh0LmF1ZGlvV29ya2xldC5hZGRNb2R1bGUoJycpOworICAgICAgfSBjYXRj
aCB7CisgICAgICB9CisgICAgfQorICB9OworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426710</attachid>
            <date>2021-04-21 10:26:41 -0700</date>
            <delta_ts>2021-04-21 11:48:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>224876.patch</filename>
            <type>text/plain</type>
            <size>5111</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiY2I5Mjk5ZGEzMGRh
OWYwZjkxNzdkOTczYWExYTI1ODM4ZDdjNy4uNDNiODhmNDZkNmYyMWViYjg3MGE5MTNjMDJmYmI3
NzNkYjgzZmNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA0LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
Y29udGV4dCgpLmlzSW5pdGlhbGl6ZWQoKSAuL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcCgxNDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ4NzYKKyAgICAgICAgPHJkYXI6Ly83Njg5NjI1Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSgpLCB3ZSB3ZXJlIHN5bmNocm9uaXppbmcg
d2l0aCB0aGUKKyAgICAgICAgcmVuZGVyIHRocmVhZCB0byBtYWtlIHN1cmUgdGhhdCBPZmZsaW5l
QXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXIoKSB3YXMKKyAgICAgICAgZG9uZSBy
dW5uaW5nIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggdW5pbml0aWFsaXphdGlvbi4gSG93ZXZlciwg
d2hlbiBhbiBhdWRpbworICAgICAgICB3b3JrbGV0IGlzIHVzZWQsIG1fcmVuZGVyVGhyZWFkIGlz
IG51bGwgYW5kIG5vIHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBBdWRpb1dvcmtsZXQKKyAgICAg
ICAgdGhyZWFkIHdvdWxkIGhhcHBlbi4gVGhpcyBwYXRjaCBhZGRzIHRoZSBtaXNzaW5nIHN5bmNo
cm9uaXphdGlvbiB3aXRoIHRoZSBBdWRpb1dvcmtsZXQKKyAgICAgICAgdGhyZWFkIHdoZW4gcHJl
c2VudC4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxp
bmVhdWRpb2NvbnRleHQtdW5pbml0aWFsaXplZC1jcmFzaC5odG1sCisKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSk6CisKIDIw
MjEtMDQtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQ
cm9jZXNzIGxhdW5jaGVzIHVubmVjZXNzYXJpbHkgd2hlbiBsb2FkaW5nIHRoZSBhbWF6b24gZnJv
bnQgcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZs
aW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IGY0MWZiODAyZGFkYzQz
NThlNjUxZWMzMWZlYjQ2ZDMyNDA0N2M5YmYuLjRkOGQ1YThkOWY2ZjgyYzQ2M2U2ODAxZDY3NThj
MTI3ZjgzNzVjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRz
L0JpbmFyeVNlbWFwaG9yZS5oPgogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03Niw5ICs3
NywxOCBAQCB2b2lkIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKCkK
ICAgICBpZiAoIWlzSW5pdGlhbGl6ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1f
cmVuZGVyVGhyZWFkKSB7Ci0gICAgICAgIG1fcmVuZGVyVGhyZWFkLT53YWl0Rm9yQ29tcGxldGlv
bigpOwotICAgICAgICBtX3JlbmRlclRocmVhZCA9IG51bGxwdHI7CisgICAgaWYgKG1fc3RhcnRl
ZFJlbmRlcmluZykgeworICAgICAgICBpZiAobV9yZW5kZXJUaHJlYWQpIHsKKyAgICAgICAgICAg
IG1fcmVuZGVyVGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOworICAgICAgICAgICAgbV9yZW5k
ZXJUaHJlYWQgPSBudWxscHRyOworICAgICAgICB9CisgICAgICAgIGlmIChhdXRvKiB3b3JrbGV0
UHJveHkgPSBjb250ZXh0KCkuYXVkaW9Xb3JrbGV0KCkucHJveHkoKSkgeworICAgICAgICAgICAg
QmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKKyAgICAgICAgICAgIHdvcmtsZXRQcm94eS0+cG9z
dFRhc2tGb3JNb2RlVG9Xb3JrbGV0R2xvYmFsU2NvcGUoWyZzZW1hcGhvcmVdKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBzZW1hcGhvcmUuc2lnbmFs
KCk7CisgICAgICAgICAgICB9LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAgICAg
ICAgICAgIHNlbWFwaG9yZS53YWl0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBBdWRpb05v
ZGU6OnVuaW5pdGlhbGl6ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBmZjY1YTNiN2YzZWNjMzBkYjk4MTEwMWZkMDU3
MzEyZDk4ZGI1ZGEuLmJkN2FkNjhjYTAyZjUzODgyMjA0ODI0MzVmMWQ3MWNiYjU0ZTYyMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IGNvbnRleHQoKS5pc0luaXRpYWxp
emVkKCkgLi9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAo
MTQyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0
ODc2CisgICAgICAgIDxyZGFyOi8vNzY4OTYyNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAg
ICAgICogd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LXVu
aW5pdGlhbGl6ZWQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRp
by9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtdW5pbml0aWFsaXplZC1j
cmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wNC0yMCAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRo
aUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3NTUyMyk6IFtpT1NdIE9wYXF1
ZSBzeXN0ZW0gZmlsbCBjb2xvcnMgYXJlIGluY29ycmVjdCBpbiBkYXJrIG1vZGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlv
Y29udGV4dC11bmluaXRpYWxpemVkLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC11bmluaXRpYWxp
emVkLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTRkZGY3ZjE3ZWZhYjU4ZTQyZmFi
ZTM4NTI1Nzk2NGFlMmM1ZDQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LXVuaW5pdGlhbGl6ZWQt
Y3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQg
ZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5l
QXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtdW5pbml0aWFsaXplZC1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9j
b250ZXh0LXVuaW5pdGlhbGl6ZWQtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmExMDUxYmQ3MDY1
MDM2NjBmYmRjYmJhOTFkYjFmYTMzMmI4ZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LXVuaW5p
dGlhbGl6ZWQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDI3IEBACis8cD5UaGlzIHRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxzY3JpcHQ+CisgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICBvbmxvYWQgPSBhc3luYyAo
KSA9PiB7CisgICAgbGV0IGNvbnRleHRzID0gW107CisgICAgb251bmxvYWQgPSAoKSA9PiB7Cisg
ICAgICB3aGlsZSAoY29udGV4dHMubGVuZ3RoKSB7CisgICAgICAgIGxldCBjdHggPSBjb250ZXh0
cy5wb3AoKTsKKyAgICAgICAgY3R4LnN0YXJ0UmVuZGVyaW5nKCk7CisgICAgICB9CisgICAgfTsK
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7IGkrKykgeworICAgICAgbGV0IG9mZmxpbmVB
dWRpb0NvbnRleHQgPSBuZXcgT2ZmbGluZUF1ZGlvQ29udGV4dCh7CisgICAgICAgIGxlbmd0aDog
MSwKKyAgICAgICAgc2FtcGxlUmF0ZTogMzAwMAorICAgICAgfSk7CisgICAgICBjb250ZXh0cy5w
dXNoKG9mZmxpbmVBdWRpb0NvbnRleHQpOworICAgICAgdHJ5IHsKKyAgICAgICAgYXdhaXQgb2Zm
bGluZUF1ZGlvQ29udGV4dC5hdWRpb1dvcmtsZXQuYWRkTW9kdWxlKCcnKTsKKyAgICAgIH0gY2F0
Y2ggeworICAgICAgfQorICAgIH0KKyAgfTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>