[Webkit-unassigned] [Bug 280180] New: [GTK] WebKitWebProcess left running when WebView is freed
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Sep 23 05:22:24 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=280180
Bug ID: 280180
Summary: [GTK] WebKitWebProcess left running when WebView is
freed
Product: WebKit
Version: Other
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebKitGTK
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mcrha at redhat.com
CC: bugs-noreply at webkitgtk.org
Created attachment 472638
--> https://bugs.webkit.org/attachment.cgi?id=472638&action=review
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 "the previous" WebKitWebProcess. This is new in the WebKitGTK 2.46.0 release.
While it'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 "Add Web View" button - two WebKitWebProcess-es (with *two* of its bwrap-s for each) are running
3. click on the "Reload" button near the bottom of the window - three WebKitWebProcess-es (with *two* of its bwrap-s for each) are running
4. click the "X" button beside the "Reload" 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
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240923/8d659f50/attachment-0001.htm>
More information about the webkit-unassigned
mailing list