<?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>199420</bug_id>
          
          <creation_ts>2019-07-02 14:05:37 -0700</creation_ts>
          <short_desc>ThreadSafeRefCounted&lt;DestructionThread::Main&gt; is not safe to use in the UIProcess</short_desc>
          <delta_ts>2019-07-10 09:44:55 -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>WebKit2</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>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>public-apollonian</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1549707</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 14:05:37 -0700</bug_when>
    <thetext>ThreadSafeRefCounted&lt;DestructionThread::Main&gt; is not safe to use in the UIProcess because its implementation relies on isMainThread() / callOnMainThread(). Those get confused about which thread is the main thread when an application uses both WK1 and WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549708</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 14:05:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/52289717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549709</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 14:06:15 -0700</bug_when>
    <thetext>We can add an assertion to catch this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549710</commentid>
    <comment_count>3</comment_count>
      <attachid>373360</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 14:11:51 -0700</bug_when>
    <thetext>Created attachment 373360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549711</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 14:12:59 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #2)
&gt; We can add an assertion to catch this?

I think it would be great yes, but I am not sure how to write it. I know similar issues came up in the past, did we come up with a solution to catch this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549715</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 14:24:13 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Ryosuke Niwa from comment #2)
&gt; &gt; We can add an assertion to catch this?
&gt; 
&gt; I think it would be great yes, but I am not sure how to write it. I know
&gt; similar issues came up in the past, did we come up with a solution to catch
&gt; this?

There is isInWebProcess() as a runtime check which is a bit cheesy. Ideally, it&apos;s something we initialize via XPC bootstrapping instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549733</commentid>
    <comment_count>6</comment_count>
      <attachid>373360</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 15:25:46 -0700</bug_when>
    <thetext>Comment on attachment 373360
Patch

How about WebResourceLoadStatisticsStore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549735</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 15:26:11 -0700</bug_when>
    <thetext>Also Storage in NetworkCacheStorage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549737</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 15:27:47 -0700</bug_when>
    <thetext>Also, RegistrationDatabase and ServiceWorkerFetch::Client in WebCore uses it. Doesn&apos;t UI process use any of them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549741</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 15:31:46 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #6)
&gt; Comment on attachment 373360 [details]
&gt; Patch
&gt; 
&gt; How about WebResourceLoadStatisticsStore?

Looks like it is in the NetworkProcess noawadays?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549742</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-02 15:32:11 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Ryosuke Niwa from comment #2)
&gt; &gt; We can add an assertion to catch this?
&gt; 
&gt; I think it would be great yes, but I am not sure how to write it. I know
&gt; similar issues came up in the past, did we come up with a solution to catch
&gt; this?

See https://bugs.webkit.org/show_bug.cgi?id=185330</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549743</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 15:32:34 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #7)
&gt; Also Storage in NetworkCacheStorage.

Again, this is in the NetworkProcess so not an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549744</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 15:33:54 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #8)
&gt; Also, RegistrationDatabase and ServiceWorkerFetch::Client in WebCore uses
&gt; it. Doesn&apos;t UI process use any of them?

