<?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>224744</bug_id>
          
          <creation_ts>2021-04-19 02:42:06 -0700</creation_ts>
          <short_desc>[GPU Process] Closing the GPU Process should clean all the back pointers from ItemBuffer to RemoteRenderingBackendProxy</short_desc>
          <delta_ts>2021-05-07 00:44:40 -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>Canvas</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="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>dino</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751713</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-19 02:42:06 -0700</bug_when>
    <thetext>SHOULD NEVER BE REACHED in void WebKit::RemoteRenderingBackendProxy::didAppendData

WebContent process crashes after GPU process crashes.
First ASSERT is for GPU process crash.
Second ASSERT is for this bug, WebContent process crash.

ASSERTION FAILED: MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)
./platform/graphics/cg/ImageBufferCGBackend.cpp(176) : virtual RetainPtr&lt;CFDataRef&gt; WebCore::ImageBufferCGBackend::toCFData(const WTF::String &amp;, Optional&lt;double&gt;, WebCore::PreserveResolution) const
1   0x1274ab0cc WTFCrash
2   0x138616b04 WebCore::JSDOMSelection::createPrototype(JSC::VM&amp;, WebCore::JSDOMGlobalObject&amp;)
3   0x13bd60f28 WebCore::ImageBufferCGBackend::toCFData(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution) const
4   0x13bd71a84 WebCore::ImageBufferIOSurfaceBackend::toCFData(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution) const
5   0x13bd61afc WebCore::ImageBufferCGBackend::toDataURL(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution) const
6   0x110a66a0c WebCore::ConcreteImageBuffer&lt;WebKit::ImageBufferShareableMappedIOSurfaceBackend&gt;::toDataURL(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution) const
7   0x110a57910 WebKit::RemoteRenderingBackend::getDataURLForImageBuffer(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;)
8   0x110a1c1a8 void IPC::callMemberFunctionImpl&lt;WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;), void (WTF::String const&amp;), std::__1::tuple&lt;WTF::String, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt; &gt;, 0ul, 1ul, 2ul, 3ul&gt;(WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;), WTF::CompletionHandler&lt;void (WTF::String const&amp;)&gt;&amp;&amp;, std::__1::tuple&lt;WTF::String, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt; &gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul&gt;)
9   0x110a19820 void IPC::callMemberFunction&lt;WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;), void (WTF::String const&amp;), std::__1::tuple&lt;WTF::String, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt; &gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul&gt; &gt;(std::__1::tuple&lt;WTF::String, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt; &gt;&amp;&amp;, WTF::CompletionHandler&lt;void (WTF::String const&amp;)&gt;&amp;&amp;, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;))
10  0x110a0007c bool IPC::handleMessageSynchronous&lt;Messages::RemoteRenderingBackend::GetDataURLForImageBuffer, WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::String const&amp;, WTF::Optional&lt;double&gt;, WebCore::PreserveResolution, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;, WTF::CompletionHandler&lt;void (WTF::String&amp;&amp;)&gt;&amp;&amp;))
11  0x1109ffa44 WebKit::RemoteRenderingBackend::didReceiveSyncMessage(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;)
12  0x10ffbb5e8 IPC::Connection::dispatchMessageReceiverMessage(IPC::MessageReceiver&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;)
13  0x10ffc4014 IPC::WorkQueueMessageReceiverQueue::enqueueMessage(IPC::Connection&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;)::&apos;lambda&apos;()::operator()()
14  0x10ffc3cec WTF::Detail::CallableWrapper&lt;IPC::WorkQueueMessageReceiverQueue::enqueueMessage(IPC::Connection&amp;, std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;&amp;&amp;)::&apos;lambda&apos;(), void&gt;::call()
15  0x1274cddc4 WTF::Function&lt;void ()&gt;::operator()() const
16  0x1275c7810 WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0::operator()() const
17  0x1275c7ae0 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void*)::operator()(void*) const
18  0x1275c7ab0 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void*)::__invoke(void*)
19  0x1951f8d70 _dispatch_call_block_and_release
20  0x1951fab74 _dispatch_client_callout
21  0x195202750 _dispatch_lane_serial_drain
22  0x195203354 _dispatch_lane_invoke
23  0x19520e3a8 _dispatch_workloop_worker_thread
24  0x1953b4d48 _pthread_wqthread
25  0x1953b3a5c start_wqthread
2021-04-19 12:38:42.760 com.apple.WebKit.WebContent.Development[40260:4915662] XType: com.apple.fonts is not accessible.
2021-04-19 12:38:42.760 com.apple.WebKit.WebContent.Development[40260:4915662] XType: XTFontStaticRegistry is enabled.
SHOULD NEVER BE REACHED
/Users/kkinnunen/WebKit/OpenSource/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp(325) : void WebKit::RemoteRenderingBackendProxy::didAppendData(const DisplayList::ItemBufferHandle &amp;, size_t, DisplayList::DidChangeItemBuffer, WebCore::RenderingResourceIdentifier)
1   0x129bdb0cc WTFCrash
2   0x11286d184 WTF::Optional&lt;JSC::JSValue&gt;::Optional(JSC::JSValue&amp;&amp;)
3   0x114225d68 WebKit::RemoteRenderingBackendProxy::didAppendData(WebCore::DisplayList::ItemBufferHandle const&amp;, unsigned long, WebCore::DisplayList::DidChangeItemBuffer, WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt;)
4   0x1142ced44 WebKit::RemoteImageBufferProxy&lt;WebKit::ImageBufferShareableMappedIOSurfaceBackend&gt;::didAppendData(WebCore::DisplayList::ItemBufferHandle const&amp;, unsigned long, WebCore::DisplayList::DidChangeItemBuffer)
5   0x13e524d9c WebCore::DisplayList::ItemBuffer::didAppendData(unsigned long, WebCore::DisplayList::DidChangeItemBuffer)
6   0x13e54acb4 void WebCore::DisplayList::ItemBuffer::uncheckedAppend&lt;WebCore::DisplayList::Save&gt;(WebCore::DisplayList::DidChangeItemBuffer)
7   0x13e54ac4c void WebCore::DisplayList::ItemBuffer::append&lt;WebCore::DisplayList::Save&gt;()
8   0x13e54abf0 void WebCore::DisplayList::DisplayList::append&lt;WebCore::DisplayList::Save&gt;()
9   0x13e52c9f4 void WebCore::DisplayList::Recorder::append&lt;WebCore::DisplayList::Save&gt;()
10  0x13e52c974 WebCore::DisplayList::Recorder::save()
11  0x13e37b644 WebCore::GraphicsContext::save()
12  0x13a94dbd0 WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver(WebCore::GraphicsContext&amp;, bool)
13  0x13a93cba0 WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver(WebCore::GraphicsContext&amp;, bool)
14  0x13e48df74 WebCore::GraphicsContextGLOpenGL::paintToCanvas(WebCore::GraphicsContextGLAttributes const&amp;, WTF::Ref&lt;WebCore::ImageData, WTF::RawPtrTraits&lt;WebCore::ImageData&gt; &gt;&amp;&amp;, WebCore::IntSize const&amp;, WebCore::GraphicsContext&amp;)
15  0x13e591410 WebCore::GraphicsContextGLOpenGL::paintRenderingResultsToCanvas(WebCore::ImageBuffer&amp;)
16  0x13d9161fc WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas()
17  0x13d64429c WebCore::CanvasBase::makeRenderingResultsAvailable()
18  0x13d6ac4e4 WebCore::HTMLCanvasElement::toDataURL(WTF::String const&amp;, JSC::JSValue)
19  0x13b0befe4 WebCore::jsHTMLCanvasElementPrototypeFunction_toDataURLBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSHTMLCanvasElement*)
20  0x13b0becc4 long long WebCore::IDLOperation&lt;WebCore::JSHTMLCanvasElement&gt;::call&lt;&amp;(WebCore::jsHTMLCanvasElementPrototypeFunction_toDataURLBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSHTMLCanvasElement*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)
21  0x13b0bbcec WebCore::jsHTMLCanvasElementPrototypeFunction_toDataURL(JSC::JSGlobalObject*, JSC::CallFrame*)
22  0x280004c04
23  0x280004008
24  0x280004008
25  0x280004008
26  0x280004728
27  0x12b5e90ac JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
28  0x12aeb83a4 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
29  0x12b210ba4 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
30  0x12b210c60 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
31  0x12b210f7c JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751888</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-04-19 11:53:58 -0700</bug_when>
    <thetext>&lt;rdar://76286963&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752161</commentid>
    <comment_count>2</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-20 00:31:11 -0700</bug_when>
    <thetext>The rdar link is wrong.
