<?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>175719</bug_id>
          
          <creation_ts>2017-08-18 06:09:13 -0700</creation_ts>
          <short_desc>[GTK][WPE] ASSERTION FAILED: !isOpen() in WebKit::IconDatabase::~IconDatabase()</short_desc>
          <delta_ts>2017-08-28 04:18:35 -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>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1340038</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-18 06:09:13 -0700</bug_when>
    <thetext>This is happening always when running /webkit2/WebKitFaviconDatabase/favicon-database-test in debug builds. The last step we do is removing all icons, then the test finishes, which destroys the WebKitFaviconDatabase object that closes the icon database on dispose. The problem is that removing all icons schedules a main thread notification and IconDatabase is not considered closed until all main thread callback have been dispatched. This is never going to happen in the test, because the main loop is no longer running at that point. I don&apos;t think it&apos;s worth it to consider the database open while main thread callbacks are pending, they are just notification and the client is no longer insterested on tehm afer closing the database. I think it&apos;s bettter and simpler to simple cancel the pending callbacks on database close. That ensures that isOpen() after close() is always false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340041</commentid>
    <comment_count>1</comment_count>
      <attachid>318492</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-18 06:15:57 -0700</bug_when>
    <thetext>Created attachment 318492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340042</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-18 06:17:49 -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>1340102</commentid>
    <comment_count>3</comment_count>
      <attachid>318492</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-08-18 09:23:13 -0700</bug_when>
    <thetext>Comment on attachment 318492
Patch

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

Nice!

&gt; Source/WebKit/UIProcess/API/glib/IconDatabase.h:196
&gt; +            if (!m_timer.isActive())

I would add a blank line here.

&gt; Source/WebKit/UIProcess/API/glib/IconDatabase.h:229
&gt; +        RunLoop::Timer&lt;MainThreadNotifier&gt; m_timer;

You&apos;re certain m_timer does not need to be guarded by a lock? Why not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340392</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-19 00:52:57 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; Comment on attachment 318492 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=318492&amp;action=review
&gt; 
&gt; Nice!
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/IconDatabase.h:196
&gt; &gt; +            if (!m_timer.isActive())
&gt; 
&gt; I would add a blank line here.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/IconDatabase.h:229
&gt; &gt; +        RunLoop::Timer&lt;MainThreadNotifier&gt; m_timer;
&gt; 
&gt; You&apos;re certain m_timer does not need to be guarded by a lock? Why not?

Yes, because it&apos;s thread-safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342795</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-28 04:18:35 -0700</bug_when>
    <thetext>Committed r221238: &lt;http://trac.webkit.org/changeset/221238&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318492</attachid>
            <date>2017-08-18 06:15:57 -0700</date>
            <delta_ts>2017-08-18 09:23:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-icon-database-notifications.diff</filename>
            <type>text/plain</type>
            <size>11965</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYzkwOGFhYTM1ZmEuLmRkMGQ2N2RhM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ1IEBACisyMDE3LTA4LTE4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEFTU0VSVElPTiBGQUlMRUQ6ICFpc09wZW4oKSBp
