REOPENED 280061
Figure out why network process launching is frequently canceled within a few milliseconds
https://bugs.webkit.org/show_bug.cgi?id=280061
Summary Figure out why network process launching is frequently canceled within a few ...
Michael Catanzaro
Reported 2024-09-20 06:42:31 PDT
This is a continuation of bug #280003, in which I discovered hundreds of network process crashes in my coredumpctl. I think there is only one way this could happen: NetworkProcessProxy is created and then immediately destroyed, causing its ProcessLauncher to be destroyed, causing its GSocketMonitor to be destroyed, causing the pid socket to close. That's really weird, though. We expect to launch one network process for the life of the UI process, and only launch another to replace it if it crashes. Surely this shouldn't be happening regularly, but it seems to be extremely frequent. This requires further investigation.
Attachments
Michael Catanzaro
Comment 1 2024-09-21 11:52:10 PDT
Adrian figured out what is wrong: > could it be that opening URLs from other programs launches `epiphany` (UIProcess), which hands over the URL to the running instance, and closes immediately, but in between WebKit has had time to start trying spawn some processes that have been closed because the auxiliar `epiphany` instance is shutting down while some other part of the code was trying to send the PIDs around? That certainly explains things.
Michael Catanzaro
Comment 2 2024-09-24 18:57:33 PDT
(In reply to Michael Catanzaro from comment #1) > That certainly explains things. No, it's not enough to explain the crashes we're seeing. Reproducer: http://torinak.com/qaop/play/bombjack Be sure to revert 283414@main as that hides the problem by changing it from a crash to exit(1). There are at least three mysterious bugs here: (a) Network process shouldn't be relaunched because the previous network process should still be alive (unless it crashes, but that is not happening, I see only this crash and not any previous one!) (b) If the previous network process does crash, causing the UI process to start a new network process, it shouldn't immediately discard the new network process before it is able to start up... (c) Moreover, I'm sometimes seeing network process crashes caused by simply closing Epiphany. Destroying web views shouldn't cause a new network process to be launched.
Note You need to log in before you can comment on or make changes to this bug.