<?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>280180</bug_id>
          
          <creation_ts>2024-09-23 05:22:24 -0700</creation_ts>
          <short_desc>[GTK] WebKitWebProcess left running when WebView is freed</short_desc>
          <delta_ts>2024-09-23 05:56:49 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>279914</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Milan Crha">mcrha</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2062295</commentid>
    <comment_count>0</comment_count>
      <attachid>472638</attachid>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2024-09-23 05:22:24 -0700</bug_when>
    <thetext>Created attachment 472638
reproducer (wk2.c)

Moving this from a downstream bug report:
https://gitlab.gnome.org/GNOME/evolution/-/issues/2855

In short, when a user moves between mails in Evolution, each newly showed mail adds a new WebKitWebProcess and leaves behind running &quot;the previous&quot; WebKitWebProcess. This is new in the WebKitGTK 2.46.0 release.

While it&apos;s much easier to reproduce under Evolution, I managed to reproduce something similar in an outside application (attached here). The first line contains how to compile and run it.

Steps:
1. run `./wk2` - one WebKitWebProcess (with *two* of its bwrap-s) are running
2. click on the &quot;Add Web View&quot; button - two  WebKitWebProcess-es (with *two* of its bwrap-s for each) are running
3. click on the &quot;Reload&quot; button near the bottom of the window - three  WebKitWebProcess-es (with *two* of its bwrap-s for each) are running
4. click the &quot;X&quot; button beside the &quot;Reload&quot; button - two  WebKitWebProcess-es (with *two* of its bwrap-s for each) are running

The test app shows which WebKitWebView-s had been created and when they are freed, confirming they do not leak.

I ran `ps ax | grep WebKitWebP` after each step and it shows this:

$ ps ax | grep WebKitWebP   (after step 1.)
   7192 pts/0    S+     0:00 /usr/bin/bwrap --args 129 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7193 pts/0    S+     0:00 /usr/bin/bwrap --args 129 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7194 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7228 pts/1    S+     0:00 grep --color=auto WebKitWebP
$ ps ax | grep WebKitWebP   (after step 2.)
   7192 pts/0    S+     0:00 /usr/bin/bwrap --args 129 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7193 pts/0    S+     0:00 /usr/bin/bwrap --args 129 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7194 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 16 121 120
   7231 pts/0    S+     0:00 /usr/bin/bwrap --args 139 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7232 pts/0    S+     0:00 /usr/bin/bwrap --args 139 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7233 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7250 pts/1    S+     0:00 grep --color=auto WebKitWebP
$ ps ax | grep WebKitWebP   (after step 3.)
   7231 pts/0    S+     0:00 /usr/bin/bwrap --args 139 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7232 pts/0    S+     0:00 /usr/bin/bwrap --args 139 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7233 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 26 131 133
   7253 pts/0    S+     0:00 /usr/bin/bwrap --args 142 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7254 pts/0    S+     0:00 /usr/bin/bwrap --args 142 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7255 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7273 pts/0    S+     0:00 /usr/bin/bwrap --args 146 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7274 pts/0    S+     0:00 /usr/bin/bwrap --args 146 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7277 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7289 pts/1    S+     0:00 grep --color=auto WebKitWebP
$ ps ax | grep WebKitWebP   (after step 4.)
   7253 pts/0    S+     0:00 /usr/bin/bwrap --args 142 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7254 pts/0    S+     0:00 /usr/bin/bwrap --args 142 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7255 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 33 133 136
   7273 pts/0    S+     0:00 /usr/bin/bwrap --args 146 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7274 pts/0    S+     0:00 /usr/bin/bwrap --args 146 -- /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7277 pts/0    SLl+   0:00 /usr/libexec/webkit2gtk-4.1/WebKitWebProcess 38 137 139
   7294 pts/1    S+     0:00 grep --color=auto WebKitWebP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2062304</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2024-09-23 05:56:49 -0700</bug_when>
    <thetext>Unfortunately I&apos;m totally unable to reproduce this in Evolution, which makes it hard to help. I&apos;ll try running your test application, though, and let you know what I see in the other bug report.

*** This bug has been marked as a duplicate of bug 279914 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>472638</attachid>
            <date>2024-09-23 05:22:24 -0700</date>
            <delta_ts>2024-09-23 05:22:24 -0700</delta_ts>
            <desc>reproducer (wk2.c)</desc>
            <filename>wk2.c</filename>
            <type>text/plain</type>
            <size>12748</size>
            <attacher name="Milan Crha">mcrha</attacher>
            
              <data encoding="base64">LyogZ2NjIGBwa2ctY29uZmlnIC0tY2ZsYWdzIC0tbGlicyBndGsrLTMuMCB3ZWJraXQyZ3RrLTQu