biBXZWJLaXQ6Okljb25EYXRhYmFzZTo6fkljb25EYXRhYmFzZSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3MTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGhhcHBlbmluZyBhbHdheXMg
d2hlbiBydW5uaW5nIC93ZWJraXQyL1dlYktpdEZhdmljb25EYXRhYmFzZS9mYXZpY29uLWRhdGFi
YXNlLXRlc3QgaW4gZGVidWcgYnVpbGRzLiBUaGUKKyAgICAgICAgbGFzdCBzdGVwIHdlIGRvIGlz
IHJlbW92aW5nIGFsbCBpY29ucywgdGhlbiB0aGUgdGVzdCBmaW5pc2hlcywgd2hpY2ggZGVzdHJv
eXMgdGhlIFdlYktpdEZhdmljb25EYXRhYmFzZSBvYmplY3QKKyAgICAgICAgdGhhdCBjbG9zZXMg
dGhlIGljb24gZGF0YWJhc2Ugb24gZGlzcG9zZS4gVGhlIHByb2JsZW0gaXMgdGhhdCByZW1vdmlu
ZyBhbGwgaWNvbnMgc2NoZWR1bGVzIGEgbWFpbiB0aHJlYWQKKyAgICAgICAgbm90aWZpY2F0aW9u
IGFuZCBJY29uRGF0YWJhc2UgaXMgbm90IGNvbnNpZGVyZWQgY2xvc2VkIHVudGlsIGFsbCBtYWlu
IHRocmVhZCBjYWxsYmFja3MgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuIFRoaXMKKyAgICAgICAgaXMg
bmV2ZXIgZ29pbmcgdG8gaGFwcGVuIGluIHRoZSB0ZXN0LCBiZWNhdXNlIHRoZSBtYWluIGxvb3Ag
aXMgbm8gbG9uZ2VyIHJ1bm5pbmcgYXQgdGhhdCBwb2ludC4gSSBkb24ndCB0aGluaworICAgICAg
ICBpdCdzIHdvcnRoIGl0IHRvIGNvbnNpZGVyIHRoZSBkYXRhYmFzZSBvcGVuIHdoaWxlIG1haW4g
dGhyZWFkIGNhbGxiYWNrcyBhcmUgcGVuZGluZywgdGhleSBhcmUganVzdCBub3RpZmljYXRpb25z
CisgICAgICAgIGFuZCB0aGUgY2xpZW50IGlzIG5vIGxvbmdlciBpbnN0ZXJlc3RlZCBvbiB0aGVt
IGFmZXIgY2xvc2luZyB0aGUgZGF0YWJhc2UuIEkgdGhpbmsgaXQncyBiZXR0dGVyIGFuZCBzaW1w
bGVyIHRvCisgICAgICAgIHNpbXBseSBjYW5jZWwgdGhlIHBlbmRpbmcgY2FsbGJhY2tzIG9uIGRh
dGFiYXNlIGNsb3NlLiBUaGF0IGVuc3VyZXMgdGhhdCBpc09wZW4oKSBhZnRlciBjbG9zZSgpIGlz
IGFsd2F5cworICAgICAgICBmYWxzZS4gVGhpcyBwYXRjaCBhZGRzIGEgaGVscGVyIHByaXZhdGUg
Y2xhc3MgdG8gc2NoZWR1bGUgbm90aWZpY2F0aW9ucyB0byB0aGUgbWFpbiB0aHJlYWQgdGhhdCBj
YW4gYmUgY2FuY2VsbGVkCisgICAgICAgIG9uIGRhdGFiYXNlIGNsb3NlLiBJdCBhbHNvIHJlbW92
ZXMgdGhlIGRpZENsb3NlKCkgbm90aWZpY2F0aW9uIGJlY2F1c2UgaXQgd2FzIHVudXNlZCBhbmQg
YmVjYXVzZSBpdCdzIHBvaW50bGVzcworICAgICAgICBub3cgdGhhdCB3ZSBrbm93IHRoZSBkYXRh
YmFzZSBpcyBjbG9zZWQgYWZ0ZXIgY2xvc2UoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z2xpYi9JY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Om9w
ZW4pOiBNYXJrIHRoZSBtYWluIHRocmVhZCBub3RpZmllciBhcyBhY3RpdmUuCisgICAgICAgIChX
ZWJLaXQ6Okljb25EYXRhYmFzZTo6Y2xvc2UpOiBNYXJrIHRoZSBtYWluIHRocmVhZCBub3RpZmll
ciBhcyBub3QgYWN0aXZlLgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Okljb25EYXRh
YmFzZSk6IFJlbW92ZSBtX21haW5UaHJlYWRDYWxsYmFja0NvdW50IGluaXRpYWxpemF0aW9uLgor
ICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmlzT3BlbiBjb25zdCk6IERvIHdoYXQgaXNP
cGVuQmVzaWRlc01haW5UaHJlYWRDYWxsYmFja3MoKSB1c2VkIHRvIGRvLgorICAgICAgICAoV2Vi
S2l0OjpJY29uRGF0YWJhc2U6OnJlbW92ZUFsbEljb25zT25UaHJlYWQpOiBSZW1vdmUgdGhlIG5v
dGlmaWNhdGlvbiBiZWNhdXNlIGl0J3MgY3VycmVudGx5IHVudXNlZC4KKyAgICAgICAgKFdlYktp
dDo6SWNvbkRhdGFiYXNlOjpkaXNwYXRjaERpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMT25NYWlu
VGhyZWFkKTogVXNlIE1haW5UaHJlYWROb3RpZmllci4KKyAgICAgICAgKFdlYktpdDo6SWNvbkRh
dGFiYXNlOjpkaXNwYXRjaERpZEltcG9ydEljb25EYXRhRm9yUGFnZVVSTE9uTWFpblRocmVhZCk6
IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmRpc3BhdGNoRGlkRmluaXNo
VVJMSW1wb3J0T25NYWluVGhyZWFkKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6Okljb25EYXRh
YmFzZTo6aXNPcGVuQmVzaWRlc01haW5UaHJlYWRDYWxsYmFja3MgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmNoZWNrQ2xvc2VkQWZ0ZXJNYWluVGhyZWFk
Q2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6OmRpc3Bh
dGNoRGlkUmVtb3ZlQWxsSWNvbnNPbk1haW5UaHJlYWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYktpdDo6SWNvbkRh
dGFiYXNlQ2xpZW50OjpkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6
Okljb25EYXRhYmFzZUNsaWVudDo6ZGlkRmluaXNoVVJMSW1wb3J0KToKKyAgICAgICAgKFdlYktp
dDo6SWNvbkRhdGFiYXNlOjpNYWluVGhyZWFkTm90aWZpZXI6Ok1haW5UaHJlYWROb3RpZmllcik6
CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6TWFpblRocmVhZE5vdGlmaWVyOjpzZXRB
Y3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Ok1haW5UaHJlYWROb3RpZmll
cjo6bm90aWZ5KToKKyAgICAgICAgKFdlYktpdDo6SWNvbkRhdGFiYXNlOjpNYWluVGhyZWFkTm90
aWZpZXI6OnN0b3ApOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Ok1haW5UaHJlYWRO
b3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZUNsaWVu
dDo6ZGlkUmVtb3ZlQWxsSWNvbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0
YWJhc2VDbGllbnQ6OmRpZENsb3NlKTogRGVsZXRlZC4KKwogMjAxNy0wOC0xOCAgQ29tbWl0IFF1
ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjIyMDg1NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDBlMjVhNjdkNjBjLi4yMjA4ZWFlZjA1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCkBA
IC04Niw3ICs4Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEltcG9ydEljb25VUkxGb3JQYWdl
VVJMKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgZGlkSW1wb3J0SWNvbkRh
dGFGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgZGlkQ2hh
bmdlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGUgeyB9Ci0gICAgdm9pZCBk
aWRSZW1vdmVBbGxJY29ucygpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgZGlkRmluaXNoVVJMSW1w
b3J0KCkgb3ZlcnJpZGUgeyB9CiB9OwogCkBAIC0yMTAsNiArMjA5LDggQEAgYm9vbCBJY29uRGF0
YWJhc2U6Om9wZW4oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnksIGNvbnN0IFN0cmluZyYgZmlsZW5h
bWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBtX21haW5UaHJlYWROb3Rp
Zmllci5zZXRBY3RpdmUodHJ1ZSk7CisKICAgICBtX2RhdGFiYXNlRGlyZWN0b3J5ID0gZGlyZWN0
b3J5Lmlzb2xhdGVkQ29weSgpOwogCiAgICAgLy8gRm9ybXVsYXRlIHRoZSBmdWxsIHBhdGggZm9y
IHRoZSBkYXRhYmFzZSBmaWxlCkBAIC0yMzIsNiArMjMzLDggQEAgdm9pZCBJY29uRGF0YWJhc2U6
OmNsb3NlKCkKIHsKICAgICBBU1NFUlRfTk9UX1NZTkNfVEhSRUFEKCk7CiAKKyAgICBtX21haW5U
aHJlYWROb3RpZmllci5zdG9wKCk7CisKICAgICBpZiAobV9zeW5jVGhyZWFkUnVubmluZykgewog
ICAgICAgICAvLyBTZXQgdGhlIGZsYWcgdG8gdGVsbCB0aGUgc3luYyB0aHJlYWQgdG8gd3JhcCBp
dCB1cAogICAgICAgICBtX3RocmVhZFRlcm1pbmF0aW9uUmVxdWVzdGVkID0gdHJ1ZTsKQEAgLTI0
OSwxMSArMjUyLDYgQEAgdm9pZCBJY29uRGF0YWJhc2U6OmNsb3NlKCkKIAogICAgIG1fc3luY0RC
LmNsb3NlKCk7CiAKLSAgICAvLyBJZiB0aGVyZSBhcmUgc3RpbGwgbWFpbiB0aHJlYWQgY2FsbGJh
Y2tzIGluIGZsaWdodCB0aGVuIHRoZSBkYXRhYmFzZSBtaWdodCBub3QgYWN0dWFsbHkgYmUgY2xv
c2VkIHlldC4KLSAgICAvLyBCdXQgaWYgaXQgaXMgY2xvc2VkLCBub3RpZnkgdGhlIGNsaWVudCBu
b3cuCi0gICAgaWYgKCFpc09wZW4oKSAmJiBtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPmRp
ZENsb3NlKCk7Ci0KICAgICBtX2NsaWVudCA9IG51bGxwdHI7CiB9CiAKQEAgLTczNCw3ICs3MzIs
NiBAQCB2b2lkIEljb25EYXRhYmFzZTo6Y2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nKCkKIAog
SWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoKQogICAgIDogbV9zeW5jVGltZXIoUnVuTG9vcDo6
bWFpbigpLCB0aGlzLCAmSWNvbkRhdGFiYXNlOjpzeW5jVGltZXJGaXJlZCkKLSAgICAsIG1fbWFp
blRocmVhZENhbGxiYWNrQ291bnQoMCkKICAgICAsIG1fY2xpZW50KGRlZmF1bHRDbGllbnQoKSkK
IHsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiQ3JlYXRpbmcgSWNvbkRhdGFiYXNlICVwIiwgdGhp
cyk7CkBAIC03NzksMTEgKzc3Niw2IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzeW5jVGltZXJGaXJl
ZCgpCiAvLyAqKioqKioqKioqKioqKioqKioKIAogYm9vbCBJY29uRGF0YWJhc2U6OmlzT3Blbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzT3BlbkJlc2lkZXNNYWluVGhyZWFkQ2FsbGJhY2tzKCkg
fHwgbV9tYWluVGhyZWFkQ2FsbGJhY2tDb3VudDsKLX0KLQotYm9vbCBJY29uRGF0YWJhc2U6Omlz
T3BlbkJlc2lkZXNNYWluVGhyZWFkQ2FsbGJhY2tzKCkgY29uc3QKIHsKICAgICBMb2NrSG9sZGVy
IGxvY2tlcihtX3N5bmNMb2NrKTsKICAgICByZXR1cm4gbV9zeW5jVGhyZWFkUnVubmluZyB8fCBt
X3N5bmNEQi5pc09wZW4oKTsKQEAgLTE2MTksOSArMTYxMSw2IEBAIHZvaWQgSWNvbkRhdGFiYXNl
OjpyZW1vdmVBbGxJY29uc09uVGhyZWFkKCkKICAgICBtX3N5bmNEQi5jbGVhckFsbFRhYmxlcygp
OwogICAgIG1fc3luY0RCLnJ1blZhY3V1bUNvbW1hbmQoKTsKICAgICBjcmVhdGVEYXRhYmFzZVRh
YmxlcyhtX3N5bmNEQik7Ci0KLSAgICBMT0coSWNvbkRhdGFiYXNlLCAiRGlzcGF0Y2hpbmcgbm90
aWZpY2F0aW9uIHRoYXQgd2UgcmVtb3ZlZCBhbGwgaWNvbnMiKTsKLSAgICBkaXNwYXRjaERpZFJl
bW92ZUFsbEljb25zT25NYWluVGhyZWFkKCk7CiB9CiAKIHZvaWQgSWNvbkRhdGFiYXNlOjpkZWxl
dGVBbGxQcmVwYXJlZFN0YXRlbWVudHMoKQpAQCAtMTkzMiw2OCArMTkyMSwzMyBAQCB2b2lkIElj
b25EYXRhYmFzZTo6d3JpdGVJY29uU25hcHNob3RUb1NRTERhdGFiYXNlKGNvbnN0IEljb25TbmFw
c2hvdCYgc25hcHNob3QpCiAgICAgfQogfQogCi12b2lkIEljb25EYXRhYmFzZTo6Y2hlY2tDbG9z
ZWRBZnRlck1haW5UaHJlYWRDYWxsYmFjaygpCi17Ci0gICAgQVNTRVJUX05PVF9TWU5DX1RIUkVB
RCgpOwotCi0gICAgLy8gSWYgdGhlcmUgYXJlIHN0aWxsIGNhbGxiYWNrcyBpbiBmbGlnaHQgZnJv
bSB0aGUgc3luYyB0aHJlYWQgd2UgY2Fubm90IHBvc3NpYmx5IGJlIGNsb3NlZC4KLSAgICBpZiAo
LS1tX21haW5UaHJlYWRDYWxsYmFja0NvdW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBF
dmVuIGlmIHRoZXJlJ3Mgbm8gbW9yZSBwZW5kaW5nIGNhbGxiYWNrcyB0aGUgZGF0YWJhc2UgbWln
aHQgb3RoZXJ3aXNlIHN0aWxsIGJlIG9wZW4uCi0gICAgaWYgKGlzT3BlbkJlc2lkZXNNYWluVGhy
ZWFkQ2FsbGJhY2tzKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRoaXMgZGF0YWJhc2Ug
aXMgbm93IGFjdHVhbGx5IGNsb3NlZCEgQnV0IGZpcnN0IG5vdGlmeSB0aGUgY2xpZW50LgotICAg
IGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPmRpZENsb3NlKCk7Ci19Ci0KIHZvaWQg
SWNvbkRhdGFiYXNlOjpkaXNwYXRjaERpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMT25NYWluVGhy
ZWFkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVB
RCgpOwotICAgICsrbV9tYWluVGhyZWFkQ2FsbGJhY2tDb3VudDsKIAotICAgIGNhbGxPbk1haW5U
aHJlYWQoW3RoaXMsIHBhZ2VVUkwgPSBwYWdlVVJMLmlzb2xhdGVkQ29weSgpXSB7CisgICAgbV9t
YWluVGhyZWFkTm90aWZpZXIubm90aWZ5KFt0aGlzLCBwYWdlVVJMID0gcGFnZVVSTC5pc29sYXRl
ZENvcHkoKV0gewogICAgICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgICAgICBtX2NsaWVudC0+
ZGlkSW1wb3J0SWNvblVSTEZvclBhZ2VVUkwocGFnZVVSTCk7Ci0gICAgICAgIGNoZWNrQ2xvc2Vk
QWZ0ZXJNYWluVGhyZWFkQ2FsbGJhY2soKTsKICAgICB9KTsKIH0KIAogdm9pZCBJY29uRGF0YWJh
c2U6OmRpc3BhdGNoRGlkSW1wb3J0SWNvbkRhdGFGb3JQYWdlVVJMT25NYWluVGhyZWFkKGNvbnN0
IFN0cmluZyYgcGFnZVVSTCkKIHsKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgpOwotICAg
ICsrbV9tYWluVGhyZWFkQ2FsbGJhY2tDb3VudDsKIAotICAgIGNhbGxPbk1haW5UaHJlYWQoW3Ro
aXMsIHBhZ2VVUkwgPSBwYWdlVVJMLmlzb2xhdGVkQ29weSgpXSB7CisgICAgbV9tYWluVGhyZWFk
Tm90aWZpZXIubm90aWZ5KFt0aGlzLCBwYWdlVVJMID0gcGFnZVVSTC5pc29sYXRlZENvcHkoKV0g
ewogICAgICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgICAgICBtX2NsaWVudC0+ZGlkSW1wb3J0
SWNvbkRhdGFGb3JQYWdlVVJMKHBhZ2VVUkwpOwotICAgICAgICBjaGVja0Nsb3NlZEFmdGVyTWFp
blRocmVhZENhbGxiYWNrKCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgSWNvbkRhdGFiYXNlOjpkaXNw
YXRjaERpZFJlbW92ZUFsbEljb25zT25NYWluVGhyZWFkKCkKLXsKLSAgICBBU1NFUlRfSUNPTl9T
WU5DX1RIUkVBRCgpOwotICAgICsrbV9tYWluVGhyZWFkQ2FsbGJhY2tDb3VudDsKLQotICAgIGNh
bGxPbk1haW5UaHJlYWQoW3RoaXNdIHsKLSAgICAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICAg
ICAgbV9jbGllbnQtPmRpZFJlbW92ZUFsbEljb25zKCk7Ci0gICAgICAgIGNoZWNrQ2xvc2VkQWZ0
ZXJNYWluVGhyZWFkQ2FsbGJhY2soKTsKICAgICB9KTsKIH0KIAogdm9pZCBJY29uRGF0YWJhc2U6
OmRpc3BhdGNoRGlkRmluaXNoVVJMSW1wb3J0T25NYWluVGhyZWFkKCkKIHsKICAgICBBU1NFUlRf
SUNPTl9TWU5DX1RIUkVBRCgpOwotICAgICsrbV9tYWluVGhyZWFkQ2FsbGJhY2tDb3VudDsKIAot
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXNdIHsKKyAgICBtX21haW5UaHJlYWROb3RpZmllci5u
b3RpZnkoW3RoaXNdIHsKICAgICAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICAgICAgbV9jbGll
bnQtPmRpZEZpbmlzaFVSTEltcG9ydCgpOwotICAgICAgICBjaGVja0Nsb3NlZEFmdGVyTWFpblRo
cmVhZENhbGxiYWNrKCk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmgKaW5kZXggNmYxMGU0MTJkNjIuLjdmYzljZWIyZGRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2Uu
aApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgorI2luY2x1ZGUgPHd0Zi9n
bGliL1J1bkxvb3BTb3VyY2VQcmlvcml0eS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDksOSArNTAsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMKGNv
bnN0IFN0cmluZyYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRJbXBvcnRJY29uRGF0YUZvclBh
Z2VVUkwoY29uc3QgU3RyaW5nJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUljb25G
b3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVB
bGxJY29ucygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hVUkxJbXBvcnQoKSB7IH0K
LSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoKSB7IH0KIH07CiAKIGNsYXNzIEljb25EYXRhYmFz
ZSB7CkBAIC0xNzIsNiArMTcxLDY0IEBAIHByaXZhdGU6CiAgICAgICAgIGludCBtX3JldGFpbkNv
dW50IHsgMCB9OwogICAgIH07CiAKKyAgICBjbGFzcyBNYWluVGhyZWFkTm90aWZpZXIgeworICAg
IHB1YmxpYzoKKyAgICAgICAgTWFpblRocmVhZE5vdGlmaWVyKCkKKyAgICAgICAgICAgIDogbV90
aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZNYWluVGhyZWFkTm90aWZpZXI6OnRpbWVyRmly
ZWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fdGltZXIuc2V0UHJpb3JpdHkoUnVuTG9vcFNv
dXJjZVByaW9yaXR5OjpNYWluVGhyZWFkRGlzcGF0Y2hlclRpbWVyKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKQorICAgICAgICB7CisgICAgICAgICAg
ICBtX2lzQWN0aXZlLnN0b3JlKGFjdGl2ZSk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIG5v
dGlmeShGdW5jdGlvbjx2b2lkKCk+JiYgbm90aWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAg
ICAgICBpZiAoIW1faXNBY3RpdmUubG9hZCgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fbm90aWZp
Y2F0aW9uUXVldWVMb2NrKTsKKyAgICAgICAgICAgICAgICBtX25vdGlmaWNhdGlvblF1ZXVlLmFw
cGVuZChXVEZNb3ZlKG5vdGlmaWNhdGlvbikpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgc3RvcCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHNldEFjdGl2ZShmYWxzZSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0b3Ao
KTsKKyAgICAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fbm90aWZpY2F0aW9uUXVldWVMb2Nr
KTsKKyAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUXVldWUuY2xlYXIoKTsKKyAgICAgICAgfQor
CisgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCB0aW1lckZpcmVkKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgRGVxdWU8RnVuY3Rpb248dm9pZCgpPj4gbm90aWZpY2F0aW9uUXVldWU7CisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9ub3RpZmljYXRp
b25RdWV1ZUxvY2spOworICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblF1ZXVlID0gV1RGTW92
ZShtX25vdGlmaWNhdGlvblF1ZXVlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg
KCFtX2lzQWN0aXZlLmxvYWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
ICAgIHdoaWxlICghbm90aWZpY2F0aW9uUXVldWUuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAg
ICAgYXV0byBmdW5jdGlvbiA9IG5vdGlmaWNhdGlvblF1ZXVlLnRha2VGaXJzdCgpOworICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICBEZXF1ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX25vdGlmaWNhdGlvblF1ZXVlOworICAgICAgICBM
b2NrIG1fbm90aWZpY2F0aW9uUXVldWVMb2NrOworICAgICAgICBBdG9taWM8Ym9vbD4gbV9pc0Fj
dGl2ZTsKKyAgICAgICAgUnVuTG9vcDo6VGltZXI8TWFpblRocmVhZE5vdGlmaWVyPiBtX3RpbWVy
OworICAgIH07CisKIC8vICoqKiBNYWluIFRocmVhZCBPbmx5ICoqKgogcHVibGljOgogICAgIElj
b25EYXRhYmFzZSgpOwpAQCAtMjg3LDkgKzM0NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwZXJm
b3JtUmV0YWluSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiwgaW50IHJldGFpbkNvdW50KTsK
ICAgICB2b2lkIHBlcmZvcm1SZWxlYXNlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiwgaW50
IHJlbGVhc2VDb3VudCk7CiAKLSAgICBib29sIGlzT3BlbkJlc2lkZXNNYWluVGhyZWFkQ2FsbGJh
Y2tzKCkgY29uc3Q7Ci0gICAgdm9pZCBjaGVja0Nsb3NlZEFmdGVyTWFpblRocmVhZENhbGxiYWNr
KCk7Ci0KICAgICBib29sIG1faW5pdGlhbFBydW5pbmdDb21wbGV0ZSB7IGZhbHNlIH07CiAKICAg
ICB2b2lkIHNldEljb25VUkxGb3JQYWdlVVJMSW5TUUxEYXRhYmFzZShjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmKTsKQEAgLTMwNiw5ICszNjAsNyBAQCBwcml2YXRlOgogICAgIC8vIE1ldGhv
ZHMgdG8gZGlzcGF0Y2ggY2xpZW50IGNhbGxiYWNrcyBvbiB0aGUgbWFpbiB0aHJlYWQKICAgICB2
b2lkIGRpc3BhdGNoRGlkSW1wb3J0SWNvblVSTEZvclBhZ2VVUkxPbk1haW5UaHJlYWQoY29uc3Qg
U3RyaW5nJik7CiAgICAgdm9pZCBkaXNwYXRjaERpZEltcG9ydEljb25EYXRhRm9yUGFnZVVSTE9u
TWFpblRocmVhZChjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkUmVtb3ZlQWxs
SWNvbnNPbk1haW5UaHJlYWQoKTsKICAgICB2b2lkIGRpc3BhdGNoRGlkRmluaXNoVVJMSW1wb3J0
T25NYWluVGhyZWFkKCk7Ci0gICAgc3RkOjphdG9taWM8dWludDMyX3Q+IG1fbWFpblRocmVhZENh
bGxiYWNrQ291bnQ7CiAKICAgICAvLyBUaGUgY2xpZW50IGlzIHNldCBieSB0aGUgbWFpbiB0aHJl
YWQgYmVmb3JlIHRoZSB0aHJlYWQgc3RhcnRzLCBhbmQgZnJvbSB0aGVuIG9uIGlzIG9ubHkgdXNl
ZCBieSB0aGUgc3luYyB0aHJlYWQKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SWNvbkRhdGFiYXNlQ2xp
ZW50PiBtX2NsaWVudDsKQEAgLTMyOSw2ICszODEsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQ+IG1fdXBkYXRlSWNvbkRhdGFTdGF0ZW1l
bnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudD4gbV9zZXRJ
Y29uSW5mb1N0YXRlbWVudDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6U1FMaXRlU3Rh
dGVtZW50PiBtX3NldEljb25EYXRhU3RhdGVtZW50OworCisgICAgTWFpblRocmVhZE5vdGlmaWVy
IG1fbWFpblRocmVhZE5vdGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="338883"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>