As said:

First ASSERT is for GPU process crash. &lt;rdar://76286963&gt;

Second ASSERT is for this bug, WebContent process crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753673</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-04-23 12:09:35 -0700</bug_when>
    <thetext>Removing InRadar keyword so that this get re-imported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753697</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-23 13:10:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/77083169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757605</commentid>
    <comment_count>5</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-06 13:32:04 -0700</bug_when>
    <thetext>&lt;rdar://74592639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757623</commentid>
    <comment_count>6</comment_count>
      <attachid>427932</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-06 13:50:16 -0700</bug_when>
    <thetext>Created attachment 427932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757625</commentid>
    <comment_count>7</comment_count>
      <attachid>427932</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-05-06 13:53:53 -0700</bug_when>
    <thetext>Comment on attachment 427932
Patch

Maybe separately these should all be WeakPtr-y things?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757714</commentid>
    <comment_count>8</comment_count>
      <attachid>427932</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-06 16:41:56 -0700</bug_when>
    <thetext>Comment on attachment 427932
Patch

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

&gt; Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h:95
&gt; +        m_drawingContext.recorder().clearDelegate();
&gt; +
&gt; +        m_drawingContext.displayList().setItemBufferWritingClient(nullptr);
&gt; +        m_drawingContext.displayList().setItemBufferReadingClient(nullptr);