MWAgd2syLmMgLWcgLU8wIC1vIHdrMiAmJiAuL3drMiAqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNp
bmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8Z3RrL2d0ay5o
PgojaW5jbHVkZSA8d2Via2l0Mi93ZWJraXQyLmg+CgpzdGF0aWMgR1RpbWVyICp0aW1lciA9IE5V
TEw7CgpzdGF0aWMgdm9pZApyZWFkeV90b19zaG93X2NiIChXZWJLaXRXZWJWaWV3ICp3ZWJfdmll
dywKCQkgIGdwb2ludGVyIHVzZXJfZGF0YSkKewoJLy9wcmludGYgKCIgICAgICVzOiBhZnRlciAl
Z3NcbiIsIF9fRlVOQ1RJT05fXywgZ190aW1lcl9lbGFwc2VkICh0aW1lciwgTlVMTCkpOwp9Cgpz
dGF0aWMgdm9pZApsb2FkX2NoYW5nZWRfY2IgKFdlYktpdFdlYlZpZXcgKndlYl92aWV3LAoJCSBX
ZWJLaXRMb2FkRXZlbnQgbG9hZF9ldmVudCwKCQkgZ3BvaW50ZXIgdXNlcl9kYXRhKQp7CgkvKnBy
aW50ZiAoIiAgICAgJXM6ICVzIGFmdGVyICVncyBvbiB2aWV3OiVwIFdlYlBhZ2UgJSIgR19HVUlO
VDY0X0ZPUk1BVCAiXG4iLCBfX0ZVTkNUSU9OX18sCgkJbG9hZF9ldmVudCA9PSBXRUJLSVRfTE9B
RF9TVEFSVEVEID8gIldFQktJVF9MT0FEX1NUQVJURUQiIDoKCQlsb2FkX2V2ZW50ID09IFdFQktJ
VF9MT0FEX1JFRElSRUNURUQgPyAiV0VCS0lUX0xPQURfUkVESVJFQ1RFRCIgOgoJCWxvYWRfZXZl
bnQgPT0gV0VCS0lUX0xPQURfQ09NTUlUVEVEID8gIldFQktJVF9MT0FEX0NPTU1JVFRFRCIgOgoJ
CWxvYWRfZXZlbnQgPT0gV0VCS0lUX0xPQURfRklOSVNIRUQgPyAiV0VCS0lUX0xPQURfRklOSVNI
RUQiIDogIj8/PyIsCgkJZ190aW1lcl9lbGFwc2VkICh0aW1lciwgTlVMTCksCgkJd2ViX3ZpZXcs
IHdlYmtpdF93ZWJfdmlld19nZXRfcGFnZV9pZCAod2ViX3ZpZXcpKTsqLwp9CgpzdGF0aWMgY29u
c3QgZ2NoYXIgKmh0bWxfY29udGVudCA9CgkiPGh0bWw+PGhlYWQ+PGxpbmsgcmVsPSdwcmVjb25u
ZWN0JyBocmVmPSdodHRwczovL3ByZWNvbm5lY3QuZXhhbXBsZS5jb20nPjwvaGVhZD48Ym9keT4i
CgkiVGV4dDxicj4iCgkiPC9ib2R5PjwvaHRtbD4iOwoKc3RhdGljIGdpbnQgZ2xvYl9zdGFtcCA9
IDA7CgpzdGF0aWMgZ2Jvb2xlYW4KZmlsbF93ZWJfdmlld19jYiAoZ3BvaW50ZXIgd2ViX3ZpZXcp
CnsKCWdjaGFyICpodG1sLCAqdXJpOwoKCWdsb2Jfc3RhbXArKzsKCglodG1sID0gZ19zdHJkdXBf
cHJpbnRmIChodG1sX2NvbnRlbnQsIGdsb2Jfc3RhbXApOwoJdXJpID0gZ19zdHJkdXBfcHJpbnRm
ICgiZmlsZTovL2hlcmUvSW5ib3g/cGFyYW09eCZzdGFtcD0lZCIsIGdsb2Jfc3RhbXApOwoKCS8v
cHJpbnRmICgiJXM6IGV4cGVjdGluZyBzdGFtcDolZFxuIiwgX19GVU5DVElPTl9fLCBnbG9iX3N0
YW1wKTsKCXdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwgKHdlYl92aWV3LCBodG1sLCB1cmkpOwoK
CWdfZnJlZSAoaHRtbCk7CglnX2ZyZWUgKHVyaSk7CglnX29iamVjdF91bnJlZiAod2ViX3ZpZXcp
OwoKCXJldHVybiBGQUxTRTsKfQoKc3RhdGljIHZvaWQKcmVsb2FkX2NiIChHdGtXaWRnZXQgKmJ1
dHRvbiwKCSAgIFdlYktpdFdlYlZpZXcgKndlYl92aWV3KQp7CglnY2hhciAqaHRtbCwgKnVyaTsK
CS8qV2ViS2l0UHJpbnRPcGVyYXRpb24gKnBybjsKCglwcm4gPSB3ZWJraXRfcHJpbnRfb3BlcmF0
aW9uX25ldyAod2ViX3ZpZXcpOwoJd2Via2l0X3ByaW50X29wZXJhdGlvbl9ydW5fZGlhbG9nIChw
cm4sIE5VTEwpOwoJZ19vYmplY3RfdW5yZWYgKHBybik7Ki8KCS8vd2Via2l0X3dlYl9pbnNwZWN0
b3Jfc2hvdyAod2Via2l0X3dlYl92aWV3X2dldF9pbnNwZWN0b3IgKHdlYl92aWV3KSk7CgoJZ2xv
Yl9zdGFtcCsrOwoKCWh0bWwgPSBnX3N0cmR1cF9wcmludGYgKCI8aHRtbD48aGVhZD48bGluayBy
ZWw9J3ByZWNvbm5lY3QnIGhyZWY9J2h0dHBzOi8vcHJlY29ubmVjdC5leGFtcGxlLmNvbSc+PC9o
ZWFkPjxib2R5PkxvYWRpbmcuLi4gKHN0YW1wICVkKTwvYm9keT48L2h0bWw+IiwgZ2xvYl9zdGFt
cCk7Cgl1cmkgPSBnX3N0cmR1cF9wcmludGYgKCJldm8tZmlsZTovLy8/c3RhbXA9JWQiLCBnbG9i
X3N0YW1wKTsKCgkvL3ByaW50ZiAoIiVzOiAlcDogcGFnZS1pZDolIiBHX0dVSU5UNjRfRk9STUFU
ICIgc3RhbXA6JWRcbiIsIF9fRlVOQ1RJT05fXywgd2ViX3ZpZXcsIHdlYmtpdF93ZWJfdmlld19n
ZXRfcGFnZV9pZCAod2ViX3ZpZXcpLCBnbG9iX3N0YW1wKTsKCXdlYmtpdF93ZWJfdmlld19sb2Fk
X2h0bWwgKHdlYl92aWV3LCBodG1sLCB1cmkpOwoKCWdfZnJlZSAoaHRtbCk7CglnX2ZyZWUgKHVy
aSk7CgoJZ190aW1lb3V0X2FkZCAoNzAsIGZpbGxfd2ViX3ZpZXdfY2IsIGdfb2JqZWN0X3JlZiAo
d2ViX3ZpZXcpKTsKfQoKZ2Jvb2xlYW4KZGVjaWRlX3BvbGljeV9jYiAoV2ViS2l0V2ViVmlldyAq
d2ViX3ZpZXcsCgkJICBXZWJLaXRQb2xpY3lEZWNpc2lvbiAqZGVjaXNpb24sCgkJICBXZWJLaXRQ
b2xpY3lEZWNpc2lvblR5cGUgZGVjaXNpb25fdHlwZSwKCQkgIGdwb2ludGVyIHVzZXJfZGF0YSkK
ewoJcHJpbnRmICgiICAgICAgJXM6IGRlY2lzaW9uX3R5cGU6JXMgdmlldzolcCBwYWdlLWlkOiUi
IEdfR1VJTlQ2NF9GT1JNQVQgIlxuIiwgX19GVU5DVElPTl9fLAoJCWRlY2lzaW9uX3R5cGUgPT0g
V0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX05BVklHQVRJT05fQUNUSU9OID8gIldFQktJVF9Q
T0xJQ1lfREVDSVNJT05fVFlQRV9OQVZJR0FUSU9OX0FDVElPTiIgOgoJCWRlY2lzaW9uX3R5cGUg
PT0gV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX05FV19XSU5ET1dfQUNUSU9OID8gIldFQktJ
VF9QT0xJQ1lfREVDSVNJT05fVFlQRV9ORVdfV0lORE9XX0FDVElPTiIgOgoJCWRlY2lzaW9uX3R5
cGUgPT0gV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX1JFU1BPTlNFID8gIldFQktJVF9QT0xJ
Q1lfREVDSVNJT05fVFlQRV9SRVNQT05TRSIgOiAiPz8iLAoJCXdlYl92aWV3LCB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3BhZ2VfaWQgKHdlYl92aWV3KSk7CglpZiAoZGVjaXNpb25fdHlwZSA9PSBXRUJL
SVRfUE9MSUNZX0RFQ0lTSU9OX1RZUEVfUkVTUE9OU0UpIHsKCQlXZWJLaXRVUklSZXF1ZXN0ICpy
ZXEgPSB3ZWJraXRfcmVzcG9uc2VfcG9saWN5X2RlY2lzaW9uX2dldF9yZXF1ZXN0IChXRUJLSVRf
UkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OIChkZWNpc2lvbikpOwoJCXByaW50ZiAoIiAgICAgICAg
ICVzOiByZXE6JyVzJ1xuIiwgX19GVU5DVElPTl9fLCB3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3Vy
aSAocmVxKSk7Cgl9IGVsc2UgaWYgKGRlY2lzaW9uX3R5cGUgPT0gV0VCS0lUX1BPTElDWV9ERUNJ
U0lPTl9UWVBFX05BVklHQVRJT05fQUNUSU9OKSB7CgkJV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiAq
bmF2ID0gd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0aW9uX2Fj
dGlvbiAoV0VCS0lUX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OIChkZWNpc2lvbikpOwoJCVdl
YktpdFVSSVJlcXVlc3QgKnJlcSA9IHdlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfcmVxdWVz
dCAobmF2KTsKCQlwcmludGYgKCIgICAgICAgICAlczogcmVxOiclcydcbiIsIF9fRlVOQ1RJT05f
Xywgd2Via2l0X3VyaV9yZXF1ZXN0X2dldF91cmkgKHJlcSkpOwoJfSBlbHNlIHsKCQl3ZWJraXRf
cG9saWN5X2RlY2lzaW9uX3VzZSAoZGVjaXNpb24pOwoJfQoKCXJldHVybiBUUlVFOwp9CgpzdGF0
aWMgZ2Jvb2xlYW4KcGVybWlzc2lvbl9yZXF1ZXN0X2NiIChXZWJLaXRXZWJWaWV3ICp3ZWJfdmll
dywKCQkgICAgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3QsCgkJICAgICAgIGdw
b2ludGVyIHVzZXJfZGF0YSkKewoJcHJpbnRmICgiJXM6XG4iLCBfX0ZVTkNUSU9OX18pOwoJd2Vi
a2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyAocmVxdWVzdCk7CgoJcmV0dXJuIFRSVUU7Cn0K
CnN0YXRpYyBnYm9vbGVhbgpjbGFpbV93ZWJfdmlld19wYWdlX2lkX2NiIChncG9pbnRlciB1c2Vy
X2RhdGEpCnsKCVdlYktpdFdlYlZpZXcgKndlYl92aWV3ID0gdXNlcl9kYXRhOwoKCWdfcmV0dXJu
X3ZhbF9pZl9mYWlsIChXRUJLSVRfSVNfV0VCX1ZJRVcgKHdlYl92aWV3KSwgRkFMU0UpOwoKCXBy
aW50ZiAoIiAgIFdlYlZpZXc6JXAgaGFuZGxlcyBXZWJQYWdlIElEICUiIEdfR1VJTlQ2NF9GT1JN
QVQgIlxuIiwgd2ViX3ZpZXcsIHdlYmtpdF93ZWJfdmlld19nZXRfcGFnZV9pZCAod2ViX3ZpZXcp
KTsKCglyZXR1cm4gVFJVRTsKfQoKc3RhdGljIHZvaWQKaW5pdGlhbGl6ZV93ZWJfZXh0ZW5zaW9u
c19jYiAoV2ViS2l0V2ViQ29udGV4dCAqd2ViX2NvbnRleHQsCgkJCSAgICAgIGdwb2ludGVyIHVz
ZXJfZGF0YSkKewoJd2Via2l0X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0ZW5zaW9uc19kaXJlY3Rv
cnkgKHdlYl9jb250ZXh0LCAiL3RtcC93azItd2l0aC1pbnNwZWN0b3ItZXh0ZW5zaW9uIik7Cn0K
CnN0YXRpYyB2b2lkCmRlc3Ryb3lfd2ViX3ZpZXdfY2IgKEd0a1dpZGdldCAqd2lkZ2V0LAoJCSAg
ICAgR3RrV2lkZ2V0ICp3ZWJfdmlldykKewoJZ3RrX3dpZGdldF9kZXN0cm95ICh3ZWJfdmlldyk7
Cn0KCnN0YXRpYyB2b2lkCndlYl92aWV3X2dvbmUgKGdwb2ludGVyIHVzZXJfZGF0YSwKCSAgICAg
ICBHT2JqZWN0ICpvYmopCnsKCXByaW50ZiAoIlxuICAgJXM6IFslZF0gJXBcblxuIiwgX19GVU5D
VElPTl9fLCBHUE9JTlRFUl9UT19JTlQgKHVzZXJfZGF0YSksIG9iaik7Cn0KCnN0YXRpYyBnaW50
IGluc3RhbmNlX2NvdW50ZXIgPSAwOwpzdGF0aWMgV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzOwpz
dGF0aWMgV2ViS2l0V2ViQ29udGV4dCAqZ2xvYl93ZWJfY29udGV4dCA9IE5VTEw7CgpzdGF0aWMg
dm9pZAphZGRfd2ViX3ZpZXdfY2IgKEd0a1dpZGdldCAqd2lkZ2V0LAoJCSBHdGtDb250YWluZXIg
KmNvbnRhaW5lcikKewoJR3RrV2lkZ2V0ICpoYm94LCAqdmJveCwgKmJ0biwgKndrLCAqbGJsOwoK
CXZib3ggPSBndGtfYm94X25ldyAoR1RLX09SSUVOVEFUSU9OX1ZFUlRJQ0FMLCAwKTsKCgloYm94
ID0gZ3RrX2JveF9uZXcgKEdUS19PUklFTlRBVElPTl9IT1JJWk9OVEFMLCAwKTsKCWd0a19jb250
YWluZXJfYWRkIChHVEtfQ09OVEFJTkVSICh2Ym94KSwgaGJveCk7CgoJd2sgPSBnX29iamVjdF9u
ZXcgKFdFQktJVF9UWVBFX1dFQl9WSUVXLAoJCQkic2V0dGluZ3MiLCBzZXR0aW5ncywKCQkJIndl
Yi1jb250ZXh0IiwgZ2xvYl93ZWJfY29udGV4dCwKCQkJTlVMTCk7CgoJcHJpbnRmICgiXG4lczog
Y3JlYXRlZCBbJWRdICVwXG5cbiIsIF9fRlVOQ1RJT05fXywgaW5zdGFuY2VfY291bnRlciwgd2sp
OwoJZ19vYmplY3Rfd2Vha19yZWYgKEdfT0JKRUNUICh3ayksIHdlYl92aWV3X2dvbmUsIEdJTlRf
VE9fUE9JTlRFUiAoaW5zdGFuY2VfY291bnRlcisrKSk7CgoJZ3RrX2NvbnRhaW5lcl9hZGQgKEdU
S19DT05UQUlORVIgKHZib3gpLCB3ayk7CglndGtfd2lkZ2V0X3NldF9zaXplX3JlcXVlc3QgKHdr
LCAtMSwgNTApOwoKCWxibCA9IGd0a19sYWJlbF9uZXcgKCIiKTsKCWd0a19jb250YWluZXJfYWRk
IChHVEtfQ09OVEFJTkVSIChoYm94KSwgbGJsKTsKCglnX29iamVjdF9iaW5kX3Byb3BlcnR5ICh3
aywgInVyaSIsIGxibCwgImxhYmVsIiwgMCk7CgoJYnRuID0gZ3RrX2J1dHRvbl9uZXdfd2l0aF9s
YWJlbCAoIlJlbG9hZCIpOwoJZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGhib3gp
LCBidG4pOwoJZ19zaWduYWxfY29ubmVjdCAoYnRuLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0sgKHJl
bG9hZF9jYiksIHdrKTsKCglidG4gPSBndGtfYnV0dG9uX25ld193aXRoX2xhYmVsICgiWCIpOwoJ
Z3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGhib3gpLCBidG4pOwoJZ19zaWduYWxf
Y29ubmVjdCAoYnRuLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0sgKGRlc3Ryb3lfd2ViX3ZpZXdfY2Ip
LCB2Ym94KTsKCglndGtfY29udGFpbmVyX2FkZCAoY29udGFpbmVyLCB2Ym94KTsKCWd0a193aWRn
ZXRfc2hvd19hbGwgKHZib3gpOwoKCWdfc2lnbmFsX2Nvbm5lY3QgKHdrLCAiZGVjaWRlLXBvbGlj
eSIsIEdfQ0FMTEJBQ0sgKGRlY2lkZV9wb2xpY3lfY2IpLCBOVUxMKTsKCglmaWxsX3dlYl92aWV3
X2NiIChnX29iamVjdF9yZWYgKHdrKSk7Cn0KCnN0YXRpYyB2b2lkCnNob3dfaW5zcGVjdG9yX2Ni
IChHdGtXaWRnZXQgKmJ0biwKCQkgICBXZWJLaXRXZWJWaWV3ICp3ZWJfdmlldykKewoJd2Via2l0
X3dlYl9pbnNwZWN0b3Jfc2hvdyAod2Via2l0X3dlYl92aWV3X2dldF9pbnNwZWN0b3IgKHdlYl92
aWV3KSk7Cn0KCnN0YXRpYyBnYm9vbGVhbgpzaG93X2luc3BlY3Rvcl9pZGxlX2NiIChncG9pbnRl
ciB1c2VyX2RhdGEpCnsKCXNob3dfaW5zcGVjdG9yX2NiIChOVUxMLCB1c2VyX2RhdGEpOwoKCXJl
dHVybiBGQUxTRTsKfQoKc3RhdGljIHZvaWQKdGVzdF9jYWxsX2RvbmVfY2IgKEdPYmplY3QgKnNv
dXJjZV9vYmplY3QsCgkJICAgR0FzeW5jUmVzdWx0ICpyZXN1bHQsCgkJICAgZ3BvaW50ZXIgdXNl
cl9kYXRhKQp7CglXZWJLaXRKYXZhc2NyaXB0UmVzdWx0ICpqc19yZXN1bHQ7CglnY2hhciAqc2Ny
aXB0ID0gdXNlcl9kYXRhOwoJR0Vycm9yICplcnJvciA9IE5VTEw7CgoJanNfcmVzdWx0ID0gd2Vi
a2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2ZpbmlzaCAoV0VCS0lUX1dFQl9WSUVXIChzb3Vy
Y2Vfb2JqZWN0KSwgcmVzdWx0LCAmZXJyb3IpOwoKCWlmIChlcnJvcikgewoJCWdfd2FybmluZyAo
IkZhaWxlZCB0byBjYWxsIGZ1bmN0aW9uOiAlczolZDogJXMiLCBnX3F1YXJrX3RvX3N0cmluZyAo
ZXJyb3ItPmRvbWFpbiksIGVycm9yLT5jb2RlLCBlcnJvci0+bWVzc2FnZSk7CgkJZ19jbGVhcl9l
cnJvciAoJmVycm9yKTsKCX0KCglpZiAoanNfcmVzdWx0KSB7CgkJSlNDRXhjZXB0aW9uICpleGNl
cHRpb247CgkJSlNDVmFsdWUgKnZhbHVlOwoKCQl2YWx1ZSA9IHdlYmtpdF9qYXZhc2NyaXB0X3Jl
c3VsdF9nZXRfanNfdmFsdWUgKGpzX3Jlc3VsdCk7CgkJZXhjZXB0aW9uID0ganNjX2NvbnRleHRf
Z2V0X2V4Y2VwdGlvbiAoanNjX3ZhbHVlX2dldF9jb250ZXh0ICh2YWx1ZSkpOwoKCQlpZiAoZXhj
ZXB0aW9uKQoJCQlnX3dhcm5pbmcgKCJGYWlsZWQgdG8gY2FsbDogJXMiLCBqc2NfZXhjZXB0aW9u
X2dldF9tZXNzYWdlIChleGNlcHRpb24pKTsKCgkJd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3Vu
cmVmIChqc19yZXN1bHQpOwoJfQp9CgpzdGF0aWMgdm9pZAp0ZXN0X2NsaWNrZWRfY2IgKEd0a1dp
ZGdldCAqYnRuLAoJCSBXZWJLaXRXZWJWaWV3ICp3ZWJfdmlldykKewoJR0NhbmNlbGxhYmxlICpj
YW5jZWxsYWJsZTsKCgljYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3ICgpOwoKCXdlYmtp
dF93ZWJfdmlld19ydW5famF2YXNjcmlwdCAod2ViX3ZpZXcsICJqYXZhc2NyaXB0OnZvaWQoMCk7
IiwgY2FuY2VsbGFibGUsIHRlc3RfY2FsbF9kb25lX2NiLCBOVUxMKTsKCglnX2NhbmNlbGxhYmxl
X2NhbmNlbCAoY2FuY2VsbGFibGUpOwoJZ19vYmplY3RfdW5yZWYgKGNhbmNlbGxhYmxlKTsKfQoK
aW50IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKCUd0a1dpZGdldCAqZGlhbG9nLCAq
Y29udGFpbmVyLCAqYm94LCAqd2ssICpidG4sICpsYWJlbDsKCVdlYktpdFdlYkNvbnRleHQgKmNv
bnRleHQ7Cgljb25zdCBnY2hhciAqc3BlbGxfbGFuZ3NbMl0gPSB7ICJmaSIsIE5VTEwgfTsKCgln
dGtfaW5pdCAoJmFyZ2MsICZhcmd2KTsKCgkvL2dfc2V0ZW52ICgiV0VCS0lUX0RJU0FCTEVfQ09N
UE9TSVRJTkdfTU9ERSIsICIxIiwgRkFMU0UpOwoKCWdfc2lnbmFsX2Nvbm5lY3QgKHdlYmtpdF93
ZWJfY29udGV4dF9nZXRfZGVmYXVsdCAoKSwgImluaXRpYWxpemUtd2ViLWV4dGVuc2lvbnMiLAoJ
CUdfQ0FMTEJBQ0sgKGluaXRpYWxpemVfd2ViX2V4dGVuc2lvbnNfY2IpLCBOVUxMKTsKCglkaWFs
b2cgPSBndGtfZGlhbG9nX25ld193aXRoX2J1dHRvbnMgKCJ0ZXN0LXdrMiIsIE5VTEwsIDAsICJf
Q2FuY2VsIiwgR1RLX1JFU1BPTlNFX0NBTkNFTCwgTlVMTCk7CglndGtfd2luZG93X3NldF9kZWZh
dWx0X3NpemUgKEdUS19XSU5ET1cgKGRpYWxvZyksIDEwMjQsIDgwMCk7CgoJY29udGFpbmVyID0g
Z3RrX2RpYWxvZ19nZXRfY29udGVudF9hcmVhIChHVEtfRElBTE9HIChkaWFsb2cpKTsKCglib3gg
PSBndGtfYm94X25ldyAoR1RLX09SSUVOVEFUSU9OX0hPUklaT05UQUwsIDIpOwoJZ3RrX2NvbnRh
aW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGNvbnRhaW5lciksIGJveCk7CgoJbGFiZWwgPSBndGtf
bGFiZWxfbmV3ICgiIik7CglndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoY29udGFp
bmVyKSwgbGFiZWwpOwoKCWJ0biA9IGd0a19idXR0b25fbmV3X3dpdGhfbW5lbW9uaWMgKCJfQWRk
IFdlYiBWaWV3Iik7CglndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoYm94KSwgYnRu
KTsKCWdfc2lnbmFsX2Nvbm5lY3QgKGJ0biwgImNsaWNrZWQiLCBHX0NBTExCQUNLIChhZGRfd2Vi
X3ZpZXdfY2IpLCBjb250YWluZXIpOwoKCXNldHRpbmdzID0gd2Via2l0X3NldHRpbmdzX25ld193
aXRoX3NldHRpbmdzICgKCQkiYXV0by1sb2FkLWltYWdlcyIsIFRSVUUsCgkJImRlZmF1bHQtY2hh
cnNldCIsICJ1dGYtOCIsCgkJImVuYWJsZS1odG1sNS1kYXRhYmFzZSIsIEZBTFNFLAoJCSJlbmFi
bGUtZG5zLXByZWZldGNoaW5nIiwgRkFMU0UsCgkJImVuYWJsZS1odG1sNS1sb2NhbC1zdG9yYWdl
IiwgRkFMU0UsCgkJImVuYWJsZS1qYXZhIiwgRkFMU0UsCgkJImVuYWJsZS1qYXZhc2NyaXB0Iiwg
VFJVRSwgLyogTmVlZGVkIGZvciBKYXZhU2NyaXB0Q29yZSBBUEkgdG8gd29yayAqLwoJCSJlbmFi
bGUtamF2YXNjcmlwdC1tYXJrdXAiLCBGQUxTRSwgLyogRGlzY2FyZHMgdXNlci1wcm92aWRlZCBq
YXZhc2NyaXB0IGluIEhUTUwgKi8KCQkiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNh
Y2hlIiwgRkFMU0UsCgkJImVuYWJsZS1wYWdlLWNhY2hlIiwgRkFMU0UsCgkJImVuYWJsZS1zbW9v
dGgtc2Nyb2xsaW5nIiwgRkFMU0UsCgkJIm1lZGlhLXBsYXliYWNrLWFsbG93cy1pbmxpbmUiLCBG
QUxTRSwKCQkiaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSIsIFdFQktJVF9IQVJEV0FSRV9B
Q0NFTEVSQVRJT05fUE9MSUNZX05FVkVSLAoKCQkvKiJhdXRvLWxvYWQtaW1hZ2VzIiwgRkFMU0Us
CgkJImRlZmF1bHQtY2hhcnNldCIsICJ1dGYtOCIsCgkJImVuYWJsZS1kZXZlbG9wZXItZXh0cmFz
IiwgVFJVRSwKCQkiZW5hYmxlLWh0bWw1LWRhdGFiYXNlIiwgRkFMU0UsCgkJImVuYWJsZS1kbnMt
cHJlZmV0Y2hpbmciLCBGQUxTRSwKCQkiZW5hYmxlLWh0bWw1LWxvY2FsLXN0b3JhZ2UiLCBGQUxT
RSwKCQkiZW5hYmxlLWphdmEiLCBGQUxTRSwKCQkiZW5hYmxlLWphdmFzY3JpcHQiLCBUUlVFLAoJ
CSJlbmFibGUtamF2YXNjcmlwdC1tYXJrdXAiLCBGQUxTRSwKCQkiZW5hYmxlLW9mZmxpbmUtd2Vi
LWFwcGxpY2F0aW9uLWNhY2hlIiwgRkFMU0UsCgkJImVuYWJsZS1wYWdlLWNhY2hlIiwgRkFMU0Us
CgkJImVuYWJsZS1wbHVnaW5zIiwgRkFMU0UsCgkJImVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nIiwg
RkFMU0UsCgkJIm1lZGlhLXBsYXliYWNrLWFsbG93cy1pbmxpbmUiLCBGQUxTRSwqLwoKCQkiYWxs
b3ctZmlsZS1hY2Nlc3MtZnJvbS1maWxlLXVybHMiLCBUUlVFLAoJCSJhbGxvdy11bml2ZXJzYWwt
YWNjZXNzLWZyb20tZmlsZS11cmxzIiwgVFJVRSwKCQlOVUxMKTsKCXdlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMgKHNldHRpbmdzLCBUUlVFKTsKCglnbG9iX3dlYl9j
b250ZXh0ID0gd2Via2l0X3dlYl9jb250ZXh0X25ldyAoKTsKCWdfc2lnbmFsX2Nvbm5lY3QgKGds
b2Jfd2ViX2NvbnRleHQsICJpbml0aWFsaXplLXdlYi1leHRlbnNpb25zIiwKCQlHX0NBTExCQUNL
IChpbml0aWFsaXplX3dlYl9leHRlbnNpb25zX2NiKSwgTlVMTCk7Cgl3ZWJraXRfd2ViX2NvbnRl
eHRfc2V0X3NhbmRib3hfZW5hYmxlZCAoZ2xvYl93ZWJfY29udGV4dCwgVFJVRSk7Cgl3ZWJraXRf
d2ViX2NvbnRleHRfc2V0X2NhY2hlX21vZGVsIChnbG9iX3dlYl9jb250ZXh0LCBXRUJLSVRfQ0FD
SEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSKTsKCXdlYmtpdF93ZWJfY29udGV4dF9zZXRfd2ViX2V4
dGVuc2lvbnNfZGlyZWN0b3J5IChnbG9iX3dlYl9jb250ZXh0LCAiL3RtcC9kb2VzL25vdC9leGlz
dCIpOwoJd2Via2l0X3dlYl9jb250ZXh0X3NldF9zYW5kYm94X2VuYWJsZWQgKGdsb2Jfd2ViX2Nv
bnRleHQsIFRSVUUpOwoJd2Via2l0X3dlYl9jb250ZXh0X2FkZF9wYXRoX3RvX3NhbmRib3ggKGds
b2Jfd2ViX2NvbnRleHQsICIvdG1wL2RvZXMvbm90L2V4aXN0LzIiLCBUUlVFKTsKCgl3ayA9IGdf
b2JqZWN0X25ldyAoV0VCS0lUX1RZUEVfV0VCX1ZJRVcsCgkJCSJzZXR0aW5ncyIsIHNldHRpbmdz
LAoJCQkid2ViLWNvbnRleHQiLCBnbG9iX3dlYl9jb250ZXh0LAoJCQlOVUxMKTsKCXByaW50ZiAo
IiVzOiBjcmVhdGVkIFslZF0gJXBcbiIsIF9fRlVOQ1RJT05fXywgaW5zdGFuY2VfY291bnRlciwg
d2spOwoJZ19vYmplY3Rfd2Vha19yZWYgKEdfT0JKRUNUICh3ayksIHdlYl92aWV3X2dvbmUsIEdJ
TlRfVE9fUE9JTlRFUiAoaW5zdGFuY2VfY291bnRlcisrKSk7CgoJd2Via2l0X3dlYl92aWV3X3Nl
dF9lZGl0YWJsZSAoV0VCS0lUX1dFQl9WSUVXICh3ayksIFRSVUUpOwoKCWdfb2JqZWN0X2JpbmRf
cHJvcGVydHkgKHdrLCAidXJpIiwgbGFiZWwsICJsYWJlbCIsIDApOwoKCWdfc2lnbmFsX2Nvbm5l
Y3QgKHdrLCAiZGVjaWRlLXBvbGljeSIsIEdfQ0FMTEJBQ0sgKGRlY2lkZV9wb2xpY3lfY2IpLCBO
VUxMKTsKCWdfc2lnbmFsX2Nvbm5lY3QgKHdrLCAicGVybWlzc2lvbi1yZXF1ZXN0IiwgR19DQUxM
QkFDSyAocGVybWlzc2lvbl9yZXF1ZXN0X2NiKSwgTlVMTCk7CgoJYnRuID0gZ3RrX2J1dHRvbl9u
ZXdfd2l0aF9tbmVtb25pYyAoIl9SZWxvYWQiKTsKCWd0a19jb250YWluZXJfYWRkIChHVEtfQ09O
VEFJTkVSIChib3gpLCBidG4pOwoJZ19zaWduYWxfY29ubmVjdCAoYnRuLCAiY2xpY2tlZCIsIEdf
Q0FMTEJBQ0sgKHJlbG9hZF9jYiksIHdrKTsKCglidG4gPSBndGtfYnV0dG9uX25ld193aXRoX21u
ZW1vbmljICgiX0luc3BlY3RvciIpOwoJZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIg
KGJveCksIGJ0bik7CglnX3NpZ25hbF9jb25uZWN0IChidG4sICJjbGlja2VkIiwgR19DQUxMQkFD
SyAoc2hvd19pbnNwZWN0b3JfY2IpLCB3ayk7CgoJYnRuID0gZ3RrX2J1dHRvbl9uZXdfd2l0aF9t
bmVtb25pYyAoIl9UZXN0Iik7CglndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoYm94
KSwgYnRuKTsKCWdfc2lnbmFsX2Nvbm5lY3QgKGJ0biwgImNsaWNrZWQiLCBHX0NBTExCQUNLICh0
ZXN0X2NsaWNrZWRfY2IpLCB3ayk7CgoJY29udGV4dCA9IHdlYmtpdF93ZWJfdmlld19nZXRfY29u
dGV4dCAoV0VCS0lUX1dFQl9WSUVXICh3aykpOwoJd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVs
bF9jaGVja2luZ19lbmFibGVkIChjb250ZXh0LCBUUlVFKTsKCglpZiAoYXJnYyA9PSAyKQoJCXNw
ZWxsX2xhbmdzWzBdID0gYXJndlsxXTsKCgl3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2No
ZWNraW5nX2xhbmd1YWdlcyAoY29udGV4dCwgKGNvbnN0IGdjaGFyICogY29uc3QgKikgc3BlbGxf
bGFuZ3MpOwoKCWd0a19jb250YWluZXJfYWRkIChHVEtfQ09OVEFJTkVSIChjb250YWluZXIpLCB3
ayk7CglnX29iamVjdF9zZXQgKEdfT0JKRUNUICh3ayksCgkJImhleHBhbmQiLCBUUlVFLAoJCSJo
YWxpZ24iLCBHVEtfQUxJR05fRklMTCwKCQkidmV4cGFuZCIsIFRSVUUsCgkJInZhbGlnbiIsIEdU
S19BTElHTl9GSUxMLAoJCSJoZWlnaHQtcmVxdWVzdCIsIDkwLAoJCSJ3aWR0aC1yZXF1ZXN0Iiwg
OTAsCgkJTlVMTCk7CgoJdGltZXIgPSBnX3RpbWVyX25ldyAoKTsKCWdfc2lnbmFsX2Nvbm5lY3Qg
KHdrLCAicmVhZHktdG8tc2hvdyIsIEdfQ0FMTEJBQ0sgKHJlYWR5X3RvX3Nob3dfY2IpLCBOVUxM
KTsKCWdfc2lnbmFsX2Nvbm5lY3QgKHdrLCAibG9hZC1jaGFuZ2VkIiwgR19DQUxMQkFDSyAobG9h
ZF9jaGFuZ2VkX2NiKSwgTlVMTCk7CglwcmludGYgKCIlczogJXA6IHBhZ2UtaWQ6JSIgR19HVUlO
VDY0X0ZPUk1BVCAiXG4iLCBfX0ZVTkNUSU9OX18sIHdrLCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Bh
Z2VfaWQgKFdFQktJVF9XRUJfVklFVyAod2spKSk7CglmaWxsX3dlYl92aWV3X2NiIChnX29iamVj
dF9yZWYgKHdrKSk7CgoJLy9hZGRfd2ViX3ZpZXdfY2IgKE5VTEwsIEdUS19DT05UQUlORVIgKGNv
bnRhaW5lcikpOwoKCS8vZ190aW1lb3V0X2FkZF9zZWNvbmRzICgzLCBjbGFpbV93ZWJfdmlld19w
YWdlX2lkX2NiLCB3ayk7CgoJZ3RrX3dpZGdldF9zaG93X2FsbCAoZ3RrX2RpYWxvZ19nZXRfY29u
dGVudF9hcmVhIChHVEtfRElBTE9HIChkaWFsb2cpKSk7CgoJLy9nX3RpbWVvdXRfYWRkICg1MDAs
IHNob3dfaW5zcGVjdG9yX2lkbGVfY2IsIHdrKTsKCglndGtfZGlhbG9nX3J1biAoR1RLX0RJQUxP
RyAoZGlhbG9nKSk7CgoJZ3RrX3dpZGdldF9kZXN0cm95IChkaWFsb2cpOwoJZ190aW1lcl9kZXN0
cm95ICh0aW1lcik7CgoJZ19jbGVhcl9vYmplY3QgKCZnbG9iX3dlYl9jb250ZXh0KTsKCWdfY2xl
YXJfb2JqZWN0ICgmc2V0dGluZ3MpOwoKCXJldHVybiAwOwp9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>