RegistrationDatabase is used only in the NetworkProcess so not a problem. ServiceWorkerFetch::Client is used in the Service Worker process I believe (So a WebProcess), thus not an issue either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549745</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-02 15:36:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #12)
&gt; (In reply to Ryosuke Niwa from comment #8)
&gt; &gt; Also, RegistrationDatabase and ServiceWorkerFetch::Client in WebCore uses
&gt; &gt; it. Doesn&apos;t UI process use any of them?
&gt; 
&gt; RegistrationDatabase is used only in the NetworkProcess so not a problem.
&gt; ServiceWorkerFetch::Client is used in the Service Worker process I believe
&gt; (So a WebProcess), thus not an issue either.

To be clear, classes that are used in the Network or WebContent processes, and only by WebKit2 code could use either DestructionThread::Main or DestructionThreadMainRunLoop. They would both be safe AFAIK. The only problematic ones are the ones used in the UIProcess, and I fixed the 2 classes I that were obviously used in the UIProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549763</commentid>
    <comment_count>14</comment_count>
      <attachid>373360</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 16:07:51 -0700</bug_when>
    <thetext>Comment on attachment 373360
Patch

Clearing flags on attachment: 373360

Committed r247078: &lt;https://trac.webkit.org/changeset/247078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549764</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 16:07:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551699</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-07-10 09:44:55 -0700</bug_when>
    <thetext>*** Bug 199657 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373360</attachid>
            <date>2019-07-02 14:11:51 -0700</date>
            <delta_ts>2019-07-02 16:07:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199420-20190702141151.patch</filename>
            <type>text/plain</type>
            <size>6829</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI1MzQ5MjA2NTFiMTdmZDhlNTc4ZTgz
NTczOTI1NTY5OGI0ZDZiZGMuLjBiMTU5ZWZkYzg1OWIxZDFjOGZlNzhmZGE4MmRhMzJhNjQzZDk1
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDctMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWRTYWZlUmVmQ291bnRlZDxEZXN0cnVjdGlvblRo
cmVhZDo6TWFpbj4gaXMgbm90IHNhZmUgdG8gdXNlIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQyMAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTIyODk3MTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgIChXVEY6Omlz
TWFpblJ1bkxvb3ApOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluUnVuTG9vcCk6CisgICAgICAg
ICogd3RmL01haW5UaHJlYWQuaDoKKyAgICAgICAgQWRkIHNvbWUgZnVuY3Rpb24gdG8gTWFpblRo
cmVhZC5oIHRvIGJlIHVzZWQgYnkgVGhyZWFkU2FmZVJlZkNvdW50ZWQgdG8gaW50ZXJhY3Qgd2l0
aCB0aGUKKyAgICAgICAgbWFpbiBSdW5Mb29wLiBUaGlzIGlzIHVzZWQgdG8gYXZvaWQgYSBjaXJj
dWxhciBkZXBlbmRlbmN5IGJldHdlZW4gUnVuTG9vcCAod2hpY2ggaXMKKyAgICAgICAgVGhyZWFk
U2FmZVJlZkNvdW50ZWQpIGFuZCBUaHJlYWRTYWZlUmVDb3VudGVkLgorCisgICAgICAgICogd3Rm
L1RocmVhZFNhZmVSZWZDb3VudGVkLmg6CisgICAgICAgIChXVEY6OlRocmVhZFNhZmVSZWZDb3Vu
dGVkOjpkZXJlZiBjb25zdCk6CisgICAgICAgIEFkZCBhIG5ldyBEZXN0cnVjdGlvblRocmVhZDo6
TWFpblJ1bkxvb3AgZW51bSB2YWx1ZSB0byBiZSB1c2VkIGJ5IGNsYXNzZXMgdGhhdCBuZWVkIHRv
CisgICAgICAgIGJlIGRlc3Ryb3llZCBvbiB0aGUgbWFpbiBSdW5Mb29wIHJhdGhlciB0aGFuIHRo
ZSBtYWluIHRocmVhZCAod2hpY2ggbWF5IGJlIGRpZmZlcmVudAorICAgICAgICB3aGVuIFdLMSBp
cyBpbnZvdmVkKQorCiAyMDE5LTA3LTAyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFBBQ0NhZ2Ugc2hvdWxkIGZpcnN0IGNhZ2UgbGVhdmluZyBQQUMg
Yml0cyBpbnRhY3QgdGhlbiBhdXRoZW50aWNhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzY4MWRjNmEyYWY3NzFm
Yjc1MGMzNzkyZDY4ZmExNzgyMTY2NjNiMS4uNWY2ZjIxZmU2ZDdjNmY5NDg4NmQyNjZlODM4YzE5
ZjBjNWJmNGQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wNy0wMiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFRocmVhZFNhZmVSZWZDb3VudGVk
PERlc3RydWN0aW9uVGhyZWFkOjpNYWluPiBpcyBub3Qgc2FmZSB0byB1c2UgaW4gdGhlIFVJUHJv
Y2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
NDIwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MjI4OTcxNz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgSVBDOjpDb25uZWN0aW9uIGFu
ZCBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSB0byB1c2UgRGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW5S
dW5Mb29wCisgICAgICAgIGluc3RlYWQgb2YgRGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4sIHNpbmNl
IGJvdGggY2xhc3NlcyBhcmUgdXNlZCBpbiB0aGUgVUlQcm9jZXNzLgorCisgICAgICAgIFVzaW5n
IERlc3RydWN0aW9uVGhyZWFkOjpNYWluIGlzIG5vdCBzYWZlIGluIHRoZSBVSVByb2Nlc3MgYmVj
YXVzZSBpdHMgaW1wbGVtZW50YXRpb24gcmVsaWVzCisgICAgICAgIG9uIGlzTWFpblRocmVhZCgp
IC8gY2FsbE9uTWFpblRocmVhZCgpLiBUaG9zZSBnZXQgY29uZnVzZWQgYWJvdXQgd2hpY2ggdGhy
ZWFkIGlzIHRoZSBtYWluCisgICAgICAgIHRocmVhZCB3aGVuIGFuIGFwcGxpY2F0aW9uIHVzZXMg
Ym90aCBXSzEgYW5kIFdLMi4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0RldmljZUlkSGFzaFNhbHRTdG9yYWdlLmg6CisKIDIwMTkt
MDctMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQcm90ZWN0
IE5ldHdvcmtQcm9jZXNzOjptX25ldHdvcmtTZXNzaW9ucyBhZ2FpbnN0IGNvcnJ1cHRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwIGIvU291cmNlL1dURi93dGYv
TWFpblRocmVhZC5jcHAKaW5kZXggZmNlN2I0NmE1MmJkYmVjNGE2MGQ1NDEwOWI0NmEwNjYzZTYw
YmQxOS4uOWVkZDhlZjE4ZDBiNWJmYzk3M2JiMDExZDBkZWQzMWI1ZWEyMzdkOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWFp
blRocmVhZC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgpAQCAtMTI2LDYgKzEyNywxNiBAQCB2b2lkIGRpc3BhdGNoRnVuY3Rpb25zRnJvbU1h
aW5UaHJlYWQoKQogICAgIH0KIH0KIAorYm9vbCBpc01haW5SdW5Mb29wKCkKK3sKKyAgICByZXR1
cm4gUnVuTG9vcDo6aXNNYWluKCk7Cit9CisKK3ZvaWQgY2FsbE9uTWFpblJ1bkxvb3AoRnVuY3Rp
b248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChX
VEZNb3ZlKGZ1bmN0aW9uKSk7Cit9CisKIHZvaWQgY2FsbE9uTWFpblRocmVhZChGdW5jdGlvbjx2
b2lkKCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgQVNTRVJUKGZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaCBiL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQu
aAppbmRleCA0ZTQ1YzY4OWEwMjI1MDNmZjE4NjI4NmEwNTEzMGQ1N2I0YmM2NzRjLi4wODM0MTMz
NWQyYTcwZDZlODA1NjViODRkYTAzNWI5MGE2NjRiOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9NYWluVGhyZWFkLmgKKysrIGIvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oCkBAIC01
Nyw2ICs1Nyw5IEBAIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzTWFpblRocmVhZElmSW5pdGlh
bGl6ZWQoKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgY2FuQWNjZXNzVGhyZWFkTG9jYWxE
YXRhRm9yVGhyZWFkKFRocmVhZCYpOwogCitXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5S
dW5Mb29wKCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBjYWxsT25NYWluUnVuTG9vcChGdW5j
dGlvbjx2b2lkKCk+JiYpOworCiAjaWYgVVNFKFdFQl9USFJFQUQpCiBXVEZfRVhQT1JUX1BSSVZB
VEUgYm9vbCBpc1dlYlRocmVhZCgpOwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNVSVRocmVh
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaCBi
L1NvdXJjZS9XVEYvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgKaW5kZXggYzRlODA5YWU5M2Fi
NGIyODliZGNlYTJlOWVhYTAzZWRhZDNhZDdlNi4uOGE2MjRiMjJhYTg1MDdkNDUyMjU4YjQ1YTFk
Njc5MTI2ODU2MWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oCkBAIC02
NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBzdGQ6OmF0b21pYzx1bnNpZ25lZD4g
bV9yZWZDb3VudCB7IDEgfTsKIH07CiAKLWVudW0gY2xhc3MgRGVzdHJ1Y3Rpb25UaHJlYWQgeyBB
bnksIE1haW4gfTsKK2VudW0gY2xhc3MgRGVzdHJ1Y3Rpb25UaHJlYWQgeyBBbnksIE1haW4sIE1h
aW5SdW5Mb29wIH07CiAKIHRlbXBsYXRlPGNsYXNzIFQsIERlc3RydWN0aW9uVGhyZWFkIGRlc3Ry
dWN0aW9uVGhyZWFkID0gRGVzdHJ1Y3Rpb25UaHJlYWQ6OkFueT4gY2xhc3MgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlIHsKIHB1YmxpYzoKQEAg
LTcyLDEzICs3MiwyNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIWRlcmVmQmFzZSgp
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoZGVzdHJ1Y3Rpb25UaHJlYWQgPT0g
RGVzdHJ1Y3Rpb25UaHJlYWQ6OkFueSB8fCBpc01haW5UaHJlYWQoKSkgeworCisgICAgICAgIGF1
dG8gZGVsZXRlVGhpcyA9IFt0aGlzXSB7CiAgICAgICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
Y29uc3QgVCo+KHRoaXMpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9OworICAgICAg
ICBzd2l0Y2ggKGRlc3RydWN0aW9uVGhyZWFkKSB7CisgICAgICAgIGNhc2UgRGVzdHJ1Y3Rpb25U
aHJlYWQ6OkFueToKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIERlc3RydWN0aW9u
VGhyZWFkOjpNYWluOgorICAgICAgICAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkgeworICAgICAg
ICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoV1RGTW92ZShkZWxldGVUaGlzKSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgRGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW5SdW5Mb29wOgorICAgICAgICAgICAgaWYg
KCFpc01haW5SdW5Mb29wKCkpIHsKKyAgICAgICAgICAgICAgICBjYWxsT25NYWluUnVuTG9vcChX
VEZNb3ZlKGRlbGV0ZVRoaXMpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYWxsT25NYWluVGhy
ZWFkKFt0aGlzXSB7Ci0gICAgICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8Y29uc3QgVCo+KHRo
aXMpOwotICAgICAgICB9KTsKKyAgICAgICAgZGVsZXRlVGhpcygpOwogICAgIH0KIAogcHJvdGVj
dGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDNlZGY4MmFk
ZjNiNWFlM2IyODRjN2RkNTkxNWI4ODVlNzUyMzE3NmYuLjRkZTA2ODdhYjUzMjc5MmFhMzRkZDdk
OWVlM2NkMzZkNTU3YWY2ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKQEAgLTkwLDcgKzkwLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQXN5bmNSZXBseVJlc3VsdD4g
c3RydWN0IEFzeW5jUmVwbHlFcnJvciB7CiBjbGFzcyBNYWNoTWVzc2FnZTsKIGNsYXNzIFVuaXhN
ZXNzYWdlOwogCi1jbGFzcyBDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PENvbm5lY3Rpb24sIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsKK2NsYXNzIENvbm5l
Y3Rpb24gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q29ubmVjdGlvbiwgV1RGOjpEZXN0
cnVjdGlvblRocmVhZDo6TWFpblJ1bkxvb3A+IHsKIHB1YmxpYzoKICAgICBjbGFzcyBDbGllbnQg
OiBwdWJsaWMgTWVzc2FnZVJlY2VpdmVyIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaAppbmRleCAyOGNhYTdjYTgw
MzA5ODExZmZhM2I4OWNlMzcwODQ2Y2JlZDkxODRiLi43MmNmYTdiNDA3OTE1MjQ4N2MxZTQ4YWI2
Nzk5NzU4ZjllMDY5ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZp
Y2VJZEhhc2hTYWx0U3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rldmlj
ZUlkSGFzaFNhbHRTdG9yYWdlLmgKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIERldmljZUlkSGFzaFNhbHRTdG9yYWdlIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPERldmljZUlkSGFzaFNhbHRTdG9yYWdlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFk
OjpNYWluPiB7CitjbGFzcyBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSA6IHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSwgV1RGOjpEZXN0cnVjdGlvblRo
cmVhZDo6TWFpblJ1bkxvb3A+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPERldmljZUlkSGFz
aFNhbHRTdG9yYWdlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBkZXZpY2VJZEhhc2hTYWx0U3RvcmFn
ZURpcmVjdG9yeSk7CiAgICAgfkRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>