Closed Bug 1641221 Opened 4 years ago Closed 3 years ago

Calling listener methods can hang Marionette if the framescript is unloaded

Categories

(Remote Protocol :: Marionette, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: whimboo, Unassigned)

References

Details

Seen while working on bug 1519335:

[task 2020-05-27T13:02:41.718Z] 13:02:41     INFO - PID 17503 | 1590584561715	Marionette	DEBUG	0 -> [0,195,"WebDriver:SwitchToFrame",{"id":null}]
[task 2020-05-27T13:02:41.719Z] 13:02:41     INFO - PID 17503 | ** start listener switch to frame
[task 2020-05-27T13:02:53.777Z] 13:02:53     INFO - PID 17503 | DEBUG: Adding blocker SessionFile: Finish writing Session Restore data for phase profile-before-change
[task 2020-05-27T13:02:53.778Z] 13:02:53     INFO - PID 17503 | DEBUG: Completed blocker SessionFile: Finish writing Session Restore data for phase profile-before-change
[task 2020-05-27T13:04:01.089Z] 13:04:01     INFO - TEST-UNEXPECTED-TIMEOUT | /webdriver/tests/new_window/new_tab.py | expected OK

When Firefox is going down we should never call into the listener or at least make sure to resolve the appropriate Promise to never cause a hang in Marionette, and probably also Firefox during a shutdown.

Blocks: 1641273

Actually I will go ahead and just disable those tests for ASAN on linux1804 for now. We can get back to this later. Maybe the Fission work will make it work anyway.

Assignee: hskupin → nobody
Status: ASSIGNED → NEW
Depends on: 1565162
Priority: P1 → P2
No longer blocks: 1641273

The framescript code in Marionette is gone, and the JSWindowActor code perfectly handles this case now.

No longer blocks: 1519335
Status: NEW → RESOLVED
Closed: 3 years ago
Depends on: 1519335
No longer depends on: 1565162
Resolution: --- → FIXED
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.