These lines caused the API test GPUProcess.CanvasBasicCrashHandling to fail. They should not be here because the RemoteRenderingBackendProxy will try to recreate the backend of the RemoteImageBufferProxy after it calls clearBackend(). Once it&apos;s recreated the DisplayList::Recorder will need the delegate and the DisplayList::DisplayList will need the writing client to create new ItemBufferHandles.

So these pointers should stay as they are since they are always valid. They point to the RemoteRenderingBackendProxy and the RemoteRenderingBackendProxy owns the DisplayList and its Recorder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757716</commentid>
    <comment_count>9</comment_count>
      <attachid>427957</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-06 16:43:21 -0700</bug_when>
    <thetext>Created attachment 427957
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757803</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-07 00:44:38 -0700</bug_when>
    <thetext>Committed r277162 (237448@main): &lt;https://commits.webkit.org/237448@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427957.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427932</attachid>
            <date>2021-05-06 13:50:16 -0700</date>
            <delta_ts>2021-05-06 16:43:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224744-20210506135015.patch</filename>
            <type>text/plain</type>
            <size>3015</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE5M2FjYWEyZWZhMDU4
NTI3YzQwYzAwOGEzZDEzZWY5NmZmZWM0MS4uMjNiMmExNjA4NTgwOWU1NDI4MjMzMjc4YWFmYmJm
NTI0ZThjYWI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTA2ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
Q2xvc2luZyB0aGUgR1BVIFByb2Nlc3Mgc2hvdWxkIGNsZWFyIGFsbCB0aGUgYmFjayBwb2ludGVy
cyBmcm9tIEl0ZW1CdWZmZXIgdG8gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWNhdXNlIFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZSgpIGNsZWFy
cworICAgICAgICB0aGUgYmFja2VuZHMgb2YgaXRzIFJlbW90ZUltYWdlQnVmZmVyUHJveHlzLCBj
bGVhckJhY2tlbmQoKSBzaG91bGQgZW5zdXJlCisgICAgICAgIERpc3BsYXlMaXN0OjpSZWNvcmRl
cjo6bV9kZWxlZ2F0ZSwgRGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXI6Om1fcmVhZGluZ0NsaWVudAor
ICAgICAgICBhbmQgRGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXI6Om1fd3JpdGluZ0NsaWVudCBhcmUg
Y2xlYXJlZCBzaW5jZSB0aGV5IGFsbAorICAgICAgICBwb2ludCB0byB0aGUgUmVtb3RlSW1hZ2VC
dWZmZXJQcm94eS4KKworICAgICAgICBjbGVhckJhY2tlbmQoKSBhbHNvIG5lZWQgdG8gY2xlYXIg
RGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXI6Om1fd3JpdGFibGVCdWZmZXIKKyAgICAgICAgYmVjYXVz
ZSBhbGwgdGhlIFNoYXJlZE1lbW9yeSBhcmUgY2xlYXJlZCBieSBncHVQcm9jZXNzQ29ubmVjdGlv
bkRpZENsb3NlKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6UmVjb3JkZXI6OmNsZWFyRGVsZWdhdGUpOgorCiAyMDIxLTA1LTA2ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViQXVkaW9dW0dT
dHJlYW1lcl0gc29ja2V0cGFpciBsZWFrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdElt
YWdlQnVmZmVyLmgKaW5kZXggN2NmMGJhNzNkYWZmZTk0MzNhOGVhM2M2M2Y1Mzg1MWU3YWYxMDYz
OC4uZjVjMmVlOWJiMWExYTg3ZjIzMzEzMDU4ZjBhZGY1ZGExZDE4M2NlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCkBAIC04Niw2ICs4NiwxNyBAQCBwdWJs
aWM6CiAgICAgICAgIGlmICghbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpLmlzRW1wdHko
KSkKICAgICAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQucmVwbGF5RGlzcGxheUxpc3QoQmFzZUNv
bmNyZXRlSW1hZ2VCdWZmZXI6OmNvbnRleHQoKSk7CiAgICAgfQorICAgIAorICAgIHZvaWQgY2xl
YXJCYWNrZW5kKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIG1fZHJhd2luZ0NvbnRleHQucmVj
b3JkZXIoKS5jbGVhckRlbGVnYXRlKCk7CisKKyAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5kaXNw
bGF5TGlzdCgpLnNldEl0ZW1CdWZmZXJXcml0aW5nQ2xpZW50KG51bGxwdHIpOworICAgICAgICBt
X2RyYXdpbmdDb250ZXh0LmRpc3BsYXlMaXN0KCkuc2V0SXRlbUJ1ZmZlclJlYWRpbmdDbGllbnQo
bnVsbHB0cik7CisgICAgICAgIG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKS5jbGVhcigp
OworCisgICAgICAgIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjpjbGVhckJhY2tlbmQoKTsKKyAg
ICB9CiAKIHByb3RlY3RlZDoKICAgICBEcmF3aW5nQ29udGV4dCBtX2RyYXdpbmdDb250ZXh0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0UmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKaW5kZXggMDY1MDUwNmJjOTRjYTNj
ZmE4MGE2NDQxNjFiMWQwNDNiM2E5MDYzYi4uMGU1YjM0MGYxZjY3MGYyYmUwMDZmY2M3YmEwM2Mx
YmY3NDBkMGNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCkBAIC03
Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdm9pZCBmbHVzaENvbnRleHQoRmx1
c2hJZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgYXBwZW5kPEZsdXNoQ29udGV4dD4oaWRlbnRpZmll
cik7IH0KKyAgICB2b2lkIGNsZWFyRGVsZWdhdGUoKSB7IG1fZGVsZWdhdGUgPSBudWxscHRyOyB9
CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIERyYXdHbHlwaHNSZWNvcmRlcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427957</attachid>
            <date>2021-05-06 16:43:21 -0700</date>
            <delta_ts>2021-05-07 00:44:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224744-20210506164320.patch</filename>
            <type>text/plain</type>
            <size>1890</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE5M2FjYWEyZWZhMDU4
