The fork server doesn't prevent about:restartrequired after updates on FreeBSD
Categories
(Core :: IPC, defect)
Tracking
()
People
(Reporter: jld, Unassigned)
References
(Blocks 1 open bug)
Details
I have an old laptop that I installed FreeBSD on a while back. It runs release Firefox via pkg
, and I turned on dom.ipc.forkserver.enable
in about:config. Recently I updated from 124.0 to 124.0.1 and got about:restartrequired
when I opened a new tab before restarting; in theory shouldn't happen with the fork server enabled, because the content process should have been forked with the correct version of the files it needs already opened and mapped. This is reproducible, and I also found that reinstalling the old version (with the browser still running) doesn't fix it.
I didn't have debug symbols and I don't currently have a build environment for FreeBSD, but I was able to find out that the child process is returning 1
from main
at some point after it sets the main thread name to MainThread
, and I suspect the cause is the attempt to find the executable path — if it fails because the executable is unlinked, then NS_ERROR_FAILED
is returned from XRE_InitCommandLine
to XRE_InitChildProcess
to content_process_main
where we return 1 which is eventually returned from actual main
.
Maybe it would be possible to cache the value like in bug 1790419, but I haven't tried it and I don't know whether there are other bugs affecting this use case.
Description
•