Closed Bug 1493297 Opened 6 years ago Closed 6 years ago

Intermittent /webdriver/tests/element_send_keys/send_keys.py | test_invalid_text_type[None] - setup error

Categories

(Remote Protocol :: Marionette, defect, P5)

Version 3
defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

Filed by: cbrindusan [at] mozilla.com https://treeherder.mozilla.org/logviewer.html#?job_id=200856401&repo=autoland https://queue.taskcluster.net/v1/task/DrmBOEqmQQmHEkbta-ETcg/runs/0/artifacts/public/logs/live_backing.log 14:22:42 INFO - STDOUT: ==================================== ERRORS ==================================== 14:22:42 INFO - STDOUT: ________________ ERROR at setup of test_invalid_text_type[None] ________________ 14:22:42 INFO - PID 1887 | 1537564962606 webdriver::server DEBUG <- 200 OK {"value":null} 14:22:42 INFO - STDOUT: capabilities = {} 14:22:42 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_invalid_text_type[None]'>> 14:22:42 INFO - STDOUT: @pytest.fixture(scope="function") 14:22:42 INFO - STDOUT: def session(capabilities, configuration, request): 14:22:42 INFO - STDOUT: """Create and start a session for a test that does not itself test session creation. 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: By default the session will stay open after each test, but we always try to start a 14:22:42 INFO - STDOUT: new one and assume that if that fails there is already a valid session. This makes it 14:22:42 INFO - STDOUT: possible to recover from some errors that might leave the session in a bad state, but 14:22:42 INFO - STDOUT: does not demand that we start a new session per test.""" 14:22:42 INFO - STDOUT: global _current_session 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # Update configuration capabilities with custom ones from the 14:22:42 INFO - STDOUT: # capabilities fixture, which can be set by tests 14:22:42 INFO - STDOUT: caps = copy.deepcopy(configuration["capabilities"]) 14:22:42 INFO - STDOUT: caps.update(capabilities) 14:22:42 INFO - STDOUT: caps = {"alwaysMatch": caps} 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # If there is a session with different capabilities active, end it now 14:22:42 INFO - STDOUT: if _current_session is not None and ( 14:22:42 INFO - STDOUT: caps != _current_session.requested_capabilities): 14:22:42 INFO - STDOUT: _current_session.end() 14:22:42 INFO - STDOUT: _current_session = None 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: if _current_session is None: 14:22:42 INFO - STDOUT: _current_session = webdriver.Session( 14:22:42 INFO - STDOUT: configuration["host"], 14:22:42 INFO - STDOUT: configuration["port"], 14:22:42 INFO - STDOUT: capabilities=caps) 14:22:42 INFO - STDOUT: try: 14:22:42 INFO - STDOUT: _current_session.start() 14:22:42 INFO - STDOUT: except webdriver.error.SessionNotCreatedException: 14:22:42 INFO - STDOUT: if not _current_session.session_id: 14:22:42 INFO - STDOUT: raise 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # Enforce a fixed default window size 14:22:42 INFO - STDOUT: > _current_session.window.size = defaults.WINDOW_SIZE 14:22:42 INFO - STDOUT: capabilities = {} 14:22:42 INFO - STDOUT: caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Night...w1.not-web-platform.test,www.not-web-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}} 14:22:42 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_invalid_text_type[None]'>> 14:22:42 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/conftest.py 14:22:42 INFO - STDOUT: :156: 14:22:42 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :20: in inner 14:22:42 INFO - STDOUT: return func(self, *args, **kwargs) 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :259: in size 14:22:42 INFO - STDOUT: self.session.send_session_command("POST", "window/rect", body) 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :509: in send_session_command 14:22:42 INFO - STDOUT: return self.send_command(method, url, body) 14:22:42 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - STDOUT: self = <Session 6c2cfdad-d58e-0245-be55-d693070f2414>, method = 'POST' 14:22:42 INFO - STDOUT: url = 'session/6c2cfdad-d58e-0245-be55-d693070f2414/window/rect' 14:22:42 INFO - STDOUT: body = {'height': 600, 'width': 800} 14:22:42 INFO - STDOUT: def send_command(self, method, url, body=None): 14:22:42 INFO - STDOUT: """ 14:22:42 INFO - STDOUT: Send a command to the remote end and validate its success. 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: :param method: HTTP method to use in request. 14:22:42 INFO - STDOUT: :param uri: "Command part" of the HTTP request URL, 14:22:42 INFO - STDOUT: e.g. `window/rect`. 14:22:42 INFO - STDOUT: :param body: Optional body of the HTTP request. 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: :return: `None` if the HTTP response body was empty, otherwise 14:22:42 INFO - STDOUT: the `value` field returned after parsing the response 14:22:42 INFO - STDOUT: body as JSON. 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: :raises error.WebDriverException: If the remote end returns 14:22:42 INFO - STDOUT: an error. 14:22:42 INFO - STDOUT: :raises ValueError: If the response body does not contain a 14:22:42 INFO - STDOUT: `value` key. 14:22:42 INFO - STDOUT: """ 14:22:42 INFO - STDOUT: response = self.transport.send( 14:22:42 INFO - STDOUT: method, url, body, 14:22:42 INFO - STDOUT: encoder=protocol.Encoder, decoder=protocol.Decoder, 14:22:42 INFO - STDOUT: session=self) 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: if response.status != 200: 14:22:42 INFO - STDOUT: err = error.from_response(response) 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: if isinstance(err, error.InvalidSessionIdException): 14:22:42 INFO - STDOUT: # The driver could have already been deleted the session. 14:22:42 INFO - STDOUT: self.session_id = None 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: > raise err 14:22:42 INFO - STDOUT: E UnknownErrorException: unknown error (500): Failed to decode response from marionette 14:22:42 INFO - STDOUT: body = {'height': 600, 'width': 800} 14:22:42 INFO - STDOUT: err = <UnknownErrorException http_status=500> 14:22:42 INFO - STDOUT: method = 'POST' 14:22:42 INFO - STDOUT: response = <Response status=500 error=<UnknownErrorException http_status=500>> 14:22:42 INFO - STDOUT: self = <Session 6c2cfdad-d58e-0245-be55-d693070f2414> 14:22:42 INFO - STDOUT: url = 'session/6c2cfdad-d58e-0245-be55-d693070f2414/window/rect' 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :473: UnknownErrorException 14:22:42 INFO - STDOUT: _________________ ERROR at setup of test_invalid_text_type[1] __________________ 14:22:42 INFO - STDOUT: capabilities = {} 14:22:42 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_invalid_text_type[1]'>> 14:22:42 INFO - STDOUT: @pytest.fixture(scope="function") 14:22:42 INFO - STDOUT: def session(capabilities, configuration, request): 14:22:42 INFO - STDOUT: """Create and start a session for a test that does not itself test session creation. 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: By default the session will stay open after each test, but we always try to start a 14:22:42 INFO - STDOUT: new one and assume that if that fails there is already a valid session. This makes it 14:22:42 INFO - STDOUT: possible to recover from some errors that might leave the session in a bad state, but 14:22:42 INFO - STDOUT: does not demand that we start a new session per test.""" 14:22:42 INFO - STDOUT: global _current_session 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # Update configuration capabilities with custom ones from the 14:22:42 INFO - STDOUT: # capabilities fixture, which can be set by tests 14:22:42 INFO - STDOUT: caps = copy.deepcopy(configuration["capabilities"]) 14:22:42 INFO - STDOUT: caps.update(capabilities) 14:22:42 INFO - STDOUT: caps = {"alwaysMatch": caps} 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # If there is a session with different capabilities active, end it now 14:22:42 INFO - STDOUT: if _current_session is not None and ( 14:22:42 INFO - STDOUT: caps != _current_session.requested_capabilities): 14:22:42 INFO - STDOUT: _current_session.end() 14:22:42 INFO - STDOUT: _current_session = None 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: if _current_session is None: 14:22:42 INFO - STDOUT: _current_session = webdriver.Session( 14:22:42 INFO - STDOUT: configuration["host"], 14:22:42 INFO - STDOUT: configuration["port"], 14:22:42 INFO - STDOUT: capabilities=caps) 14:22:42 INFO - STDOUT: try: 14:22:42 INFO - STDOUT: _current_session.start() 14:22:42 INFO - STDOUT: except webdriver.error.SessionNotCreatedException: 14:22:42 INFO - STDOUT: if not _current_session.session_id: 14:22:42 INFO - STDOUT: raise 14:22:42 INFO - STDOUT: 14:22:42 INFO - STDOUT: # Enforce a fixed default window size 14:22:42 INFO - STDOUT: > _current_session.window.size = defaults.WINDOW_SIZE 14:22:42 INFO - STDOUT: capabilities = {} 14:22:42 INFO - STDOUT: caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Night...w1.not-web-platform.test,www.not-web-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}} 14:22:42 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_invalid_text_type[1]'>> 14:22:42 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/conftest.py 14:22:42 INFO - STDOUT: :156: 14:22:42 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :20: in inner 14:22:42 INFO - STDOUT: return func(self, *args, **kwargs) 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :259: in size 14:22:42 INFO - STDOUT: self.session.send_session_command("POST", "window/rect", body) 14:22:42 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py 14:22:42 INFO - STDOUT: :509: in send_session_command 14:22:42 INFO - STDOUT: return self.send_command(method, url, body) 14:22:42 INFO - . 14:22:42 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - . 14:22:42 INFO - STDOUT: self = <Session (disconnected)>, method = 'POST' 14:22:42 INFO - . 14:22:42 INFO - STDOUT: url = 'session/6c2cfdad-d58e-0245-be55-d693070f2414/window/rect' 14:22:42 INFO - . 14:22:42 INFO - STDOUT: body = {'height': 600, 'width': 800} 14:22:42 INFO - STDOUT: def send_command(self, method, url, body=None): 14:22:42 INFO - 14:22:42 INFO - TEST-PASS | /webdriver/tests/element_send_keys/send_keys.py | test_null_parameter_value 14:22:42 INFO - TEST-PASS | /webdriver/tests/element_send_keys/send_keys.py | test_null_response_value 14:22:42 INFO - TEST-PASS | /webdriver/tests/element_send_keys/send_keys.py | test_no_browsing_context 14:22:42 INFO - TEST-PASS | /webdriver/tests/element_send_keys/send_keys.py | test_invalid_text_type[True] 14:22:42 INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/element_send_keys/send_keys.py | test_invalid_text_type[None] - setup error 14:22:42 INFO - capabilities = {} 14:22:42 INFO - configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - request = <SubRequest 'session' for <Function 'test_invalid_text_type[None]'>> 14:22:42 INFO - 14:22:42 INFO - @pytest.fixture(scope="function") 14:22:42 INFO - def session(capabilities, configuration, request): 14:22:42 INFO - """Create and start a session for a test that does not itself test session creation. 14:22:42 INFO - 14:22:42 INFO - By default the session will stay open after each test, but we always try to start a 14:22:42 INFO - new one and assume that if that fails there is already a valid session. This makes it 14:22:42 INFO - possible to recover from some errors that might leave the session in a bad state, but 14:22:42 INFO - does not demand that we start a new session per test.""" 14:22:42 INFO - global _current_session 14:22:42 INFO - 14:22:42 INFO - # Update configuration capabilities with custom ones from the 14:22:42 INFO - # capabilities fixture, which can be set by tests 14:22:42 INFO - caps = copy.deepcopy(configuration["capabilities"]) 14:22:42 INFO - caps.update(capabilities) 14:22:42 INFO - caps = {"alwaysMatch": caps} 14:22:42 INFO - 14:22:42 INFO - # If there is a session with different capabilities active, end it now 14:22:42 INFO - if _current_session is not None and ( 14:22:42 INFO - caps != _current_session.requested_capabilities): 14:22:42 INFO - _current_session.end() 14:22:42 INFO - _current_session = None 14:22:42 INFO - 14:22:42 INFO - if _current_session is None: 14:22:42 INFO - _current_session = webdriver.Session( 14:22:42 INFO - configuration["host"], 14:22:42 INFO - configuration["port"], 14:22:42 INFO - capabilities=caps) 14:22:42 INFO - try: 14:22:42 INFO - _current_session.start() 14:22:42 INFO - except webdriver.error.SessionNotCreatedException: 14:22:42 INFO - if not _current_session.session_id: 14:22:42 INFO - raise 14:22:42 INFO - 14:22:42 INFO - # Enforce a fixed default window size 14:22:42 INFO - > _current_session.window.size = defaults.WINDOW_SIZE 14:22:42 INFO - 14:22:42 INFO - capabilities = {} 14:22:42 INFO - caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Night...w1.not-web-platform.test,www.not-web-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}} 14:22:42 INFO - configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/Users/cltbld/tasks/task_1537564694/build/application/Firefox Nigh...b-platform.test,www.web-platform.test,xn--n8j6ds53lwwkrqhv28a.web-platform.test'}}}, 'host': '127.0.0.1', 'port': 4444} 14:22:42 INFO - request = <SubRequest 'session' for <Function 'test_invalid_text_type[None]'>> 14:22:42 INFO - 14:22:42 INFO - tests/web-platform/tests/webdriver/tests/conftest.py:156: 14:22:42 INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:20: in inner 14:22:42 INFO - return func(self, *args, **kwargs) 14:22:42 INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:259: in size 14:22:42 INFO - self.session.send_session_command("POST", "window/rect", body) 14:22:42 INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:509: in send_session_command 14:22:42 INFO - return self.send_command(method, url, body) 14:22:42 INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14:22:42 INFO - 14:22:42 INFO - self = <Session 6c2cfdad-d58e-0245-be55-d693070f2414>, method = 'POST' 14:22:42 INFO - url = 'session/6c2cfdad-d58e-0245-be55-d693070f2414/window/rect' 14:22:42 INFO - body = {'height': 600, 'width': 800} 14:22:42 INFO - 14:22:42 INFO - def send_command(self, method, url, body=None): 14:22:42 INFO - """ 14:22:42 INFO - Send a command to the remote end and validate its success. 14:22:42 INFO - 14:22:42 INFO - :param method: HTTP method to use in request. 14:22:42 INFO - :param uri: "Command part" of the HTTP request URL, 14:22:42 INFO - e.g. `window/rect`. 14:22:42 INFO - :param body: Optional body of the HTTP request. 14:22:42 INFO - 14:22:42 INFO - :return: `None` if the HTTP response body was empty, otherwise 14:22:42 INFO - the `value` field returned after parsing the response 14:22:42 INFO - body as JSON. 14:22:42 INFO - 14:22:42 INFO - :raises error.WebDriverException: If the remote end returns 14:22:42 INFO - an error. 14:22:42 INFO - :raises ValueError: If the response body does not contain a 14:22:42 INFO - `value` key. 14:22:42 INFO - """ 14:22:42 INFO - response = self.transport.send( 14:22:42 INFO - method, url, body, 14:22:42 INFO - encoder=protocol.Encoder, decoder=protocol.Decoder, 14:22:42 INFO - session=self) 14:22:42 INFO - 14:22:42 INFO - if response.status != 200: 14:22:42 INFO - err = error.from_response(response) 14:22:42 INFO - 14:22:42 INFO - if isinstance(err, error.InvalidSessionIdException): 14:22:42 INFO - # The driver could have already been deleted the session. 14:22:42 INFO - self.session_id = None 14:22:42 INFO - 14:22:42 INFO - > raise err 14:22:42 INFO - E UnknownErrorException: unknown error (500): Failed to decode response from marionette 14:22:42 INFO - 14:22:42 INFO - body = {'height': 600, 'width': 800} 14:22:42 INFO - err = <UnknownErrorException http_status=500> 14:22:42 INFO - method = 'POST' 14:22:42 INFO - response = <Response status=500 error=<UnknownErrorException http_status=500>> 14:22:42 INFO - self = <Session 6c2cfdad-d58e-0245-be55-d693070f2414> 14:22:42 INFO - url = 'session/6c2cfdad-d58e-0245-be55-d693070f2414/window/rect' 14:22:42 INFO - 14:22:42 INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:473: UnknownErrorException 14:22:42 INFO - STDOUT: """ 14:22:42 INFO - STDOUT: Send a command to the remote end and validate its success.
Switching to frame caused a crash: 14:22:38 INFO - PID 1887 | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down 14:22:38 INFO - PID 1887 | 1537564958420 Marionette DEBUG Received DOM event unload for [object XULDocument] 14:22:38 INFO - PID 1887 | 1537564958434 Marionette DEBUG Received observer notification message-manager-disconnect We need bug 1490906 fixed to get this analyzed.
Depends on: 1490906
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
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.