NTI3YzQwYzAwOGEzZDEzZWY5NmZmZWM0MS4uNjBhM2FhMzdhNDliZWE1YTcxMWUyZDcyZGNlMzU1
M2EwMzU2YzQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA1LTA2ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
Q2xvc2luZyB0aGUgR1BVIFByb2Nlc3Mgc2hvdWxkIGNsZWFyIGFsbCB0aGUgYmFjayBwb2ludGVy
cyBmcm9tIEl0ZW1CdWZmZXIgdG8gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDQKKyAgICAgICAg
PHJkYXI6Ly83NDU5MjYzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdwdVByb2Nlc3NDb25uZWN0
aW9uRGlkQ2xvc2UoKSBjbGVhcnMgdGhlCisgICAgICAgIHRoZSBiYWNrZW5kcyBvZiBhbGwgaXRz
IFJlbW90ZUltYWdlQnVmZmVyUHJveHlzLiBJdCBhbHNvIGNsZWFycyBhbGwgdGhlCisgICAgICAg
IFNoYXJlZE1lbW9yeSB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSB0aGUgSXRlbUJ1ZmZlckhhbmRs
ZXMuCisKKyAgICAgICAgU28gRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyOjpjbGVhckJhY2tlbmQo
KSBzaG91bGQgY2xlYXIgYWxsIHRoZQorICAgICAgICBJdGVtQnVmZmVySGFuZGxlcyBvZiBpdHMg
RGlzcGxheUxpc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorCiAyMDIxLTA1LTA2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViQXVkaW9dW0dTdHJlYW1lcl0g
c29ja2V0cGFpciBsZWFrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVy
LmgKaW5kZXggN2NmMGJhNzNkYWZmZTk0MzNhOGVhM2M2M2Y1Mzg1MWU3YWYxMDYzOC4uZDdjYmEy
MDdlYmM1NWJhNzNiOGZmMDRiMzhiNDFjNzVkNWU3MDlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCkBAIC04Nyw2ICs4NywxMiBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBtX2RyYXdpbmdDb250ZXh0LnJlcGxheURpc3BsYXlMaXN0KEJhc2VDb25jcmV0ZUlt
YWdlQnVmZmVyOjpjb250ZXh0KCkpOwogICAgIH0KIAorICAgIHZvaWQgY2xlYXJCYWNrZW5kKCkg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKS5j
bGVhcigpOworICAgICAgICBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Y2xlYXJCYWNrZW5kKCk7
CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgRHJhd2luZ0NvbnRleHQgbV9kcmF3aW5nQ29udGV4
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXRlbUJ1ZmZlcldyaXRpbmdDbGllbnQ+IG1fd3JpdGlu
Z0NsaWVudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>