Force a shutdown of Firefox if the Websocket port cannot be aquired after 5s
Categories
(Remote Protocol :: Agent, defect, P2)
Tracking
(firefox136 fixed)
| Tracking | Status | |
|---|---|---|
| firefox136 | --- | fixed |
People
(Reporter: whimboo, Assigned: whimboo)
References
Details
(Whiteboard: [webdriver:m15][webdriver:relnote])
Attachments
(1 file)
In Marionette, we use a PollPromise to retry the creation of the ServerSocket for 5 seconds to avoid immediate failure if another Firefox process is shutting down and still has the same socket in use. If we can't acquire the requested port, we force a shutdown of Firefox to prevent lingering processes.
Interestingly, we don't apply the same logic for the Remote Agent and its WebSocket port. We should probably introduce similar behavior to prevent Firefox instances from lingering if they can’t be controlled or shut down properly by the client.
This may be the cause of the issue seen with Puppeteer: https://github.com/puppeteer/puppeteer/pull/13245.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
This patch introduces a retry mechanism for binding the
Remote Agent's HTTP server to a port, improving resilience
in scenarios where the port might initially be unavailable.
If all attempts fail, the application is forced to quit.
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
We are in a soft freeze phase. So I'll wait with the landing of the patch until Monday afternoon.
Comment 4•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Updated•11 months ago
|
Description
•