Closed Bug 1665216 Opened 4 years ago Closed 4 years ago

Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_<context>.py TestNoSuchWindow<Context>.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised

Categories

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

All
Linux
defect

Tracking

(firefox81 unaffected, firefox82 affected)

RESOLVED DUPLICATE of bug 1665437
Tracking Status
firefox81 --- unaffected
firefox82 --- affected

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure, regression, Whiteboard: [chrome-only])

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


[task 2020-09-15T22:00:08.426Z] 22:00:08  WARNING - Failed to gather test failure debug: Browsing context has been discarded
[task 2020-09-15T22:00:08.427Z] 22:00:08  WARNING - stacktrace:
[task 2020-09-15T22:00:08.427Z] 22:00:08  WARNING - 	WebDriverError@chrome://marionette/content/error.js:181:5
[task 2020-09-15T22:00:08.427Z] 22:00:08  WARNING - 	NoSuchWindowError@chrome://marionette/content/error.js:415:5
[task 2020-09-15T22:00:08.428Z] 22:00:08  WARNING - 	assert.that/<@chrome://marionette/content/assert.js:460:13
[task 2020-09-15T22:00:08.428Z] 22:00:08  WARNING - 	assert.open@chrome://marionette/content/assert.js:168:4
[task 2020-09-15T22:00:08.429Z] 22:00:08  WARNING - 	GeckoDriver.prototype.takeScreenshot@chrome://marionette/content/driver.js:3002:10
[task 2020-09-15T22:00:08.430Z] 22:00:08  WARNING - 	despatch@chrome://marionette/content/server.js:297:40
[task 2020-09-15T22:00:08.430Z] 22:00:08  WARNING - 	execute@chrome://marionette/content/server.js:267:16
[task 2020-09-15T22:00:08.431Z] 22:00:08  WARNING - 	onPacket/<@chrome://marionette/content/server.js:240:20
[task 2020-09-15T22:00:08.431Z] 22:00:08  WARNING - 	onPacket@chrome://marionette/content/server.js:241:9
[task 2020-09-15T22:00:08.432Z] 22:00:08  WARNING - 	_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20
[task 2020-09-15T22:00:08.432Z] 22:00:08  WARNING - 
[task 2020-09-15T22:00:08.433Z] 22:00:08     INFO - TEST-UNEXPECTED-FAIL | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py TestNoSuchWindowContent.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
[task 2020-09-15T22:00:08.433Z] 22:00:08     INFO - Traceback (most recent call last):
[task 2020-09-15T22:00:08.433Z] 22:00:08     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-15T22:00:08.434Z] 22:00:08     INFO -     testMethod()
[task 2020-09-15T22:00:08.434Z] 22:00:08     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-15T22:00:08.434Z] 22:00:08     INFO -     self.marionette.current_window_handle
[task 2020-09-15T22:00:08.435Z] 22:00:08     INFO - TEST-INFO took 267ms```
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py TestNoSuchWindowContent.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content/chrome.py TestNoSuchWindowContent.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised

The correct failure lines are here:

[task 2020-09-15T22:00:08.375Z] 22:00:08     INFO -  1600207208365	Marionette	DEBUG	86 -> [0,23,"WebDriver:CloseChromeWindow",{}]
[task 2020-09-15T22:00:08.387Z] 22:00:08     INFO -  1600207208382	Marionette	TRACE	Received DOM event unload for [object HTMLDocument]
[task 2020-09-15T22:00:08.390Z] 22:00:08     INFO -  1600207208385	Marionette	TRACE	Received observer notification message-manager-disconnect
[task 2020-09-15T22:00:08.392Z] 22:00:08     INFO -  1600207208385	Marionette	TRACE	[155] Frame script unloaded
[task 2020-09-15T22:00:08.395Z] 22:00:08     INFO -  1600207208389	Marionette	DEBUG	86 <- [1,23,null,["1"]]
[task 2020-09-15T22:00:08.399Z] 22:00:08     INFO -  1600207208393	Marionette	DEBUG	86 -> [0,24,"Marionette:GetContext",{}]
[task 2020-09-15T22:00:08.401Z] 22:00:08     INFO -  1600207208393	Marionette	DEBUG	86 <- [1,24,null,{"value":"content"}]
[task 2020-09-15T22:00:08.403Z] 22:00:08     INFO -  1600207208394	Marionette	DEBUG	86 -> [0,25,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-15T22:00:08.405Z] 22:00:08     INFO -  1600207208394	Marionette	DEBUG	86 <- [1,25,null,{"value":null}]
[task 2020-09-15T22:00:08.408Z] 22:00:08     INFO -  1600207208395	Marionette	DEBUG	86 -> [0,26,"WebDriver:GetChromeWindowHandle",{}]
[task 2020-09-15T22:00:08.410Z] 22:00:08     INFO -  1600207208396	Marionette	DEBUG	86 <- [1,26,{"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-15T22:00:08.413Z] 22:00:08     INFO -  1600207208397	Marionette	DEBUG	86 -> [0,27,"WebDriver:GetWindowHandle",{}]
[task 2020-09-15T22:00:08.416Z] 22:00:08     INFO -  1600207208397	Marionette	DEBUG	86 <- [1,27,null,{"value":"155"}]

Looks to be a regression from bug 1493108 and specifically this changeset:
https://hg.mozilla.org/integration/autoland/rev/b9cfef271995

When closing the chrome window we don't seem to reset the content browsing context so that we still have a valid id.

Keywords: assertionregression
Regressed by: 1493108
Summary: Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content/chrome.py TestNoSuchWindowContent.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised → Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_window_status_<context>.py TestNoSuchWindow<Context>.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised

Actually I cannot replicate the problem locally. So I assume that this is some kind of race condition on Linux with closing the window. A lot of the window manipulation code is asynchronous on this platform, and as such we may return too early from WebDriver:CloseChromeWindow.

Given that this affects chrome scope only we will wait and see how often it fails.

OS: Unspecified → Linux
Hardware: Unspecified → All
Whiteboard: [chrome-only]
Status: NEW → RESOLVED
Closed: 4 years ago
No longer regressed by: 1493108
Resolution: --- → DUPLICATE
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.