Utility process child blocked on startup from audio utility
Categories
(Core :: IPC, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr91 | --- | unaffected |
| firefox100 | --- | unaffected |
| firefox101 | --- | unaffected |
| firefox102 | --- | fixed |
People
(Reporter: gerard-majax, Assigned: gerard-majax)
References
(Blocks 2 open bugs)
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
+++ This bug was initially created as a clone of Bug #1769624 +++
Reverting the fix of bug 1770086 one should repro intermittent leak of sLaunchUtilityPromise. Investigation showed so far that on osx at least, we get the child process unable to start, somehow blocking around https://searchfox.org/mozilla-central/rev/7f729f601c0b738f870ae0ed49098f9268e250f9/ipc/glue/ProcessUtils_mac.mm#20
This should be investigated further
| Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
We would also need to address https://phabricator.services.mozilla.com/D146848#inline-809936
Comment 2•3 years ago
|
||
:gerard-majax, since this bug is a regression, could you fill (if possible) the regressed_by field?
For more information, please visit auto_nag documentation.
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 3•3 years ago
|
||
Removing completely the SetThisProcessName() seems to help: https://treeherder.mozilla.org/jobs?repo=try&revision=304e452ecc0ed36c438fb31d67684eb42bc997c7
After 456 retriggers, no repro, while https://treeherder.mozilla.org/jobs?repo=try&revision=78e26d2a0d02d937a01bc4741b3e1837d3dc309d would show ~3 repro over 50 runs.
According to https://bugzilla.mozilla.org/show_bug.cgi?id=557226#c14 we need to set the name after doing GetCurrentProcess() and I verified that if we just remove GetCurrentProcess() no name is changed in Activity Monitor.
However reading System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Headers/Processes.h about GetCurrentProcess() one can see:
- An application can force the connection to the Process Manager to
- be set up by calling any Process Manager routine, but the
- recommended way to do this is to call GetCurrentProcess() to ask
- for the current application's PSN. This will initialize the
- connection to the Process Manager if it has not already been set
- up and 'check in' the application with the system.
Right now we do the call, for Utility Process, within the UtilityProcessChild::Init() https://searchfox.org/mozilla-central/rev/49204d3e4b03513ca2741404b7453245863d380c/ipc/glue/UtilityProcessChild.cpp#105
But it looks like if we do it in RecvInit() before calling CGSShutdownServerConnections() https://searchfox.org/mozilla-central/rev/49204d3e4b03513ca2741404b7453245863d380c/ipc/glue/UtilityProcessChild.cpp#129 then the process name appears correctly. Without GetCurrentProcess() call.
| Assignee | ||
Comment 4•3 years ago
|
||
| Assignee | ||
Comment 5•3 years ago
|
||
On this try: https://treeherder.mozilla.org/jobs?repo=try&revision=78e26d2a0d02d937a01bc4741b3e1837d3dc309d
- 50 retries
- three repro of the leak symptom of the hang
On this try: https://treeherder.mozilla.org/jobs?repo=try&revision=b51b4ec5ad2b99a76a57ef66138b4a8ccea5b64c
- 50 retries
- no repro of the leak
| Assignee | ||
Comment 6•3 years ago
|
||
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 7•3 years ago
|
||
Updated•3 years ago
|
Comment 9•3 years ago
|
||
| bugherder | ||
Updated•3 years ago
|
Description
•