Closed Bug 1526770 Opened 7 years ago Closed 7 years ago

Intermittent /webdriver/tests/get_active_element/get.py | test_no_browsing_context - setup error

Categories

(Remote Protocol :: Marionette, defect, P5)

Version 3
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1517538

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure, regression)

#[markdown(off)]
Filed by: rmaries [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=227484154&repo=mozilla-central

https://queue.taskcluster.net/v1/task/dKy2h9xoQNGDAmOi-C17TQ/runs/0/artifacts/public/logs/live_backing.log

11:29:49 INFO - STDOUT: ============================== warnings summary ===============================
11:29:49 INFO - STDOUT: <undetermined location>
11:29:49 INFO - STDOUT: Module already imported so cannot be rewritten: mozlog
11:29:49 INFO - STDOUT: -- Docs: http://doc.pytest.org/en/latest/warnings.html
11:29:49 INFO - STDOUT: ================ 6 passed, 1 warnings, 1 error in 7.18 seconds ================
11:29:49 INFO -
11:29:49 INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/get_active_element/get.py | test_no_browsing_context - setup error
11:29:49 INFO - capabilities = {}
11:29:49 INFO - configuration = {'capabilities': {'moz:firefoxOptions': {'binary': 'Z:\task_1549796778\build\application\firefox\firefox.exe', 'prefs'...orm.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444}
11:29:49 INFO - request = <SubRequest 'session' for <Function 'test_no_browsing_context'>>
11:29:49 INFO -
11:29:49 INFO - @pytest.fixture(scope="function")
11:29:49 INFO - def session(capabilities, configuration, request):
11:29:49 INFO - """Create and start a session for a test that does not itself test session creation.
11:29:49 INFO -
11:29:49 INFO - By default the session will stay open after each test, but we always try to start a
11:29:49 INFO - new one and assume that if that fails there is already a valid session. This makes it
11:29:49 INFO - possible to recover from some errors that might leave the session in a bad state, but
11:29:49 INFO - does not demand that we start a new session per test."""
11:29:49 INFO - global _current_session
11:29:49 INFO -
11:29:49 INFO - # Update configuration capabilities with custom ones from the
11:29:49 INFO - # capabilities fixture, which can be set by tests
11:29:49 INFO - caps = copy.deepcopy(configuration["capabilities"])
11:29:49 INFO - caps.update(capabilities)
11:29:49 INFO - caps = {"alwaysMatch": caps}
11:29:49 INFO -
11:29:49 INFO - # If there is a session with different capabilities active, end it now
11:29:49 INFO - if _current_session is not None and (
11:29:49 INFO - caps != _current_session.requested_capabilities):
11:29:49 INFO - _current_session.end()
11:29:49 INFO - _current_session = None
11:29:49 INFO -
11:29:49 INFO - if _current_session is None:
11:29:49 INFO - _current_session = webdriver.Session(
11:29:49 INFO - configuration["host"],
11:29:49 INFO - configuration["port"],
11:29:49 INFO - capabilities=caps)
11:29:49 INFO - try:
11:29:49 INFO - > _current_session.start()
11:29:49 INFO -
11:29:49 INFO - capabilities = {}
11:29:49 INFO - caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': 'Z:\task_1549796778\build\application\firefox\firefox.exe', 'prefs':...w.xn--n8j6ds53lwwkrqhv28a.web-platform.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test'}}}}
11:29:49 INFO - configuration = {'capabilities': {'moz:firefoxOptions': {'binary': 'Z:\task_1549796778\build\application\firefox\firefox.exe', 'prefs'...orm.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444}
11:29:49 INFO - request = <SubRequest 'session' for <Function 'test_no_browsing_context'>>
11:29:49 INFO -
11:29:49 INFO - tests\web-platform\tests\webdriver\tests\support\fixtures.py:150:
11:29:49 INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
11:29:49 INFO - tests\web-platform\tests\tools\webdriver\webdriver\client.py:421: in start
11:29:49 INFO - value = self.send_command("POST", "session", body=body)
11:29:49 INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
11:29:49 INFO -
11:29:49 INFO - self = <Session (disconnected)>, method = 'POST', url = 'session'
11:29:49 INFO - body = {'capabilities': {'alwaysMatch': {'moz:firefoxOptions': {'binary': 'Z:\task_1549796778\build\application\firefox\firef....xn--n8j6ds53lwwkrqhv28a.web-platform.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test'}}}}}
11:29:49 INFO -
11:29:49 INFO - def send_command(self, method, url, body=None):
11:29:49 INFO - """
11:29:49 INFO - Send a command to the remote end and validate its success.
11:29:49 INFO -
11:29:49 INFO - :param method: HTTP method to use in request.
11:29:49 INFO - :param uri: "Command part" of the HTTP request URL,
11:29:49 INFO - e.g. `window/rect`.
11:29:49 INFO - :param body: Optional body of the HTTP request.
11:29:49 INFO -
11:29:49 INFO - :return: `None` if the HTTP response body was empty, otherwise
11:29:49 INFO - the `value` field returned after parsing the response
11:29:49 INFO - body as JSON.
11:29:49 INFO -
11:29:49 INFO - :raises error.WebDriverException: If the remote end returns
11:29:49 INFO - an error.
11:29:49 INFO - :raises ValueError: If the response body does not contain a
11:29:49 INFO - `value` key.
11:29:49 INFO - """
11:29:49 INFO - response = self.transport.send(
11:29:49 INFO - method, url, body,
11:29:49 INFO - encoder=protocol.Encoder, decoder=protocol.Decoder,
11:29:49 INFO - session=self)
11:29:49 INFO -
11:29:49 INFO - if response.status != 200:
11:29:49 INFO - err = error.from_response(response)
11:29:49 INFO -
11:29:49 INFO - if isinstance(err, error.InvalidSessionIdException):
11:29:49 INFO - # The driver could have already been deleted the session.
11:29:49 INFO - self.session_id = None
11:29:49 INFO -
11:29:49 INFO - > raise err
11:29:49 INFO - E UnknownErrorException: unknown error (500): permission denied
11:29:49 INFO -
11:29:49 INFO - body = {'capabilities': {'alwaysMatch': {'moz:firefoxOptions': {'binary': 'Z:\task_1549796778\build\application\firefox\firef....xn--n8j6ds53lwwkrqhv28a.web-platform.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test'}}}}}
11:29:49 INFO - err = <UnknownErrorException http_status=500>
11:29:49 INFO - method = 'POST'
11:29:49 INFO - response = <Response status=500 error=<UnknownErrorException http_status=500>>
11:29:49 INFO - self = <Session (disconnected)>
11:29:49 INFO - url = 'session'
11:29:49 INFO -
11:29:49 INFO - tests\web-platform\tests\tools\webdriver\webdriver\client.py:472: UnknownErrorException
11:29:49 INFO - ......

That was a crash of Firefox. Sadly without any further details:

11:29:42 INFO - PID 1348 | 1549798182696 mozrunner::runner INFO Running command: "Z:\task_1549796778\build\application\firefox\firefox.exe" "-marionette" "-foreground" "-no-remote" "-profile" "C:\Users\task_1549796778\AppData\Local\Temp\rust_mozprofile.rdf9osucfF75"
11:29:42 INFO - PID 1348 | 1549798182701 geckodriver::marionette DEBUG Waiting 60s to connect to browser on 127.0.0.1:2828
11:29:42 INFO - PID 1348 | Hit MOZ_CRASH(Bad canary value 0x534dc0f5 in FromData) at z:/build/build/src/xpcom/string/nsSubstring.cpp:330
11:29:43 INFO - PID 1348 | 1549798183801 mozrunner::runner DEBUG Killing process 2460

It's a dupe of bug 1517538.

Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Moving bug to Remote Protocol::Marionette component per bug 1815831.
Component: geckodriver → Marionette
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.