Closed Bug 1805788 Opened 3 years ago Closed 2 years ago

Address the issue where the fork server can only currently start Content processes

Categories

(Core :: IPC, task, P3)

Desktop
Linux
task

Tracking

()

RESOLVED FIXED
119 Branch
Tracking Status
firefox119 --- fixed

People

(Reporter: bytesized, Assigned: jld)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fidedi-ope])

Attachments

(1 file)

The fork server is currently meant only for starting Content Processes, but this is not the only type of process that Firefox starts. The GPU process, for example, cannot currently be started from the fork server. This could potentially become a problem if, for example, the GPU process crashes and we need to restart it.

A potential option here is to try to get these other processes launched relatively early, and just show the "Restart Required" error message if they crash and we can't relaunch them. This wouldn't be perfect, but it would still be a huge improvement over the current situation.

A better solution is to modify the fork server so that it can launch other types of processes. More investigation will need to be done to understand the work necessary to accomplish this.

  • The GPU process is irrelevant on Linux:

    • not implemented for Wayland (IIUC the main process would need to become a Wayland proxy server which is not desired at the moment)
    • not shipped to X11 (bug 1653444)
    • (it's also not implemented yet for macOS (bug 1372850), but maybe planned)
  • RDD/socket/utility processes are not below forkserver yet (this bug)

  • bug 1532782 is about merging the GMP process (which uses /usr/lib/firefox-nightly/plugin-container) into firefox-bin (like it has been done for content processes: bug 1277968)

  • (content: According to bug 1470591 comment 8 the forkserver would also speed up content process launches. Should it therefore also be enabled on macOS (bug 1470591 comment 5) and could browser.tabs.remote.warmup.enabled be disabled then?)

Blocks: forkserver
No longer blocks: 1705217
Component: Application Update → IPC
Product: Toolkit → Core
Hardware: Unspecified → Desktop
See Also: → 1532782
Assignee: nobody → jld
Pushed by jedavis@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c88a3bfc17e9 Use the fork server for all (non-forkserver) child processes if enabled. r=nika
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 119 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: