Closed
Bug 1512336
Opened 6 years ago
Closed 6 years ago
Intermittent test_navigation.py TestNavigate.test_set_location_through_execute_script | IOError: Process killed because the connection to Marionette server is lost. Check gecko.log for errors (Reason: Connection timed out after 360.0s)
Categories
(Testing :: Marionette Client and Harness, defect, P1)
Tracking
(firefox-esr60 unaffected, firefox64 unaffected, firefox65 unaffected, firefox66 fixed)
RESOLVED
FIXED
mozilla66
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | unaffected |
firefox66 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: whimboo)
References
Details
(Keywords: intermittent-failure, regression)
Attachments
(1 file)
Filed by: nbeleuzu [at] mozilla.com
https://treeherder.mozilla.org/logviewer.html#?job_id=215657372&repo=autoland
https://queue.taskcluster.net/v1/task/TcX1OX0DTUu1zZ8dtrJ9uA/runs/0/artifacts/public/logs/live_backing.log
[task 2018-12-05T23:16:19.150Z] 23:16:19 INFO - 1544051779148 Marionette DEBUG Closed connection 17
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - TEST-UNEXPECTED-ERROR | testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_set_location_through_execute_script | IOError: Process killed because the connection to Marionette server is lost. Check gecko.log for errors (Reason: Connection timed out after 360.0s)
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - Traceback (most recent call last):
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py", line 159, in run
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - testMethod()
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py", line 131, in test_set_location_through_execute_script
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - message="Target element 'testh1' has not been found")
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/wait.py", line 129, in until
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - rv = condition(self.marionette)
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/expected.py", line 48, in __call__
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - return _find(marionette, self.locator)
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/expected.py", line 309, in _find
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - el = func(marionette)
[task 2018-12-05T23:17:30.259Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/expected.py", line 45, in <lambda>
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - self.locator = lambda m: m.find_element(*args)
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 1836, in find_element
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - body, key="value")
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/decorators.py", line 36, in _
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - m._handle_socket_failure()
[task 2018-12-05T23:17:30.260Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 844, in _handle_socket_failure
[task 2018-12-05T23:17:30.261Z] 23:17:30 INFO - reraise(IOError, message.format(returncode=returncode, reason=val), tb)
[task 2018-12-05T23:17:30.261Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/decorators.py", line 26, in _
[task 2018-12-05T23:17:30.261Z] 23:17:30 INFO - return func(*args, **kwargs)
[task 2018-12-05T23:17:30.262Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 756, in _send_message
[task 2018-12-05T23:17:30.262Z] 23:17:30 INFO - msg = self.client.request(name, params)
[task 2018-12-05T23:17:30.263Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/transport.py", line 273, in request
[task 2018-12-05T23:17:30.263Z] 23:17:30 INFO - return self.receive()
[task 2018-12-05T23:17:30.263Z] 23:17:30 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/transport.py", line 183, in receive
[task 2018-12-05T23:17:30.264Z] 23:17:30 INFO - raise socket.timeout("Connection timed out after {}s".format(self.socket_timeout))
[task 2018-12-05T23:17:30.264Z] 23:17:30 INFO - TEST-INFO took 431900ms
[task 2018-12-05T23:17:30.265Z] 23:17:30 ERROR - test_end for testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_set_location_through_execute_script logged while not in progress. Logged with data: {"status": "ERROR", "extra": {"class_name": "test_navigation.TestNavigate", "method_name": "test_set_location_through_execute_script"}, "expected": "PASS", "test": "testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_set_location_through_execute_script", "message": "InvalidSessionIdException: Please start a session", "stack": "Traceback (most recent call last):\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py\", line 190, in run\n self.tearDown()\n File \"/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py\", line 66, in tearDown\n self.marionette.timeout.reset()\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/timeout.py\", line 104, in reset\n self.script = DEFAULT_SCRIPT_TIMEOUT\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/timeout.py\", line 57, in script\n self._set(\"script\", sec)\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/timeout.py\", line 33, in _set\n self._marionette._send_message(\"WebDriver:SetTimeouts\", {name: ms})\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/decorators.py\", line 26, in _\n return func(*args, **kwargs)\n File \"/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py\", line 753, in _send_message\n raise errors.InvalidSessionIdException(\"Please start a session\")\n"}
[task 2018-12-05T23:17:30.266Z] 23:17:30 INFO - TEST-START | testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_type_to_non_remote_tab
[task 2018-12-05T23:17:30.266Z] 23:17:30 INFO - TEST-SKIP | testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_type_to_non_remote_tab | took 0ms
[task 2018-12-05T23:17:30.267Z] 23:17:30 INFO - TEST-START | testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestNavigate.test_type_to_remote_tab
[task 2018-12-05T23:17:30.267Z] 23:17:30 INFO - Application command: /builds/worker/workspace/build/application/firefox/firefox -no-remote -marionette -profile /tmp/tmpfTS1hV.mozrunner
[task 2018-12-05T23:17:31.893Z] 23:17:31 INFO - 1544051851891 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: resource://pdf.js/
[task 2018-12-05T23:17:31.895Z] 23:17:31 INFO - 1544051851892 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: about:reader*
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 2•6 years ago
|
||
Due to some reason the framescript got moved to a different process while the `Find Element` command was executing:
> [task 2018-12-05T23:10:19.089Z] 23:10:19 INFO - 1544051419084 Marionette DEBUG 17 -> [0,18,"WebDriver:FindElement",{"using":"id","value":"testh1"}]
[..]
> [task 2018-12-05T23:10:19.625Z] 23:10:19 INFO - 1544051419611 Marionette TRACE [32212254721] Frame script loaded
> [task 2018-12-05T23:10:19.626Z] 23:10:19 INFO - 1544051419614 Marionette TRACE [32212254721] Frame script registered
Assignee | ||
Comment 3•6 years ago
|
||
... Given that we don't expect that to be happen outside of any navigation request the `Find Element` command hangs.
The only idea I have is that loading `http://127.0.0.1:44493/test.html` by setting the value via `window.location.href` caused us to return too early. Checking the test we indeed don't wait for page load events, which is a problem, and needs to be fixed. I will check that when I'm back next week.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 6•6 years ago
|
||
The last failure as reported is from December 21st. As such this might have been a regression, and got fixed by a different bug.
https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2018-12-03&endday=2019-01-02&tree=all&bug=1512336
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox66:
--- → fixed
Keywords: regression
Resolution: --- → WORKSFORME
Assignee | ||
Comment 7•6 years ago
|
||
Interestingly the failure time frame is equivalent to the life time of my new window patch (bug 1504756) on central. Once it got backed out the failures stopped.
I will have to take care of this case before relanding the patch on bug 1504756.
Blocks: 1504756
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → hskupin
status-firefox65:
--- → fixed
Resolution: WORKSFORME → FIXED
Target Milestone: --- → mozilla66
Updated•6 years ago
|
status-firefox64:
--- → unaffected
status-firefox-esr60:
--- → unaffected
Assignee | ||
Comment 8•6 years ago
|
||
Sorry, I missed to address this regression before landing the patch series on bug 1504756 again. I will check that failure soon.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 9•6 years ago
|
||
Assignee | ||
Comment 10•6 years ago
|
||
The solution here would be to pre-load a web page which already causes a remoteness change to happen. As such loading another page through the location bar won't trigger a remoteness change, which then prevents us from hanging in WebDriver:FindElement
.
Assignee | ||
Comment 11•6 years ago
|
||
Status: REOPENED → ASSIGNED
Priority: P5 → P1
Assignee | ||
Comment 12•6 years ago
|
||
An unexpected remoteness change can cause the
"WebDriver:FindElement" command to hang forever.
To avoid that already pre-load a web page which
enables the remoteness flag.
Comment 13•6 years ago
|
||
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/70cf6c6c51b4
[marionette] Fix hang in TestNavigate.test_set_location_through_execute_script. r=ato
Comment 14•6 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 6 years ago → 6 years ago
Resolution: --- → FIXED
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Product: Testing → Remote Protocol
Comment 17•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
•