Closed Bug 1665437 Opened 4 years ago Closed 4 years ago

Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_<random> <something> | AssertionError: NoSuchWindowException not raised

Categories

(Testing :: Marionette Client and Harness, defect, P1)

defect

Tracking

(Fission Milestone:M7, firefox-esr78 unaffected, firefox81 unaffected, firefox82 fixed, firefox83 fixed)

RESOLVED FIXED
83 Branch
Fission Milestone M7
Tracking Status
firefox-esr78 --- unaffected
firefox81 --- unaffected
firefox82 --- fixed
firefox83 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: whimboo)

References

(Regression)

Details

(Keywords: assertion, intermittent-failure, regression, Whiteboard: [marionette-fission-mvp][simple][stockwell needswork])

Attachments

(1 file)

Filed by: csabou [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=315860762&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/XBCRPBKfQqOA5opip4skRQ/runs/0/artifacts/public/logs/live_backing.log


[task 2020-09-16T16:59:05.519Z] 16:59:05     INFO - TEST-PASS | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py TestNoSuchWindowContent.test_closed_tab_while_in_frame | took 298ms
[task 2020-09-16T16:59:05.519Z] 16:59:05     INFO - TEST-START | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window
[task 2020-09-16T16:59:05.523Z] 16:59:05     INFO -  1600275545516	Marionette	DEBUG	Closed connection 89
[task 2020-09-16T16:59:05.524Z] 16:59:05     INFO -  1600275545518	Marionette	DEBUG	Accepted connection 90 from 127.0.0.1:35506
[task 2020-09-16T16:59:05.526Z] 16:59:05     INFO -  1600275545520	Marionette	DEBUG	90 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2020-09-16T16:59:05.527Z] 16:59:05     INFO -  1600275545522	Marionette	TRACE	[115] Frame script loaded
[task 2020-09-16T16:59:05.528Z] 16:59:05     INFO -  1600275545527	Marionette	DEBUG	90 <- [1,1,null,{"sessionId":"9bf9a7f6-bdac-42e8-8d16-f9f3eea2291f","capabilities":{"browserName":"firefox","browserVersion":"82.0a ... mp/tmpNN2fX1.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true}}]
[task 2020-09-16T16:59:05.532Z] 16:59:05     INFO -  1600275545528	Marionette	DEBUG	90 -> [0,2,"WebDriver:SetTimeouts",{"script":30000}]
[task 2020-09-16T16:59:05.532Z] 16:59:05     INFO -  1600275545529	Marionette	DEBUG	90 <- [1,2,null,{"value":null}]
[task 2020-09-16T16:59:05.533Z] 16:59:05     INFO -  1600275545530	Marionette	DEBUG	90 -> [0,3,"WebDriver:SetTimeouts",{"pageLoad":300000}]
[task 2020-09-16T16:59:05.535Z] 16:59:05     INFO -  1600275545530	Marionette	DEBUG	90 <- [1,3,null,{"value":null}]
[task 2020-09-16T16:59:05.536Z] 16:59:05     INFO -  1600275545530	Marionette	DEBUG	90 -> [0,4,"WebDriver:SetTimeouts",{"implicit":0}]
[task 2020-09-16T16:59:05.537Z] 16:59:05     INFO -  1600275545531	Marionette	DEBUG	90 <- [1,4,null,{"value":null}]
[task 2020-09-16T16:59:05.537Z] 16:59:05     INFO -  1600275545531	Marionette	DEBUG	90 -> [0,5,"WebDriver:GetChromeWindowHandle",{}]
[task 2020-09-16T16:59:05.538Z] 16:59:05     INFO -  1600275545531	Marionette	DEBUG	90 <- [1,5,null,{"value":"1"}]
[task 2020-09-16T16:59:05.541Z] 16:59:05     INFO -  1600275545535	Marionette	DEBUG	90 -> [0,6,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.543Z] 16:59:05     INFO -  1600275545536	Marionette	DEBUG	90 <- [1,6,null,["1"]]
[task 2020-09-16T16:59:05.544Z] 16:59:05     INFO -  1600275545539	Marionette	DEBUG	90 -> [0,7,"WebDriver:GetWindowHandle",{}]
[task 2020-09-16T16:59:05.544Z] 16:59:05     INFO -  1600275545539	Marionette	DEBUG	90 <- [1,7,null,{"value":"115"}]
[task 2020-09-16T16:59:05.544Z] 16:59:05     INFO -  1600275545539	Marionette	DEBUG	90 -> [0,8,"WebDriver:GetWindowHandles",{}]
[task 2020-09-16T16:59:05.545Z] 16:59:05     INFO -  1600275545540	Marionette	DEBUG	90 <- [1,8,null,["115"]]
[task 2020-09-16T16:59:05.545Z] 16:59:05     INFO -  1600275545540	Marionette	DEBUG	90 -> [0,9,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.545Z] 16:59:05     INFO -  1600275545540	Marionette	DEBUG	90 <- [1,9,null,{"value":null}]
[task 2020-09-16T16:59:05.545Z] 16:59:05     INFO -  1600275545541	Marionette	DEBUG	90 -> [0,10,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.545Z] 16:59:05     INFO -  1600275545541	Marionette	DEBUG	90 <- [1,10,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.553Z] 16:59:05     INFO -  1600275545546	Marionette	DEBUG	90 -> [0,11,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.553Z] 16:59:05     INFO -  1600275545546	Marionette	DEBUG	90 <- [1,11,null,{"value":null}]
[task 2020-09-16T16:59:05.554Z] 16:59:05     INFO -  1600275545547	Marionette	DEBUG	90 -> [0,12,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.555Z] 16:59:05     INFO -  1600275545547	Marionette	DEBUG	90 <- [1,12,null,["1"]]
[task 2020-09-16T16:59:05.556Z] 16:59:05     INFO -  1600275545547	Marionette	DEBUG	90 -> [0,13,"WebDriver:GetWindowHandles",{}]
[task 2020-09-16T16:59:05.557Z] 16:59:05     INFO -  1600275545547	Marionette	DEBUG	90 <- [1,13,null,["115"]]
[task 2020-09-16T16:59:05.557Z] 16:59:05     INFO -  1600275545548	Marionette	DEBUG	90 -> [0,14,"WebDriver:NewWindow",{"type":"window","focus":false,"private":false}]
[task 2020-09-16T16:59:05.559Z] 16:59:05     INFO -  1600275545552	Marionette	TRACE	Received observer notification toplevel-window-ready
[task 2020-09-16T16:59:05.562Z] 16:59:05     INFO -  1600275545561	Marionette	TRACE	Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.563Z] 16:59:05     INFO -  1600275545561	Marionette	TRACE	Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.724Z] 16:59:05     INFO -  1600275545722	Marionette	TRACE	Received observer notification browser-delayed-startup-finished
[task 2020-09-16T16:59:05.742Z] 16:59:05     INFO -  1600275545732	Marionette	TRACE	Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545732	Marionette	TRACE	Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545733	Marionette	DEBUG	90 <- [1,14,null,{"handle":"167","type":"window"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545736	Marionette	DEBUG	90 -> [0,15,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545736	Marionette	DEBUG	90 <- [1,15,null,["1","165"]]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545737	Marionette	DEBUG	90 -> [0,16,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545737	Marionette	DEBUG	90 <- [1,16,null,["1","165"]]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545738	Marionette	DEBUG	90 -> [0,17,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545738	Marionette	DEBUG	90 <- [1,17,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545739	Marionette	DEBUG	90 -> [0,18,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05     INFO -  1600275545739	Marionette	DEBUG	90 <- [1,18,null,{"value":null}]
[task 2020-09-16T16:59:05.746Z] 16:59:05     INFO -  1600275545743	Marionette	DEBUG	90 -> [0,19,"WebDriver:ExecuteScript",{"script":"Components.utils.import(\"resource://gre/modules/Services.jsm\");\n\n              ... ":"../../venv/lib/python2.7/site-packages/marionette_harness/runner/mixins/window_manager.py","sandbox":"default","line":97}]
[task 2020-09-16T16:59:05.749Z] 16:59:05     INFO -  1600275545747	Marionette	DEBUG	90 <- [1,19,null,{"value":true}]
[task 2020-09-16T16:59:05.757Z] 16:59:05     INFO -  1600275545750	Marionette	DEBUG	90 -> [0,20,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.757Z] 16:59:05     INFO -  1600275545750	Marionette	DEBUG	90 <- [1,20,null,{"value":null}]
[task 2020-09-16T16:59:05.757Z] 16:59:05     INFO -  1600275545752	Marionette	DEBUG	90 -> [0,21,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.758Z] 16:59:05     INFO -  1600275545752	Marionette	DEBUG	90 <- [1,21,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.759Z] 16:59:05     INFO -  1600275545753	Marionette	DEBUG	90 -> [0,22,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.759Z] 16:59:05     INFO -  1600275545753	Marionette	DEBUG	90 <- [1,22,null,{"value":null}]
[task 2020-09-16T16:59:05.760Z] 16:59:05     INFO -  1600275545753	Marionette	DEBUG	90 -> [0,23,"WebDriver:SwitchToWindow",{"handle":"165","focus":true}]
[task 2020-09-16T16:59:05.760Z] 16:59:05     INFO -  1600275545755	Marionette	TRACE	[167] Frame script loaded
[task 2020-09-16T16:59:05.764Z] 16:59:05     INFO -  1600275545760	Marionette	TRACE	Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.765Z] 16:59:05     INFO -  1600275545760	Marionette	TRACE	Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.768Z] 16:59:05     INFO -  1600275545766	Marionette	DEBUG	90 <- [1,23,null,{"value":null}]
[task 2020-09-16T16:59:05.804Z] 16:59:05     INFO -  1600275545798	Marionette	DEBUG	90 -> [0,24,"WebDriver:CloseChromeWindow",{}]
[task 2020-09-16T16:59:05.813Z] 16:59:05     INFO -  1600275545806	Marionette	TRACE	Received DOM event unload for [object HTMLDocument]
[task 2020-09-16T16:59:05.814Z] 16:59:05     INFO -  1600275545809	Marionette	TRACE	Received observer notification message-manager-disconnect
[task 2020-09-16T16:59:05.814Z] 16:59:05     INFO -  1600275545810	Marionette	TRACE	[167] Frame script unloaded
[task 2020-09-16T16:59:05.817Z] 16:59:05     INFO -  1600275545811	Marionette	DEBUG	90 <- [1,24,null,["1"]]
[task 2020-09-16T16:59:05.818Z] 16:59:05     INFO -  1600275545816	Marionette	DEBUG	90 -> [0,25,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.819Z] 16:59:05     INFO -  1600275545816	Marionette	DEBUG	90 <- [1,25,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.820Z] 16:59:05     INFO -  1600275545817	Marionette	DEBUG	90 -> [0,26,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.820Z] 16:59:05     INFO -  1600275545817	Marionette	DEBUG	90 <- [1,26,null,{"value":null}]
[task 2020-09-16T16:59:05.821Z] 16:59:05     INFO -  1600275545818	Marionette	DEBUG	90 -> [0,27,"WebDriver:GetChromeWindowHandle",{}]
[task 2020-09-16T16:59:05.822Z] 16:59:05     INFO -  1600275545818	Marionette	DEBUG	90 <- [1,27,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://marione ... t@chrome://marionette/content/server.js:241:9\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20\n"},null]
[task 2020-09-16T16:59:05.822Z] 16:59:05     INFO -  1600275545819	Marionette	DEBUG	90 -> [0,28,"WebDriver:GetWindowHandle",{}]
[task 2020-09-16T16:59:05.823Z] 16:59:05     INFO -  1600275545820	Marionette	DEBUG	90 <- [1,28,null,{"value":"167"}]
[task 2020-09-16T16:59:05.824Z] 16:59:05     INFO -  1600275545821	Marionette	DEBUG	90 -> [0,29,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.824Z] 16:59:05     INFO -  1600275545821	Marionette	DEBUG	90 <- [1,29,null,{"value":null}]
[task 2020-09-16T16:59:05.826Z] 16:59:05     INFO -  1600275545822	Marionette	DEBUG	90 -> [0,30,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.826Z] 16:59:05     INFO -  1600275545822	Marionette	DEBUG	90 <- [1,30,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.827Z] 16:59:05     INFO -  1600275545824	Marionette	DEBUG	90 -> [0,31,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.828Z] 16:59:05     INFO -  1600275545825	Marionette	DEBUG	90 <- [1,31,null,{"value":null}]
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - Failed to gather test failure debug: Browsing context has been discarded
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - stacktrace:
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	WebDriverError@chrome://marionette/content/error.js:181:5
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	NoSuchWindowError@chrome://marionette/content/error.js:415:5
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	assert.that/<@chrome://marionette/content/assert.js:460:13
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	assert.open@chrome://marionette/content/assert.js:168:4
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	GeckoDriver.prototype.takeScreenshot@chrome://marionette/content/driver.js:3002:10
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	despatch@chrome://marionette/content/server.js:297:40
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	execute@chrome://marionette/content/server.js:267:16
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	onPacket/<@chrome://marionette/content/server.js:240:20
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	onPacket@chrome://marionette/content/server.js:241:9
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 	_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20
[task 2020-09-16T16:59:05.865Z] 16:59:05  WARNING - 
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO - TEST-UNEXPECTED-FAIL | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO - Traceback (most recent call last):
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO -   File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py", line 196, in run
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO -     testMethod()
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO -   File "/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py", line 34, in test_closed_chrome_window
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO -     self.marionette.current_window_handle
[task 2020-09-16T16:59:05.865Z] 16:59:05     INFO - TEST-INFO took 345ms```
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name>.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised

Also found this failing on

Update:

There have been 54 failures since the bug was created:

  • 1 failure on Windows 7 debug
  • 1 failure on Windows 10 x64 debug
  • 6 failures on Linux 18.04 x64 shippable opt
  • 1 failure on Linux 18.04 x64 asan opt
  • 45 failures on Linux 18.04 x64 opt & debug

Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=316184487&repo=mozilla-central&lineNumber=26903

[task 2020-09-19T23:14:52.177Z] 23:14:52 INFO - TEST-UNEXPECTED-FAIL | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - Traceback (most recent call last):
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py", line 196, in run
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - testMethod()
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - File "/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py", line 34, in test_closed_chrome_window
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - self.marionette.current_window_handle
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - TEST-INFO took 244ms

Whiteboard: [stockwell needswork]

Not sure why this bug has been filed while bug 1665216 covers the same but lets cover all work here now. This is most likely a regression from bug 1665216.

Regressed by: 1493108

Maja, given that you are natively on Linux are you able to reproduce this failure?

Flags: needinfo?(mjzffr)

I can reproduce it sometimes, but it's relatively rare. Ping me if there's anything in particular you want me to check.

Flags: needinfo?(mjzffr)

I cannot reproduce at all. So if you can find anything out or fix it that would be pretty helpful. Otherwise I would have to start with try builds tomorrow, which certainly will take longer.

Flags: needinfo?(mjzffr)
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name>.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name> <something>.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name> <something>.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name> <something> | AssertionError: NoSuchWindowException not raised
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/<test-name> <something> | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_<random> <something> | AssertionError: NoSuchWindowException not raised

So here some thoughts... The current code we make use of can be found here:
https://searchfox.org/mozilla-central/rev/3d53187b90605ccef321c9cadbba762ad06a6381/testing/marionette/browser.js#278-287

The problem might be the wait for the unload event, which is fired way too early while lots of other clean-up stuff is still going on. A better approach here should be the xul-window-destroyed observer notification. I will push a try build to see if that makes a difference.

That was not enough:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1e44e292a9d2186aa7fb77604aebfe5097f64c82

After speaking to Olli I was informed that browsing contexts are getting discarded asynchronously. As such they will still continue to live a certain amount of time before they are getting gc'ed. As such we certainly will have to nullify the internal browsing context properties. Similar to what we actually already do for WebDriver:close.

Nevertheless I will keep the xul-window-destroyed changes from the last try build to ensure we don't run into races with the closing window.

Here a new try build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e143356208b8e30be522ca87c4c532b5f91b0118

Flags: needinfo?(mjzffr)
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Priority: P5 → P1
Whiteboard: [stockwell needswork] → [marionette-fission-mvp][simple][stockwell needswork]

Similar to closing a tab the internal browsing contexts
need to be nullified. This is necessary because browsing
contexts are asynchronously discarded and garbage collected.

Also the "unload" event as currently used to wait for the
chrome window to be closed fires too early. Instead the
"xul-window-destroyed" observer notification needs to be used.

Tracking marionette-fission-mvp bugs for Fission M7 Beta milestone. We would like Marionette tests to work with Fission before we ride the trains to Beta.

Fission Milestone: --- → M7
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/531bfeef68a1
[marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check. r=marionette-reviewers,maja_zf
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch

Comment on attachment 9177661 [details]
Bug 1665437 - [marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check.

Beta/Release Uplift Approval Request

  • User impact if declined: Using geckodriver in chrome scope certain commands can fail when a chrome window gets closed, and the appropriate browsing context hasn't been garbage collected yet.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): To ensure the browsing context is discarded the patch explicitly sets it to null.
  • String changes made/needed: no
Attachment #9177661 - Flags: approval-mozilla-beta?

Comment on attachment 9177661 [details]
Bug 1665437 - [marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check.

approved for 82.0b4

Attachment #9177661 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Product: Testing → Remote Protocol
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: