Closed Bug 1351335 Opened 3 years ago Closed 3 years ago

Intermittent test_fallback_update.py TestFallbackUpdate.test_update | NoSuchWindowException: Unable to locate window

Categories

(Testing :: Firefox UI Tests, defect)

Version 3
defect
Not set

Tracking

(firefox52 wontfix, firefox-esr52 fixed, firefox53 fixed, firefox54 fixed, firefox55 fixed)

RESOLVED FIXED
mozilla55
Tracking Status
firefox52 --- wontfix
firefox-esr52 --- fixed
firefox53 --- fixed
firefox54 --- fixed
firefox55 --- fixed

People

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

References

Details

(Keywords: intermittent-failure, regression, Whiteboard: [stockwell fixed])

Attachments

(1 file)

This regressed on central for the following range:

https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&filter-searchStr=Firefox%20&filter-tier=1&filter-tier=2&filter-tier=3&bugfiler&fromchange=7513b3f42058&tochange=01d1dedf400d

Child process with id "94150" has been marked as detached because it is no longer in the managed process group. Keeping reference to the process id "94157" which is the new child process.
Failed to gather test failure debug: Unable to locate window
stacktrace:
	WebDriverError@chrome://marionette/content/error.js:200:5
	NoSuchWindowError@chrome://marionette/content/error.js:402:5
	assert.that/<@chrome://marionette/content/assert.js:337:13
	assert.window@chrome://marionette/content/assert.js:136:10
	GeckoDriver.prototype.takeScreenshot@chrome://marionette/content/driver.js:2460:13
	Dispatcher.prototype.execute/req<@chrome://marionette/content/dispatcher.js:128:20
	TaskImpl_run@resource://gre/modules/Task.jsm:319:42
	TaskImpl@resource://gre/modules/Task.jsm:277:3
	asyncFunction@resource://gre/modules/Task.jsm:252:14
	Task_spawn@resource://gre/modules/Task.jsm:166:12
	Dispatcher.prototype.execute@chrome://marionette/content/dispatcher.js:118:13
	Dispatcher.prototype.onPacket@chrome://marionette/content/dispatcher.js:89:5
	_onJSONObjectReady/<@chrome://marionette/content/server.js -> resource://devtools/shared/transport/transport.js:483:11
	exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
	exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14

TEST-UNEXPECTED-ERROR | test_fallback_update.py TestFallbackUpdate.test_update | NoSuchWindowException: Unable to locate window
Traceback (most recent call last):
  File "/Volumes/data/code/gecko/testing/marionette/harness/marionette_harness/marionette_test/testcases.py", line 166, in run
    testMethod()
  File "/Volumes/data/code/gecko/testing/firefox-ui/tests/update/fallback/test_fallback_update.py", line 21, in test_update
    self.download_and_apply_forced_update()
  File "/Volumes/data/code/gecko/testing/firefox-ui/harness/firefox_ui_harness/testcases.py", line 328, in download_and_apply_forced_update
    self.updates[self.current_update_index]['patch'] = self.patch_info
  File "/Volumes/data/code/gecko/testing/firefox-ui/harness/firefox_ui_harness/testcases.py", line 115, in patch_info
    patch = self.software_update.patch_info
  File "/Volumes/data/code/gecko/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py", line 293, in patch_info
    info = {'channel': self.update_channel}
  File "/Volumes/data/code/gecko/testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py", line 319, in update_channel
    default_branch=True)
  File "/Volumes/data/code/gecko/testing/marionette/client/marionette_driver/marionette.py", line 1004, in get_pref
    """, script_args=(pref, default_branch, value_type))
  File "/Volumes/data/code/gecko/testing/marionette/client/marionette_driver/marionette.py", line 1798, in execute_script
    rv = self._send_message("executeScript", body, key="value")
  File "/Volumes/data/code/gecko/testing/marionette/client/marionette_driver/decorators.py", line 23, in _
    return func(*args, **kwargs)
  File "/Volumes/data/code/gecko/testing/marionette/client/marionette_driver/marionette.py", line 730, in _send_message
    self._handle_error(err)
  File "/Volumes/data/code/gecko/testing/marionette/client/marionette_driver/marionette.py", line 763, in _handle_error
    raise errors.lookup(error)(message, stacktrace=stacktrace)

It looks like a side-effect from my patch on bug 1322383.
Assignee: nobody → hskupin
Blocks: 1322383
Status: NEW → ASSIGNED
Keywords: regression
The problem here is that we close the software update dialog once the complete mar file has been applied, and try to get the patch info afterward, which actually performs an execute_script() call against the closed window. As such we fail with no such window. To solve this we can simply leave it open because we restart anyway.
Comment on attachment 8852380 [details]
Bug 1351335 - Don't close software update dialog before restart.

https://reviewboard.mozilla.org/r/124624/#review127164
Attachment #8852380 - Flags: review?(ato) → review+
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/805e9ae3b619
Don't close software update dialog before restart. r=ato
https://hg.mozilla.org/mozilla-central/rev/805e9ae3b619
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Whiteboard: [stockwell fixed]
This test-only patch will also stabilize the test on beta and esr52. Please uplift. Thanks.
Whiteboard: [stockwell fixed] → [stockwell fixed][checkin-needed-beta][checkin-needed-esr52]
Given the complexity of the uplift, the right order and results are all layed out on bug 1322383.
https://hg.mozilla.org/releases/mozilla-beta/rev/a7cd0fc138fb
Whiteboard: [stockwell fixed][checkin-needed-beta][checkin-needed-esr52] → [stockwell fixed]
We also need this test-only patch uplifted to esr52.
Whiteboard: [stockwell fixed] → [stockwell fixed][checkin-needed-esr52]
https://hg.mozilla.org/releases/mozilla-esr52/rev/014a36bb27d8
Whiteboard: [stockwell fixed][checkin-needed-esr52] → [stockwell fixed]
You need to log in before you can comment on or make changes to this bug.