"TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null" when an action closes the window
Categories
(Remote Protocol :: Agent, defect, P2)
Tracking
(firefox135 fixed)
Tracking | Status | |
---|---|---|
firefox135 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: whimboo)
References
(Blocks 2 open bugs)
Details
(Keywords: intermittent-failure, intermittent-testcase, Whiteboard: [webdriver:m14], [wptsync upstream])
Attachments
(3 files)
Filed by: hskupin [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=483710902&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/JC8VTeBAQCyALBBjPC91lg/runs/0/artifacts/public/logs/live_backing.log
[task 2024-11-21T22:29:17.045Z] 22:29:17 INFO - 1732228157045 Marionette DEBUG 2 -> [0,255,"WebDriver:PerformActions",{"actions":[{"type":"key","id":"keyboard_id","actions":[{"type":"keyDown","value":"\ue009"},{"type":"keyDown","value":"w"},{"type":"keyUp","value":"w"},{"type":"keyUp","value":"\ue009"}]}]}]
[task 2024-11-21T22:29:17.052Z] 22:29:17 INFO - 1732228157051 Marionette TRACE Dispatching tick 1/4
[task 2024-11-21T22:29:17.053Z] 22:29:17 INFO - 1732228157052 Marionette TRACE Dispatch KeyDownAction with keyboard_id \ue009
[task 2024-11-21T22:29:17.063Z] 22:29:17 INFO - 1732228157063 Marionette TRACE Dispatching tick 2/4
[task 2024-11-21T22:29:17.064Z] 22:29:17 INFO - 1732228157063 Marionette TRACE Dispatch KeyDownAction with keyboard_id w
[task 2024-11-21T22:29:17.108Z] 22:29:17 INFO - 1732228157108 Marionette TRACE Dispatching tick 3/4
[task 2024-11-21T22:29:17.109Z] 22:29:17 INFO - 1732228157108 Marionette TRACE Dispatch KeyUpAction with keyboard_id w
[task 2024-11-21T22:29:17.110Z] 22:29:17 INFO - 1732228157108 Marionette DEBUG 2 <- [1,255,{"error":"unknown error","message":"TypeError: can't access property \"getActor\", browsingContext.currentWindowGlobal is null","stacktrace":"getMarionetteCommandsActorProxy/get/<@chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs:409:17\ndispa ... chrome://remote/content/shared/webdriver/Actions.sys.mjs:2597:27\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\n"},null]
[task 2024-11-21T22:29:17.110Z] 22:29:17 INFO - Marionette threw an error: TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null
[task 2024-11-21T22:29:17.110Z] 22:29:17 INFO - getMarionetteCommandsActorProxy/get/<@chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs:409:17
[task 2024-11-21T22:29:17.110Z] 22:29:17 INFO - dispatchEvent@chrome://remote/content/marionette/driver.sys.mjs:168:44
[task 2024-11-21T22:29:17.111Z] 22:29:17 INFO - dispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1141:11
[task 2024-11-21T22:29:17.111Z] 22:29:17 INFO - dispatch/pendingEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2705:14
[task 2024-11-21T22:29:17.111Z] 22:29:17 INFO - dispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2704:39
[task 2024-11-21T22:29:17.111Z] 22:29:17 INFO - dispatch/chainEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2597:27
[task 2024-11-21T22:29:17.112Z] 22:29:17 INFO - observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17
[task 2024-11-21T22:29:17.113Z] 22:29:17 INFO - console.error: "Marionette threw an error: TypeError: can't access property \"getActor\", browsingContext.currentWindowGlobal is null\ngetMarionetteCommandsActorProxy/get/<@chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs:409:17\ndispatchEvent@chrome://remote/content/marionette/driver.sys.mjs:168:44\ndispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1141:11\ndispatch/pendingEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2705:14\ndispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2704:39\ndispatch/chainEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2597:27\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\n"
[task 2024-11-21T22:29:17.602Z] 22:29:17 INFO - 1732228157602 Marionette TRACE Received observer notification quit-application
[task 2024-11-21T22:29:17.603Z] 22:29:17 INFO - 1732228157603 Marionette DEBUG Marionette stopped listening
[task 2024-11-21T22:29:17.605Z] 22:29:17 INFO - 1732228157604 Marionette TRACE [1] MarionetteCommands actor destroyed for window id 2
[task 2024-11-21T22:29:17.613Z] 22:29:17 INFO - 1732228157612 Marionette DEBUG 2 -> [0,256,"Marionette:AcceptConnections",{"value":true}]
[task 2024-11-21T22:29:17.613Z] 22:29:17 INFO - 1732228157613 Marionette INFO Listening on port 2828
[task 2024-11-21T22:29:17.614Z] 22:29:17 INFO - 1732228157613 Marionette DEBUG 2 <- [1,256,null,{"value":null}]
[task 2024-11-21T22:29:17.621Z] 22:29:17 INFO - JavaScript error: chrome://remote/content/marionette/cert.sys.mjs, line 47: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsICertOverrideService.setDisableAllSecurityChecksAndLetAttackersInterceptMyData]
[task 2024-11-21T22:29:17.866Z] 22:29:17 INFO - Failed to gather test failure debug: Process has been unexpectedly closed (Exit code: 0) (Reason: [WinError 10053] An established connection was aborted by the software in your host machine)
[task 2024-11-21T22:29:17.874Z] 22:29:17 ERROR - TEST-UNEXPECTED-ERROR | browser/components/sessionstore/test/marionette/test_restore_windows_after_close_last_tabs.py TestSessionStoreEnabledAllWindows.test_close_tabs | marionette_driver.errors.UnknownException: TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null
[task 2024-11-21T22:29:17.874Z] 22:29:17 INFO - stacktrace:
[task 2024-11-21T22:29:17.874Z] 22:29:17 INFO - getMarionetteCommandsActorProxy/get/<@chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs:409:17
[task 2024-11-21T22:29:17.874Z] 22:29:17 INFO - dispatchEvent@chrome://remote/content/marionette/driver.sys.mjs:168:44
[task 2024-11-21T22:29:17.875Z] 22:29:17 INFO - dispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1141:11
[task 2024-11-21T22:29:17.875Z] 22:29:17 INFO - dispatch/pendingEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2705:14
[task 2024-11-21T22:29:17.875Z] 22:29:17 INFO - dispatch@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2704:39
[task 2024-11-21T22:29:17.875Z] 22:29:17 INFO - dispatch/chainEvents<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2597:27
[task 2024-11-21T22:29:17.876Z] 22:29:17 INFO - observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17
Assignee | ||
Comment 1•3 months ago
|
||
It looks like we missed this case when working on bug 1662808. The following comment explicitly states that it should have been done:
If the window actually got closed by eg. pressing a shortcut like Ctrl/Cmd+W
we should handle it gracefully and not retrying to run the action.
This blocks enabling async events by default on bug 1922077.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Comment 3•3 months ago
|
||
To handle that case we as well need an update of the WebDriver specification: https://github.com/w3c/webdriver/pull/1861
Assignee | ||
Comment 4•3 months ago
|
||
Actually this is not only an issue with Marionette but also with our implementation of the RootTransport
as used in WebDriver BiDi`.
Assignee | ||
Comment 5•3 months ago
|
||
(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from comment #3)
To handle that case we as well need an update of the WebDriver specification: https://github.com/w3c/webdriver/pull/1861
This PR got merged so that I'm unblocked for this bug.
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Comment 6•3 months ago
|
||
Assignee | ||
Comment 7•3 months ago
|
||
Assignee | ||
Comment 8•3 months ago
|
||
Comment 11•3 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a8d71ef02fc4
https://hg.mozilla.org/mozilla-central/rev/0d3362d9b4e9
https://hg.mozilla.org/mozilla-central/rev/0bab96f9e196
Description
•