Closed
Bug 1446293
Opened 7 years ago
Closed 7 years ago
Intermittent testing\marionette\harness\marionette_harness\tests\unit\test_navigation.py TestBackForwardNavigation.test_non_remote_about_pages | JavascriptException: TypeError: win is null
Categories
(Testing :: Marionette Client and Harness, defect, P5)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: intermittent-bug-filer, Unassigned)
References
Details
(Keywords: intermittent-failure)
Attachments
(1 file)
36.61 KB,
image/png
|
Details |
Filed by: rgurzau [at] mozilla.com
https://treeherder.mozilla.org/logviewer.html#?job_id=168413111&repo=mozilla-inbound
https://queue.taskcluster.net/v1/task/bj7kT0fnTWie8BtrQulctA/runs/0/artifacts/public/logs/live_backing.log
06:50:26 ERROR - TEST-UNEXPECTED-ERROR | testing\marionette\harness\marionette_harness\tests\unit\test_navigation.py TestBackForwardNavigation.test_non_remote_about_pages | JavascriptException: TypeError: win is null
06:50:26 INFO - stacktrace:
06:50:26 INFO - execute_script @test_navigation.py, line 111
06:50:26 INFO - inline javascript, line 16
06:50:26 INFO - src: " if (win.BrowserApp) {"
06:50:26 INFO - Stack:
06:50:26 INFO - @test_navigation.py:16:1
06:50:26 INFO - @test_navigation.py:0:2
06:50:26 INFO - evaluate.sandbox/promise<@chrome://marionette/content/evaluate.js:163:13
06:50:26 INFO - evaluate.sandbox@chrome://marionette/content/evaluate.js:114:17
06:50:26 INFO - GeckoDriver.prototype.execute_@chrome://marionette/content/driver.js:1024:19
06:50:26 INFO - async*GeckoDriver.prototype.executeScript@chrome://marionette/content/driver.js:887:27
06:50:26 INFO - Async*despatch@chrome://marionette/content/server.js:288:20
06:50:26 INFO - async*execute@chrome://marionette/content/server.js:262:11
06:50:26 INFO - async*onPacket/<@chrome://marionette/content/server.js:237:15
06:50:26 INFO - async*onPacket@chrome://marionette/content/server.js:236:8
06:50:26 INFO - _onJSONObjectReady/<@chrome://marionette/content/transport.js:500:9
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 3•7 years ago
|
||
All the failures are happening on Windows 10 only, and what fails here is that `RecentWindow.getMostRecentBrowserWindow()` returns `null`. It means we are talking about that code:
https://dxr.mozilla.org/mozilla-central/rev/b906009d875d1f5d29b0d1252cdb43a9b1a5889c/browser/modules/RecentWindow.jsm#56-62
This can only happen when `getZOrderDOMWindowEnumerator()` returns no elements. But the screenshot shows that there is a window with 2 tabs.
I have a hard time to find the definition of that method. Neil, do you know if something changed in that code lately?
Flags: needinfo?(enndeakin)
Comment 4•7 years ago
|
||
Did this just start failing recently? The only bug I can think of is 1439875 and related.
Flags: needinfo?(enndeakin)
Comment 5•7 years ago
|
||
(In reply to Neil Deakin from comment #4)
> Did this just start failing recently? The only bug I can think of is 1439875
> and related.
The first time this failure occurred was 13 days ago. Then we had only 3 failures in a week because it started Friday. But then last week it increased to 22 failures. So yes, it's around the time when the patches of bug 1439875 landed. Thank you for the hint!
Emilio, can you please have a look at comment 3? Could this be a side-effect from your patch?
Flags: needinfo?(emilio)
Comment 6•7 years ago
|
||
Perhaps, yeah... But it's not clear to me how to go about figuring this out. What do I need to do to run the test?
My idea is to try to repro under rr chaos mode and figure out what's going on, but lacking that I don't have a good sense of how this may be happening. Chances are that the test / the code it's testing is somewhat racy, this test is testing navigation stuff, and I suspect that across navigations getting the DOM window corresponding to a docshell can fail.
Flags: needinfo?(emilio)
Comment hidden (Intermittent Failures Robot) |
Comment 8•7 years ago
|
||
Emilio, as usual you can use `mach` to run the tests. It means that the following basic command will run the test for you:
> mach test testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py
If you want to see all the log output add `-vv` for trace logs, and `--gecko-log -` to print it all to the command line. If you miss the latter a file called `gecko.log` will be created. You don't necessarily have to build Firefox, but you can use `--binary %path%` to run a specific binary. Please note that this failure so far only occurs for opt/pgo builds.
Comment 9•7 years ago
|
||
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Updated•2 years ago
|
Product: Testing → Remote Protocol
Comment 10•2 years ago
|
||
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.
Description
•