Closed
Bug 1240179
Opened 9 years ago
Closed 9 years ago
[e10s] Javascript error when run under XVFB: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIMessageSender.sendAsyncMessage] (chrome://marionette/content/listener.js, line 410)
Categories
(Remote Protocol :: Marionette, defect)
Remote Protocol
Marionette
Tracking
(firefox43 unaffected, firefox44 affected, firefox45 affected, firefox46 affected)
RESOLVED
INVALID
Tracking | Status | |
---|---|---|
firefox43 | --- | unaffected |
firefox44 | --- | affected |
firefox45 | --- | affected |
firefox46 | --- | affected |
People
(Reporter: whimboo, Unassigned)
Details
(Keywords: regression, regressionwindow-wanted)
Today i have seen the following failure a lot of times in a Travis build. I can reproduce it locally when run under XVFB and e10s mode turned on:
Here the command for firefox-ui-tests:
DISPLAY=:99.0 && firefox-ui-functional --binary /mozilla/bin/nightly/firefox --e10s firefox_puppeteer/tests/ --pref "marionette.logging:True"
Here some line from a local log and Marionette debugging turned on:
1452892022269 Marionette TRACE conn89 -> [0,74,"getCurrentChromeWindowHandle",null]
1452892022269 Marionette TRACE conn89 <- [1,74,null,{"value":"3"}]
JavaScript error: chrome://marionette/content/listener.js, line 410: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIMessageSender.sendAsyncMessage]
1452892022272 Marionette TRACE conn89 -> [0,75,"executeScript",{"scriptTimeout":null,"newSandbox":true,"args":["3"],"filename":"windows.py","script":"\n Components.utils.import(\"resource://gre/modules/Services.jsm\");\n let win = Services.wm.getOuterWindowWithId(Number(arguments[0]));\n return win.document.readyState == 'complete';\n ","sandbox":"default","line":108}]
1452892022273 Marionette TRACE conn89 <- [1,75,null,{"value":true}]
Reporter | ||
Comment 1•9 years ago
|
||
I can reproduce this failure down to beta 44.0. The last release of Firefox is not affected.
status-firefox43:
--- → unaffected
status-firefox44:
--- → affected
status-firefox45:
--- → affected
status-firefox46:
--- → affected
Reporter | ||
Updated•9 years ago
|
Keywords: regression,
regressionwindow-wanted
Comment 2•9 years ago
|
||
I’m unable to run the tests using the command you provided above:
(_env)% firefox-ui-functional --binary /home/ato/1/gecko/build/desktop-release/dist/bin/firefox-bin --e10s firefox_puppeteer/tests/ --pref "marionette.logging:True"
Using workspace for temporary data: "/home/ato/1/firefox-ui-tests"
Profile destination is TMP
starting httpd
running httpd on http://127.0.0.1:40905/
Failure during test execution.
Traceback (most recent call last):
File "/home/ato/1/firefox-ui-tests/_env/local/lib/python2.7/site-packages/marionette_client-2.0.0-py2.7.egg/marionette/runtests.py", line 71, in run
runner.run_tests(tests)
File "/home/ato/1/firefox-ui-tests/_env/local/lib/python2.7/site-packages/marionette_client-2.0.0-py2.7.egg/marionette/runner/base.py", line 850, in run_tests
% '\n '.join(invalid_tests))
Exception: Tests file names must starts with 'test_'. Invalid test names:
/home/ato/1/firefox-ui-tests/firefox_puppeteer/tests
Flags: needinfo?(hskupin)
Reporter | ||
Comment 3•9 years ago
|
||
Yesterday I merged the python_packages branch for bug 1232967 into mozilla-central. So the path to the puppeteer tests have been changed: https://github.com/mozilla/firefox-ui-tests/tree/mozilla-central/firefox_ui_tests/firefox_ui_tests/puppeteer
Flags: needinfo?(hskupin)
Comment 4•9 years ago
|
||
Thanks!
The command `firefox-ui-functional --binary /home/ato/1/gecko/build/desktop-release/dist/bin/firefox-bin --e10s firefox_ui_tests/firefox_ui_tests/puppeteer --pref "marionette.logging:True"` appears to work.
Comment 5•9 years ago
|
||
This is the same problem you will run into if you wrap your command using xvfb-run. The explanation is that certain parts of the Firefox UI needs a window manager in order to function normally.
If you imagine wrapping your command in a naïve xvfb wrapper that includes a window manager such as this:
#!/bin/sh
DISPLAY=:99
Xvfb $DISPLAY -ac +extension RANDR &
matchbox-window-manager &
exec $@
All the tests will pass:
% chmod +x xvfb-wm-run
% ./xvfb-wm-run firefox-ui-functional --binary /home/ato/Code/gecko/build/desktop-release/dist/bin/firefox-bin firefox_ui_tests/firefox_ui_tests/puppeteer/test_toolbars.py --pref "marionette.logging:True"
…
SUMMARY
-------
passed: 13
failed: 0
todo: 0
It is possible that replacing matchbox-window-manager with xinit will work if you have that installed.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INVALID
Updated•2 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•