<?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>202980</bug_id>
          
          <creation_ts>2019-10-15 01:47:48 -0700</creation_ts>
          <short_desc>[GTK][WPE] IconDatabase is not thread safe yet</short_desc>
          <delta_ts>2019-10-21 02:21:21 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580030</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-15 01:47:48 -0700</bug_when>
    <thetext>Current implementation is safer, but we still need to protect members used by both threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580031</commentid>
    <comment_count>1</comment_count>
      <attachid>380970</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-15 01:49:44 -0700</bug_when>
    <thetext>Created attachment 380970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580032</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-10-15 01:50:26 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581822</commentid>
    <comment_count>3</comment_count>
      <attachid>380970</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-21 01:40:50 -0700</bug_when>
    <thetext>Comment on attachment 380970
Patch

Patch LGTM. Given that all the uses of the database (“m_db” member)
are done in the work queue thread, maybe it would be a good thing
to add “ASSERT(!isMainThread())” at the top of helper functions
like “IconDatabase::createTablesIfNeeded()” to make it clearer that
they are not intended to be used directly from the main thread, WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581823</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-21 01:46:15 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #3)
&gt; Comment on attachment 380970 [details]
&gt; Patch
&gt; 
&gt; Patch LGTM. Given that all the uses of the database (“m_db” member)
&gt; are done in the work queue thread, maybe it would be a good thing
&gt; to add “ASSERT(!isMainThread())” at the top of helper functions
&gt; like “IconDatabase::createTablesIfNeeded()” to make it clearer that
&gt; they are not intended to be used directly from the main thread, WDYT?

Sure, I can add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581828</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-21 02:21:21 -0700</bug_when>
    <thetext>Committed r251362: &lt;https://trac.webkit.org/changeset/251362&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380970</attachid>
            <date>2019-10-15 01:49:44 -0700</date>
            <delta_ts>2019-10-21 01:40:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-favicons-locks.diff</filename>
            <type>text/plain</type>
            <size>11072</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZmIyOTUzMmNlZWEuLmE0NGRhMzUyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDE5LTEwLTE1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEljb25EYXRhYmFzZSBpcyBub3QgdGhyZWFkIHNh
ZmUgeWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDI5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
dXJyZW50IGltcGxlbWVudGF0aW9uIGlzIHNhZmVyLCBidXQgd2Ugc3RpbGwgbmVlZCB0byBwcm90
ZWN0IG1lbWJlcnMgdXNlZCBieSBib3RoIHRocmVhZHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SWNvbkRhdGFiYXNl
Ojpwb3B1bGF0ZVBhZ2VVUkxUb0ljb25VUkxNYXApOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0
YWJhc2U6OmNsZWFyTG9hZGVkSWNvbnNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6SWNv
bkRhdGFiYXNlOjpjaGVja0ljb25VUkxBbmRTZXRQYWdlVVJMSWZOZWVkZWQpOgorICAgICAgICAo
V2ViS2l0OjpJY29uRGF0YWJhc2U6OmxvYWRJY29uRm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJL
aXQ6Okljb25EYXRhYmFzZTo6aWNvblVSTEZvclBhZ2VVUkwpOgorICAgICAgICAoV2ViS2l0OjpJ
Y29uRGF0YWJhc2U6OnNldEljb25Gb3JQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6SWNvbkRh
dGFiYXNlOjpjbGVhcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFz
ZS5oOgorCiAyMDE5LTEwLTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEFkZCB1c2VyIG1lc3NhZ2VzIEFQSQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKaW5kZXgg
YmQwZGU4Mjk3MGUuLmE0ZGQ1ZmY4NWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKQEAgLTE4OCw2ICsxODgsNyBAQCB2b2lkIElj
b25EYXRhYmFzZTo6cG9wdWxhdGVQYWdlVVJMVG9JY29uVVJMTWFwKCkKICAgICB9CiAKICAgICBh
dXRvIHJlc3VsdCA9IHF1ZXJ5LnN0ZXAoKTsKKyAgICBMb2NrSG9sZGVyIGxvY2tIb2xkZXIobV9w
YWdlVVJMVG9JY29uVVJMTWFwTG9jayk7CiAgICAgd2hpbGUgKHJlc3VsdCA9PSBTUUxJVEVfUk9X
KSB7CiAgICAgICAgIG1fcGFnZVVSTFRvSWNvblVSTE1hcC5zZXQocXVlcnkuZ2V0Q29sdW1uVGV4
dCgwKSwgcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKSk7CiAgICAgICAgIHJlc3VsdCA9IHF1ZXJ5LnN0
ZXAoKTsKQEAgLTI1Myw2ICsyNTQsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3RhcnRQcnVuZVRp
bWVyKCkKIAogdm9pZCBJY29uRGF0YWJhc2U6OmNsZWFyTG9hZGVkSWNvbnNUaW1lckZpcmVkKCkK
IHsKKyAgICBMb2NrSG9sZGVyIGxvY2tIb2xkZXIobV9sb2FkZWRJY29uc0xvY2spOwogICAgIGF1
dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgVmVjdG9yPFN0cmluZz4gaWNvbnNU
b1JlbW92ZTsKICAgICBmb3IgKGF1dG8gaXRlciA6IG1fbG9hZGVkSWNvbnMpIHsKQEAgLTQ3NSw3
ICs0NzcsMTIgQEAgdm9pZCBJY29uRGF0YWJhc2U6OmNoZWNrSWNvblVSTEFuZFNldFBhZ2VVUkxJ
Zk5lZWRlZChjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnMKICAgICAgICAgaWYgKG1fZGIuaXNP
cGVuKCkpIHsKICAgICAgICAgICAgIGJvb2wgY2FuV3JpdGVUb0RhdGFiYXNlID0gbV9hbGxvd0Rh
dGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFzZVdyaXRlOjpZZXMgJiYgYWxsb3dEYXRhYmFzZVdy
aXRlID09IEFsbG93RGF0YWJhc2VXcml0ZTo6WWVzOwogICAgICAgICAgICAgYm9vbCBleHBpcmVk
ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAobV9wYWdlVVJMVG9JY29uVVJMTWFwLmdldChwYWdl
VVJMKSA9PSBpY29uVVJMKQorICAgICAgICAgICAgU3RyaW5nIGNhY2hlZEljb25VUkw7CisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrSG9sZGVyKG1fcGFnZVVS
TFRvSWNvblVSTE1hcExvY2spOworICAgICAgICAgICAgICAgIGNhY2hlZEljb25VUkwgPSBtX3Bh
Z2VVUkxUb0ljb25VUkxNYXAuZ2V0KHBhZ2VVUkwpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWYgKGNhY2hlZEljb25VUkwgPT0gaWNvblVSTCkKICAgICAgICAgICAgICAgICByZXN1bHQg
PSB0cnVlOwogICAgICAgICAgICAgZWxzZSBpZiAoYXV0byBpY29uSUQgPSBpY29uSURGb3JJY29u
VVJMKGljb25VUkwsIGV4cGlyZWQpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGV4cGlyZWQgJiYg
Y2FuV3JpdGVUb0RhdGFiYXNlKSB7CkBAIC00ODYsMTUgKzQ5MywyNCBAQCB2b2lkIEljb25EYXRh
YmFzZTo6Y2hlY2tJY29uVVJMQW5kU2V0UGFnZVVSTElmTmVlZGVkKGNvbnN0IFN0cmluZyYgaWNv
blVSTCwgY29ucwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGlmICghY2FuV3JpdGVUb0RhdGFi
YXNlIHx8IHNldEljb25JREZvclBhZ2VVUkwoaWNvbklELnZhbHVlKCksIHBhZ2VVUkwpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2tIb2xkZXIobV9wYWdlVVJMVG9J
Y29uVVJMTWFwTG9jayk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3BhZ2VVUkxUb0ljb25V
UkxNYXAuc2V0KHBhZ2VVUkwsIGljb25VUkwpOwogICAgICAgICAgICAgICAgICAgICAgICAgY2hh
bmdlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKCFjYW5Xcml0ZVRvRGF0YWJhc2UgJiYgbV9sb2FkZWRJY29u
cy5jb250YWlucyhpY29uVVJMKSkgewotICAgICAgICAgICAgICAgIC8vIEZvdW5kIGluIG1lbW9y
eSBjYWNoZS4KLSAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwotICAgICAgICAgICAgICAg
IG1fcGFnZVVSTFRvSWNvblVSTE1hcC5zZXQocGFnZVVSTCwgaWNvblVSTCk7Ci0gICAgICAgICAg
ICAgICAgY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFjYW5Xcml0ZVRv
RGF0YWJhc2UpIHsKKyAgICAgICAgICAgICAgICBib29sIGZvdW5kSW5NZW1vcnlDYWNoZTsKKyAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIExvY2tIb2xkZXIgbG9ja0hvbGRl
cihtX2xvYWRlZEljb25zTG9jayk7CisgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5NZW1vcnlD
YWNoZSA9IG1fbG9hZGVkSWNvbnMuY29udGFpbnMoaWNvblVSTCk7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgaWYgKGZvdW5kSW5NZW1vcnlDYWNoZSkgeworICAgICAgICAg
ICAgICAgICAgICByZXN1bHQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBMb2NrSG9sZGVy
IGxvY2tIb2xkZXIobV9wYWdlVVJMVG9JY29uVVJMTWFwTG9jayk7CisgICAgICAgICAgICAgICAg
ICAgIG1fcGFnZVVSTFRvSWNvblVSTE1hcC5zZXQocGFnZVVSTCwgaWNvblVSTCk7CisgICAgICAg
ICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgICAgICBzdGFydFBydW5lVGltZXIoKTsKQEAgLTUwOSwxMyAr
NTI1LDIwIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpsb2FkSWNvbkZvclBhZ2VVUkwoY29uc3QgU3Ry
aW5nJiBwYWdlVVJMLCBBbGxvd0RhdGFiYXNlV3JpdGUKICAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0
Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGFnZVVSTCA9IHBhZ2VV
UkwuaXNvbGF0ZWRDb3B5KCksIGFsbG93RGF0YWJhc2VXcml0ZSwgdGltZXN0YW1wID0gV2FsbFRp
bWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIE9wdGlvbmFsPGludDY0
X3Q+IGljb25JRDsKICAgICAgICAgVmVjdG9yPGNoYXI+IGljb25EYXRhOwotICAgICAgICBhdXRv
IGljb25VUkwgPSBtX3BhZ2VVUkxUb0ljb25VUkxNYXAuZ2V0KHBhZ2VVUkwpOworICAgICAgICBT
dHJpbmcgaWNvblVSTDsKKyAgICAgICAgeworICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrSG9s
ZGVyKG1fcGFnZVVSTFRvSWNvblVSTE1hcExvY2spOworICAgICAgICAgICAgaWNvblVSTCA9IG1f
cGFnZVVSTFRvSWNvblVSTE1hcC5nZXQocGFnZVVSTCk7CisgICAgICAgIH0KICAgICAgICAgaWYg
KG1fZGIuaXNPcGVuKCkgJiYgIWljb25VUkwuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBib29s
IGV4cGlyZWQ7CiAgICAgICAgICAgICBpY29uSUQgPSBpY29uSURGb3JJY29uVVJMKGljb25VUkws
IGV4cGlyZWQpOwotICAgICAgICAgICAgaWYgKGljb25JRCAmJiAhbV9sb2FkZWRJY29ucy5jb250
YWlucyhpY29uVVJMKSkgewotICAgICAgICAgICAgICAgIGljb25EYXRhID0gdGhpcy0+aWNvbkRh
dGEoaWNvbklELnZhbHVlKCkpOwotICAgICAgICAgICAgICAgIG1fbG9hZGVkSWNvbnMuc2V0KGlj
b25VUkwsIHN0ZDo6bWFrZV9wYWlyPE5hdGl2ZUltYWdlUHRyLCBNb25vdG9uaWNUaW1lPihudWxs
cHRyLCB7IH0pKTsKKyAgICAgICAgICAgIGlmIChpY29uSUQpIHsKKyAgICAgICAgICAgICAgICBM
b2NrSG9sZGVyIGxvY2tIb2xkZXIobV9sb2FkZWRJY29uc0xvY2spOworICAgICAgICAgICAgICAg
IGlmICghbV9sb2FkZWRJY29ucy5jb250YWlucyhpY29uVVJMKSkgeworICAgICAgICAgICAgICAg
ICAgICBpY29uRGF0YSA9IHRoaXMtPmljb25EYXRhKGljb25JRC52YWx1ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgbV9sb2FkZWRJY29ucy5zZXQoaWNvblVSTCwgc3RkOjptYWtlX3BhaXI8TmF0
aXZlSW1hZ2VQdHIsIE1vbm90b25pY1RpbWU+KG51bGxwdHIsIHsgfSkpOworICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJvb2wgY2FuV3JpdGVUb0RhdGFiYXNl
ID0gbV9hbGxvd0RhdGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFzZVdyaXRlOjpZZXMgJiYgYWxs
b3dEYXRhYmFzZVdyaXRlID09IEFsbG93RGF0YWJhc2VXcml0ZTo6WWVzOwogICAgICAgICAgICAg
aWYgKGljb25JRCAmJiBjYW5Xcml0ZVRvRGF0YWJhc2UpCkBAIC01MjgsMTEgKzU1MSwxMyBAQCB2
b2lkIEljb25EYXRhYmFzZTo6bG9hZEljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVS
TCwgQWxsb3dEYXRhYmFzZVdyaXRlCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCisgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2tIb2xkZXIobV9sb2FkZWRJY29uc0xv
Y2spOwogICAgICAgICAgICAgYXV0byBpdCA9IG1fbG9hZGVkSWNvbnMuZmluZChpY29uVVJMKTsK
ICAgICAgICAgICAgIGlmIChpdCAhPSBtX2xvYWRlZEljb25zLmVuZCgpICYmIGl0LT52YWx1ZS5m
aXJzdCkgewogICAgICAgICAgICAgICAgIGF1dG8gaWNvbiA9IGl0LT52YWx1ZS5maXJzdDsKICAg
ICAgICAgICAgICAgICBpdC0+dmFsdWUuc2Vjb25kID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgICAgICAgICAgICAgc3RhcnRDbGVhckxvYWRlZEljb25zVGltZXIoKTsKKyAgICAgICAgICAg
ICAgICBsb2NrSG9sZGVyLnVubG9ja0Vhcmx5KCk7CiAgICAgICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoV1RGTW92ZShpY29uKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgfQpAQCAtNTQ5LDYgKzU3NCw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpsb2FkSWNvbkZv
clBhZ2VVUkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMLCBBbGxvd0RhdGFiYXNlV3JpdGUKIAogICAg
ICAgICAgICAgYXV0byBpY29uID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5maXJzdDsKICAg
ICAgICAgICAgIHN0YXJ0Q2xlYXJMb2FkZWRJY29uc1RpbWVyKCk7CisgICAgICAgICAgICBsb2Nr
SG9sZGVyLnVubG9ja0Vhcmx5KCk7CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZN
b3ZlKGljb24pKTsKICAgICAgICAgfSk7CiAgICAgfSk7CkBAIC01NTYsNiArNTgyLDcgQEAgdm9p
ZCBJY29uRGF0YWJhc2U6OmxvYWRJY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkws
IEFsbG93RGF0YWJhc2VXcml0ZQogCiBTdHJpbmcgSWNvbkRhdGFiYXNlOjppY29uVVJMRm9yUGFn
ZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpCiB7CisgICAgTG9ja0hvbGRlciBsb2NrSG9sZGVy
KG1fcGFnZVVSTFRvSWNvblVSTE1hcExvY2spOwogICAgIHJldHVybiBtX3BhZ2VVUkxUb0ljb25V
UkxNYXAuZ2V0KHBhZ2VVUkwpOwogfQogCkBAIC01NjQsMTcgKzU5MSwyMyBAQCB2b2lkIEljb25E
YXRhYmFzZTo6c2V0SWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCB1
bnNpZ25lZCBjaGFyKgogICAgIC8vIElmIGRhdGFiYXNlIHdyaXRlIGlzIG5vdCBhbGxvd2VkIGxv
YWQgdGhlIGljb24gdG8gY2FjaGUgaXQgaW4gbWVtb3J5IG9ubHkuCiAgICAgaWYgKG1fYWxsb3dE
YXRhYmFzZVdyaXRlID09IEFsbG93RGF0YWJhc2VXcml0ZTo6Tm8gfHwgYWxsb3dEYXRhYmFzZVdy
aXRlID09IEFsbG93RGF0YWJhc2VXcml0ZTo6Tm8pIHsKICAgICAgICAgYm9vbCByZXN1bHQgPSB0
cnVlOwotICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fbG9hZGVkSWNvbnMuc2V0KGljb25VUkws
IHN0ZDo6bWFrZV9wYWlyPE5hdGl2ZUltYWdlUHRyLCBNb25vdG9uaWNUaW1lPihudWxscHRyLCB7
IH0pKTsKLSAgICAgICAgaWYgKGljb25EYXRhU2l6ZSkgewotICAgICAgICAgICAgYXV0byBpbWFn
ZSA9IEJpdG1hcEltYWdlOjpjcmVhdGUoKTsKLSAgICAgICAgICAgIGlmIChpbWFnZS0+c2V0RGF0
YShTaGFyZWRCdWZmZXI6OmNyZWF0ZShpY29uRGF0YSwgaWNvbkRhdGFTaXplKSwgdHJ1ZSkgPCBF
bmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZSkKLSAgICAgICAgICAgICAgICByZXN1bHQg
PSBmYWxzZTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRl
cmF0b3ItPnZhbHVlLmZpcnN0ID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7
CisgICAgICAgIHsKKyAgICAgICAgICAgIExvY2tIb2xkZXIgbG9ja0hvbGRlcihtX2xvYWRlZElj
b25zTG9jayk7CisgICAgICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fbG9hZGVkSWNvbnMuc2V0
KGljb25VUkwsIHN0ZDo6bWFrZV9wYWlyPE5hdGl2ZUltYWdlUHRyLCBNb25vdG9uaWNUaW1lPihu
dWxscHRyLCB7IH0pKTsKKyAgICAgICAgICAgIGlmIChpY29uRGF0YVNpemUpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIGltYWdlID0gQml0bWFwSW1hZ2U6OmNyZWF0ZSgpOworICAgICAgICAgICAg
ICAgIGlmIChpbWFnZS0+c2V0RGF0YShTaGFyZWRCdWZmZXI6OmNyZWF0ZShpY29uRGF0YSwgaWNv
bkRhdGFTaXplKSwgdHJ1ZSkgPCBFbmNvZGVkRGF0YVN0YXR1czo6U2l6ZUF2YWlsYWJsZSkKKyAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmZpcnN0ID0gaW1h
Z2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgc3RhcnRDbGVhckxvYWRlZEljb25zVGltZXIoKTsKICAgICAgICAgbV93b3Jr
UXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHJl
c3VsdCwgaWNvblVSTCA9IGljb25VUkwuaXNvbGF0ZWRDb3B5KCksIHBhZ2VVUkwgPSBwYWdlVVJM
Lmlzb2xhdGVkQ29weSgpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSgpIG11dGFibGUgewotICAgICAgICAgICAgbV9wYWdlVVJMVG9JY29uVVJMTWFwLnNl
dChwYWdlVVJMLCBpY29uVVJMKTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBMb2Nr
SG9sZGVyIGxvY2tIb2xkZXIobV9wYWdlVVJMVG9JY29uVVJMTWFwTG9jayk7CisgICAgICAgICAg
ICAgICAgbV9wYWdlVVJMVG9JY29uVVJMTWFwLnNldChwYWdlVVJMLCBpY29uVVJMKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcmVzdWx0LCBj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUg
ewogICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CiAgICAgICAgICAg
ICB9KTsKQEAgLTU5OCw4ICs2MzEsMTAgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnNldEljb25Gb3JQ
YWdlVVJMKGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgdW5zaWduZWQgY2hhcioKIAogICAg
ICAgICAgICAgaWYgKGljb25JRCkgewogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgaWYgKHNldEljb25JREZvclBhZ2VVUkwoaWNvbklELnZhbHVlKCksIHBh
Z2VVUkwpKQorICAgICAgICAgICAgICAgIGlmIChzZXRJY29uSURGb3JQYWdlVVJMKGljb25JRC52
YWx1ZSgpLCBwYWdlVVJMKSkgeworICAgICAgICAgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2tI
b2xkZXIobV9wYWdlVVJMVG9JY29uVVJMTWFwTG9jayk7CiAgICAgICAgICAgICAgICAgICAgIG1f
cGFnZVVSTFRvSWNvblVSTE1hcC5zZXQocGFnZVVSTCwgaWNvblVSTCk7CisgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB0cmFuc2FjdGlvbi5jb21taXQoKTsK
QEAgLTYxMywxMyArNjQ4LDE3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzZXRJY29uRm9yUGFnZVVS
TChjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IHVuc2lnbmVkIGNoYXIqCiAKIHZvaWQgSWNv
bkRhdGFiYXNlOjpjbGVhcihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgbV9sb2FkZWRJY29ucy5jbGVhcigpOworICAgIHsKKyAgICAgICAgTG9j
a0hvbGRlciBsb2NrSG9sZGVyKG1fbG9hZGVkSWNvbnNMb2NrKTsKKyAgICAgICAgbV9sb2FkZWRJ
Y29ucy5jbGVhcigpOworICAgIH0KICAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgbV9wYWdlVVJMVG9JY29u
VVJMTWFwLmNsZWFyKCk7Ci0KLSAgICAgICAgaWYgKG1fZGIuaXNPcGVuKCkgJiYgbV9hbGxvd0Rh
dGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFzZVdyaXRlOjpZZXMpIHsKKyAgICAgICAgeworICAg
ICAgICAgICAgTG9ja0hvbGRlciBsb2NrSG9sZGVyKG1fcGFnZVVSTFRvSWNvblVSTE1hcExvY2sp
OwogICAgICAgICAgICAgbV9wYWdlVVJMVG9JY29uVVJMTWFwLmNsZWFyKCk7CisgICAgICAgIH0K
IAorICAgICAgICBpZiAobV9kYi5pc09wZW4oKSAmJiBtX2FsbG93RGF0YWJhc2VXcml0ZSA9PSBB
bGxvd0RhdGFiYXNlV3JpdGU6OlllcykgewogICAgICAgICAgICAgY2xlYXJTdGF0ZW1lbnRzKCk7
CiAgICAgICAgICAgICBtX2RiLmNsZWFyQWxsVGFibGVzKCk7CiAgICAgICAgICAgICBtX2RiLnJ1
blZhY3V1bUNvbW1hbmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL0ljb25EYXRhYmFzZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
SWNvbkRhdGFiYXNlLmgKaW5kZXggMGQ2MDU5ZWI0MDAuLjk2MTJmOTljMmNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuaApAQCAtMjQsNiAr
MjQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlU3RhdGVtZW50Lmg+CiAjaW5jbHVkZSA8
d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KIApAQCAtNjksNyArNzAsOSBAQCBwcml2YXRlOgog
ICAgIEFsbG93RGF0YWJhc2VXcml0ZSBtX2FsbG93RGF0YWJhc2VXcml0ZSB7IEFsbG93RGF0YWJh
c2VXcml0ZTo6WWVzIH07CiAgICAgV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UgbV9kYjsKICAgICBI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3BhZ2VVUkxUb0ljb25VUkxNYXA7CisgICAgTG9jayBt
X3BhZ2VVUkxUb0ljb25VUkxNYXBMb2NrOwogICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnBhaXI8
V2ViQ29yZTo6TmF0aXZlSW1hZ2VQdHIsIE1vbm90b25pY1RpbWU+PiBtX2xvYWRlZEljb25zOwor
ICAgIExvY2sgbV9sb2FkZWRJY29uc0xvY2s7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6U1FMaXRlU3RhdGVtZW50PiBtX2ljb25JREZvckljb25VUkxTdGF0ZW1lbnQ7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudD4gbV9zZXRJY29uSURGb3JQYWdl
VVJMU3RhdGVtZW50Owo=
</data>
<flag name="review"
          id="396719"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>