Closed Bug 1574075 Opened 6 years ago Closed 6 years ago

Intermittent /webdriver/tests/switch_to_frame/cross_origin.py | test_cross_origin_iframe - setup error

Categories

(Remote Protocol :: Marionette, defect, P5)

Version 3
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1571426

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure, regression)

Filed by: cbrindusan [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=261716032&repo=mozilla-inbound
Full log: https://queue.taskcluster.net/v1/task/Jeci6tmqS0GwtjCTlQgqpA/runs/0/artifacts/public/logs/live_backing.log


[task 2019-08-15T03:45:06.468Z] 03:45:06 INFO - TEST-START | /webdriver/tests/switch_to_frame/cross_origin.py
[task 2019-08-15T03:45:06.470Z] 03:45:06 INFO - PID 7102 | /builds/worker/workspace/build/tests/bin/geckodriver: error: Address already in use (os error 98)
[task 2019-08-15T03:45:06.472Z] 03:45:06 INFO - PID 7102 | geckodriver 0.24.0 (943fd9dde020 2019-08-14 10:58 +0000)
[task 2019-08-15T03:45:06.473Z] 03:45:06 INFO - PID 7102 | WebDriver implementation for Firefox
[task 2019-08-15T03:45:06.474Z] 03:45:06 INFO - PID 7102 |
[task 2019-08-15T03:45:06.480Z] 03:45:06 INFO - PID 7102 | USAGE:
[task 2019-08-15T03:45:06.481Z] 03:45:06 INFO - PID 7102 | geckodriver [FLAGS] [OPTIONS]
[task 2019-08-15T03:45:06.482Z] 03:45:06 INFO - PID 7102 |
[task 2019-08-15T03:45:06.482Z] 03:45:06 INFO - PID 7102 | FLAGS:
[task 2019-08-15T03:45:06.483Z] 03:45:06 INFO - PID 7102 | --connect-existing Connect to an existing Firefox instance
[task 2019-08-15T03:45:06.484Z] 03:45:06 INFO - PID 7102 | -h, --help Prints this message
[task 2019-08-15T03:45:06.484Z] 03:45:06 INFO - PID 7102 | --jsdebugger Attach browser toolbox debugger for Firefox
[task 2019-08-15T03:45:06.485Z] 03:45:06 INFO - PID 7102 | -v Log level verbosity (-v for debug and -vv for trace level)
[task 2019-08-15T03:45:06.486Z] 03:45:06 INFO - PID 7102 | -V, --version Prints version and copying information
[task 2019-08-15T03:45:06.486Z] 03:45:06 INFO - PID 7102 |
[task 2019-08-15T03:45:06.487Z] 03:45:06 INFO - PID 7102 | OPTIONS:
[task 2019-08-15T03:45:06.488Z] 03:45:06 INFO - PID 7102 | -b, --binary <BINARY> Path to the Firefox binary
[task 2019-08-15T03:45:06.488Z] 03:45:06 INFO - PID 7102 | --log <LEVEL> Set Gecko log level [possible values: fatal, error, warn, info, config, debug,
[task 2019-08-15T03:45:06.489Z] 03:45:06 INFO - PID 7102 | trace]
[task 2019-08-15T03:45:06.490Z] 03:45:06 INFO - PID 7102 | --marionette-host <HOST> Host to use to connect to Gecko [default: 127.0.0.1]
[task 2019-08-15T03:45:06.490Z] 03:45:06 INFO - PID 7102 | --marionette-port <PORT> Port to use to connect to Gecko [default: system-allocated port]
[task 2019-08-15T03:45:06.491Z] 03:45:06 INFO - PID 7102 | --host <HOST> Host IP to use for WebDriver server [default: 127.0.0.1]
[task 2019-08-15T03:45:06.492Z] 03:45:06 INFO - PID 7102 | -p, --port <PORT> Port to use for WebDriver server [default: 4444]
[task 2019-08-15T03:45:06.683Z] 03:45:06 INFO - STDOUT: ============================= test session starts ==============================
[task 2019-08-15T03:45:06.683Z] 03:45:06 INFO - STDOUT: platform linux2 -- Python 2.7.12, pytest-unknown, py-1.5.2, pluggy-0.5.3.dev -- /builds/worker/workspace/build/venv/bin/python
[task 2019-08-15T03:45:06.684Z] 03:45:06 INFO - STDOUT: rootdir: /builds/worker/workspace/build, inifile:
[task 2019-08-15T03:45:06.684Z] 03:45:06 INFO - STDOUT: collecting ...
[task 2019-08-15T03:45:06.705Z] 03:45:06 INFO - STDOUT: collected 2 items
[task 2019-08-15T03:45:06.706Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/switch_to_frame/cross_origin.py::test_cross_origin_iframe [task 2019-08-15T03:45:06.831Z] 03:45:06 INFO - STDOUT: ERROR
[task 2019-08-15T03:45:06.832Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/switch_to_frame/cross_origin.py::test_nested_cross_origin_iframe
[task 2019-08-15T03:45:06.873Z] 03:45:06 INFO - STDOUT: ERROR
[task 2019-08-15T03:45:06.875Z] 03:45:06 INFO - STDOUT: ==================================== ERRORS ====================================
[task 2019-08-15T03:45:06.876Z] 03:45:06 INFO - STDOUT: __________________ ERROR at setup of test_cross_origin_iframe __________________
[task 2019-08-15T03:45:06.878Z] 03:45:06 INFO - STDOUT: capabilities = {}
[task 2019-08-15T03:45:06.879Z] 03:45:06 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'pref...platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}, 'host': '127.0.0.1', 'port': 55624}
[task 2019-08-15T03:45:06.879Z] 03:45:06 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_cross_origin_iframe'>>
[task 2019-08-15T03:45:06.881Z] 03:45:06 INFO - STDOUT: @pytest.fixture(scope="function")
[task 2019-08-15T03:45:06.882Z] 03:45:06 INFO - STDOUT: def session(capabilities, configuration, request):
[task 2019-08-15T03:45:06.883Z] 03:45:06 INFO - STDOUT: """Create and start a session for a test that does not itself test session creation.
[task 2019-08-15T03:45:06.884Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.886Z] 03:45:06 INFO - STDOUT: By default the session will stay open after each test, but we always try to start a
[task 2019-08-15T03:45:06.887Z] 03:45:06 INFO - STDOUT: new one and assume that if that fails there is already a valid session. This makes it
[task 2019-08-15T03:45:06.888Z] 03:45:06 INFO - STDOUT: possible to recover from some errors that might leave the session in a bad state, but
[task 2019-08-15T03:45:06.888Z] 03:45:06 INFO - STDOUT: does not demand that we start a new session per test."""
[task 2019-08-15T03:45:06.891Z] 03:45:06 INFO - STDOUT: global _current_session
[task 2019-08-15T03:45:06.892Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.893Z] 03:45:06 INFO - STDOUT: # Update configuration capabilities with custom ones from the
[task 2019-08-15T03:45:06.894Z] 03:45:06 INFO - STDOUT: # capabilities fixture, which can be set by tests
[task 2019-08-15T03:45:06.895Z] 03:45:06 INFO - STDOUT: caps = copy.deepcopy(configuration["capabilities"])
[task 2019-08-15T03:45:06.896Z] 03:45:06 INFO - STDOUT: caps.update(capabilities)
[task 2019-08-15T03:45:06.897Z] 03:45:06 INFO - STDOUT: caps = {"alwaysMatch": caps}
[task 2019-08-15T03:45:06.898Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.899Z] 03:45:06 INFO - STDOUT: # If there is a session with different capabilities active, end it now
[task 2019-08-15T03:45:06.900Z] 03:45:06 INFO - STDOUT: if _current_session is not None and (
[task 2019-08-15T03:45:06.902Z] 03:45:06 INFO - STDOUT: caps != _current_session.requested_capabilities):
[task 2019-08-15T03:45:06.903Z] 03:45:06 INFO - STDOUT: _current_session.end()
[task 2019-08-15T03:45:06.904Z] 03:45:06 INFO - STDOUT: _current_session = None
[task 2019-08-15T03:45:06.905Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.906Z] 03:45:06 INFO - STDOUT: if _current_session is None:
[task 2019-08-15T03:45:06.909Z] 03:45:06 INFO - STDOUT: _current_session = webdriver.Session(
[task 2019-08-15T03:45:06.910Z] 03:45:06 INFO - STDOUT: configuration["host"],
[task 2019-08-15T03:45:06.911Z] 03:45:06 INFO - STDOUT: configuration["port"],
[task 2019-08-15T03:45:06.912Z] 03:45:06 INFO - STDOUT: capabilities=caps)
[task 2019-08-15T03:45:06.913Z] 03:45:06 INFO - STDOUT: try:
[task 2019-08-15T03:45:06.915Z] 03:45:06 INFO - STDOUT: > _current_session.start()
[task 2019-08-15T03:45:06.916Z] 03:45:06 INFO - STDOUT: capabilities = {}
[task 2019-08-15T03:45:06.917Z] 03:45:06 INFO - STDOUT: caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'prefs...form.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}}
[task 2019-08-15T03:45:06.917Z] 03:45:06 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'pref...platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}, 'host': '127.0.0.1', 'port': 55624}
[task 2019-08-15T03:45:06.918Z] 03:45:06 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_cross_origin_iframe'>>
[task 2019-08-15T03:45:06.920Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/support/fixtures.py
[task 2019-08-15T03:45:06.920Z] 03:45:06 INFO - STDOUT: :150:
[task 2019-08-15T03:45:06.921Z] 03:45:06 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2019-08-15T03:45:06.922Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py
[task 2019-08-15T03:45:06.922Z] 03:45:06 INFO - STDOUT: :429: in start
[task 2019-08-15T03:45:06.923Z] 03:45:06 INFO - STDOUT: value = self.send_command("POST", "session", body=body)
[task 2019-08-15T03:45:06.925Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py[task 2019-08-15T03:45:06.926Z] 03:45:06 INFO - STDOUT: :471: in send_command
[task 2019-08-15T03:45:06.926Z] 03:45:06 INFO - STDOUT: session=self)
[task 2019-08-15T03:45:06.927Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/transport.py
[task 2019-08-15T03:45:06.929Z] 03:45:06 INFO - STDOUT: :175: in send
[task 2019-08-15T03:45:06.929Z] 03:45:06 INFO - STDOUT: response = self._request(method, uri, payload, headers)
[task 2019-08-15T03:45:06.930Z] 03:45:06 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/transport.py
[task 2019-08-15T03:45:06.930Z] 03:45:06 INFO - STDOUT: :190: in _request
[task 2019-08-15T03:45:06.931Z] 03:45:06 INFO - STDOUT: self.connection.request(method, url, payload, headers)
[task 2019-08-15T03:45:06.932Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.932Z] 03:45:06 INFO - STDOUT: :1057: in request
[task 2019-08-15T03:45:06.933Z] 03:45:06 INFO - STDOUT: self._send_request(method, url, body, headers)
[task 2019-08-15T03:45:06.933Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.934Z] 03:45:06 INFO - STDOUT: :1097: in _send_request
[task 2019-08-15T03:45:06.934Z] 03:45:06 INFO - STDOUT: self.endheaders(body)
[task 2019-08-15T03:45:06.936Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.936Z] 03:45:06 INFO - STDOUT: :1053: in endheaders
[task 2019-08-15T03:45:06.937Z] 03:45:06 INFO - STDOUT: self._send_output(message_body)
[task 2019-08-15T03:45:06.937Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.938Z] 03:45:06 INFO - STDOUT: :897: in _send_output
[task 2019-08-15T03:45:06.938Z] 03:45:06 INFO - STDOUT: self.send(msg)
[task 2019-08-15T03:45:06.940Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.940Z] 03:45:06 INFO - STDOUT: :859: in send
[task 2019-08-15T03:45:06.943Z] 03:45:06 INFO - STDOUT: self.connect()
[task 2019-08-15T03:45:06.943Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:06.943Z] 03:45:06 INFO - STDOUT: :836: in connect
[task 2019-08-15T03:45:06.943Z] 03:45:06 INFO - STDOUT: self.timeout, self.source_address)
[task 2019-08-15T03:45:06.944Z] 03:45:06 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2019-08-15T03:45:06.944Z] 03:45:06 INFO - STDOUT: address = ('127.0.0.1', 55624), timeout = <object object at 0x7f05b12430d0>
[task 2019-08-15T03:45:06.945Z] 03:45:06 INFO - STDOUT: source_address = None
[task 2019-08-15T03:45:06.945Z] 03:45:06 INFO - STDOUT: def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
[task 2019-08-15T03:45:06.947Z] 03:45:06 INFO - STDOUT: source_address=None):
[task 2019-08-15T03:45:06.948Z] 03:45:06 INFO - STDOUT: """Connect to address and return the socket object.
[task 2019-08-15T03:45:06.948Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.948Z] 03:45:06 INFO - STDOUT: Convenience function. Connect to address (a 2-tuple (host, [task 2019-08-15T03:45:06.950Z] 03:45:06 INFO - STDOUT: port)) and return the socket object. Passing the optional
[task 2019-08-15T03:45:06.950Z] 03:45:06 INFO - STDOUT: timeout parameter will set the timeout on the socket instance
[task 2019-08-15T03:45:06.951Z] 03:45:06 INFO - STDOUT: before attempting to connect. If no timeout is supplied, the
[task 2019-08-15T03:45:06.951Z] 03:45:06 INFO - STDOUT: global default timeout setting returned by :func:getdefaulttimeout
[task 2019-08-15T03:45:06.951Z] 03:45:06 INFO - STDOUT: is used. If source_address is set it must be a tuple of (host, port)
[task 2019-08-15T03:45:06.953Z] 03:45:06 INFO - STDOUT: for the socket to bind as a source address before making the connection.
[task 2019-08-15T03:45:06.954Z] 03:45:06 INFO - STDOUT: A host of '' or port 0 tells the OS to use the default.
[task 2019-08-15T03:45:06.954Z] 03:45:06 INFO - STDOUT: """
[task 2019-08-15T03:45:06.956Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.956Z] 03:45:06 INFO - STDOUT: host, port = address
[task 2019-08-15T03:45:06.957Z] 03:45:06 INFO - STDOUT: err = None
[task 2019-08-15T03:45:06.958Z] 03:45:06 INFO - STDOUT: for res in getaddrinfo(host, port, 0, SOCK_STREAM):
[task 2019-08-15T03:45:06.959Z] 03:45:06 INFO - STDOUT: af, socktype, proto, canonname, sa = res
[task 2019-08-15T03:45:06.960Z] 03:45:06 INFO - STDOUT: sock = None[task 2019-08-15T03:45:06.961Z] 03:45:06 INFO - STDOUT: try:
[task 2019-08-15T03:45:06.961Z] 03:45:06 INFO - STDOUT: sock = socket(af, socktype, proto)
[task 2019-08-15T03:45:06.962Z] 03:45:06 INFO - STDOUT: if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
[task 2019-08-15T03:45:06.963Z] 03:45:06 INFO - STDOUT: sock.settimeout(timeout)
[task 2019-08-15T03:45:06.964Z] 03:45:06 INFO - STDOUT: if source_address:
[task 2019-08-15T03:45:06.965Z] 03:45:06 INFO - STDOUT: sock.bind(source_address)
[task 2019-08-15T03:45:06.965Z] 03:45:06 INFO - STDOUT: sock.connect(sa)
[task 2019-08-15T03:45:06.966Z] 03:45:06 INFO - STDOUT: return sock
[task 2019-08-15T03:45:06.968Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.968Z] 03:45:06 INFO - STDOUT: except error as _:
[task 2019-08-15T03:45:06.969Z] 03:45:06 INFO - STDOUT: err = _
[task 2019-08-15T03:45:06.969Z] 03:45:06 INFO - STDOUT: if sock is not None:
[task 2019-08-15T03:45:06.970Z] 03:45:06 INFO - STDOUT: sock.close()
[task 2019-08-15T03:45:06.971Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.972Z] 03:45:06 INFO - STDOUT: if err is not None:
[task 2019-08-15T03:45:06.973Z] 03:45:06 INFO - STDOUT: > raise err
[task 2019-08-15T03:45:06.973Z] 03:45:06 INFO - STDOUT: E error: [Errno 111] Connection refused
[task 2019-08-15T03:45:06.974Z] 03:45:06 INFO - STDOUT: _ = error(111, 'Connection refused')
[task 2019-08-15T03:45:06.975Z] 03:45:06 INFO - STDOUT: address = ('127.0.0.1', 55624)
[task 2019-08-15T03:45:06.976Z] 03:45:06 INFO - STDOUT: af = 2
[task 2019-08-15T03:45:06.976Z] 03:45:06 INFO - STDOUT: canonname = ''
[task 2019-08-15T03:45:06.977Z] 03:45:06 INFO - STDOUT: err = error(111, 'Connection refused')
[task 2019-08-15T03:45:06.977Z] 03:45:06 INFO - STDOUT: host = '127.0.0.1'
[task 2019-08-15T03:45:06.979Z] 03:45:06 INFO - STDOUT: port = 55624
[task 2019-08-15T03:45:06.980Z] 03:45:06 INFO - STDOUT: proto = 6
[task 2019-08-15T03:45:06.980Z] 03:45:06 INFO - STDOUT: res = (2, 1, 6, '', ('127.0.0.1', 55624))
[task 2019-08-15T03:45:06.981Z] 03:45:06 INFO - STDOUT: sa = ('127.0.0.1', 55624)[task 2019-08-15T03:45:06.982Z] 03:45:06 INFO - STDOUT: sock = <socket._socketobject object at 0x7f05a72e0440>
[task 2019-08-15T03:45:06.982Z] 03:45:06 INFO - STDOUT: socktype = 1
[task 2019-08-15T03:45:06.983Z] 03:45:06 INFO - STDOUT: source_address = None
[task 2019-08-15T03:45:06.984Z] 03:45:06 INFO - STDOUT: timeout = <object object at 0x7f05b12430d0>
[task 2019-08-15T03:45:06.985Z] 03:45:06 INFO - STDOUT: /usr/lib/python2.7/socket.py
[task 2019-08-15T03:45:06.986Z] 03:45:06 INFO - STDOUT: :575: error
[task 2019-08-15T03:45:06.987Z] 03:45:06 INFO - STDOUT: ______________ ERROR at setup of test_nested_cross_origin_iframe _______________
[task 2019-08-15T03:45:06.987Z] 03:45:06 INFO - STDOUT: capabilities = {}
[task 2019-08-15T03:45:06.988Z] 03:45:06 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'pref...platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}, 'host': '127.0.0.1', 'port': 55624}
[task 2019-08-15T03:45:06.990Z] 03:45:06 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_nested_cross_origin_iframe'>>
[task 2019-08-15T03:45:06.990Z] 03:45:06 INFO - STDOUT: @pytest.fixture(scope="function")
[task 2019-08-15T03:45:06.991Z] 03:45:06 INFO - STDOUT: def session(capabilities, configuration, request):
[task 2019-08-15T03:45:06.991Z] 03:45:06 INFO - STDOUT: """Create and start a session for a test that does not itself test session creation.
[task 2019-08-15T03:45:06.992Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.993Z] 03:45:06 INFO - STDOUT: By default the session will stay open after each test, but we always try to start a
[task 2019-08-15T03:45:06.993Z] 03:45:06 INFO - STDOUT: new one and assume that if that fails there is already a valid session. This makes it
[task 2019-08-15T03:45:06.994Z] 03:45:06 INFO - STDOUT: possible to recover from some errors that might leave the session in a bad state, but
[task 2019-08-15T03:45:06.994Z] 03:45:06 INFO - STDOUT: does not demand that we start a new session per test."""
[task 2019-08-15T03:45:06.996Z] 03:45:06 INFO - STDOUT: global _current_session
[task 2019-08-15T03:45:06.996Z] 03:45:06 INFO - STDOUT:
[task 2019-08-15T03:45:06.997Z] 03:45:06 INFO - STDOUT: # Update configuration capabilities with custom ones from the
[task 2019-08-15T03:45:06.997Z] 03:45:06 INFO - STDOUT: # capabilities fixture, which can be set by tests
[task 2019-08-15T03:45:06.997Z] 03:45:06 INFO - STDOUT: caps = copy.deepcopy(configuration["capabilities"])
[task 2019-08-15T03:45:06.999Z] 03:45:06 INFO - STDOUT: caps.update(capabilities)
[task 2019-08-15T03:45:06.999Z] 03:45:06 INFO - STDOUT: caps = {"alwaysMatch": caps}
[task 2019-08-15T03:45:07.000Z] 03:45:07 INFO - STDOUT:
[task 2019-08-15T03:45:07.000Z] 03:45:07 INFO - STDOUT: # If there is a session with different capabilities active, end it now
[task 2019-08-15T03:45:07.001Z] 03:45:07 INFO - STDOUT: if _current_session is not None and (
[task 2019-08-15T03:45:07.002Z] 03:45:07 INFO - STDOUT: caps != _current_session.requested_capabilities):
[task 2019-08-15T03:45:07.003Z] 03:45:07 INFO - STDOUT: _current_session.end()
[task 2019-08-15T03:45:07.003Z] 03:45:07 INFO - STDOUT: _current_session = None
[task 2019-08-15T03:45:07.004Z] 03:45:07 INFO - STDOUT:
[task 2019-08-15T03:45:07.004Z] 03:45:07 INFO - STDOUT: if _current_session is None:
[task 2019-08-15T03:45:07.005Z] 03:45:07 INFO - STDOUT: _current_session = webdriver.Session(
[task 2019-08-15T03:45:07.006Z] 03:45:07 INFO - STDOUT: configuration["host"],
[task 2019-08-15T03:45:07.006Z] 03:45:07 INFO - STDOUT: configuration["port"],
[task 2019-08-15T03:45:07.007Z] 03:45:07 INFO - STDOUT: capabilities=caps)
[task 2019-08-15T03:45:07.007Z] 03:45:07 INFO - STDOUT: try:
[task 2019-08-15T03:45:07.008Z] 03:45:07 INFO - STDOUT: > _current_session.start()
[task 2019-08-15T03:45:07.009Z] 03:45:07 INFO - STDOUT: capabilities = {}
[task 2019-08-15T03:45:07.010Z] 03:45:07 INFO - STDOUT: caps = {'alwaysMatch': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'prefs...form.test,xn--lve-6lad.www2.not-web-platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}}
[task 2019-08-15T03:45:07.010Z] 03:45:07 INFO - STDOUT: configuration = {'capabilities': {'moz:firefoxOptions': {'binary': '/builds/worker/workspace/build/application/firefox/firefox', 'pref...platform.test,www2.www.not-web-platform.test', 'network.process.enabled': False}}}, 'host': '127.0.0.1', 'port': 55624}
[task 2019-08-15T03:45:07.010Z] 03:45:07 INFO - STDOUT: request = <SubRequest 'session' for <Function 'test_nested_cross_origin_iframe'>>
[task 2019-08-15T03:45:07.012Z] 03:45:07 INFO - STDOUT: tests/web-platform/tests/webdriver/tests/support/fixtures.py[task 2019-08-15T03:45:07.012Z] 03:45:07 INFO - STDOUT: :150:
[task 2019-08-15T03:45:07.013Z] 03:45:07 INFO - STDOUT: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2019-08-15T03:45:07.013Z] 03:45:07 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py
[task 2019-08-15T03:45:07.013Z] 03:45:07 INFO - STDOUT: :429: in start
[task 2019-08-15T03:45:07.015Z] 03:45:07 INFO - STDOUT: value = self.send_command("POST", "session", body=body)
[task 2019-08-15T03:45:07.015Z] 03:45:07 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/client.py
[task 2019-08-15T03:45:07.016Z] 03:45:07 INFO - STDOUT: :471: in send_command
[task 2019-08-15T03:45:07.016Z] 03:45:07 INFO - STDOUT: session=self)
[task 2019-08-15T03:45:07.017Z] 03:45:07 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/transport.py
[task 2019-08-15T03:45:07.017Z] 03:45:07 INFO - STDOUT: :175: in send
[task 2019-08-15T03:45:07.018Z] 03:45:07 INFO - STDOUT: response = self._request(method, uri, payload, headers)
[task 2019-08-15T03:45:07.019Z] 03:45:07 INFO - STDOUT: tests/web-platform/tests/tools/webdriver/webdriver/transport.py
[task 2019-08-15T03:45:07.020Z] 03:45:07 INFO - STDOUT: :190: in _request
[task 2019-08-15T03:45:07.020Z] 03:45:07 INFO - STDOUT: self.connection.request(method, url, payload, headers)
[task 2019-08-15T03:45:07.021Z] 03:45:07 INFO - STDOUT: /usr/lib/python2.7/httplib.py
[task 2019-08-15T03:45:07.021Z] 03:45:07 INFO - STDOUT: :1057: in request
[task 2019-08-15T03:45:07.025Z] 03:45:07 INFO -
[task 2019-08-15T03:45:07.025Z] 03:45:07 INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/switch_to_frame/cross_origin.py | test_cross_origin_iframe - setup error

geckodriver: error: Address already in use (os error 98)

whimboo, have we seen this before?

Generally I think it’s not ideal that we reuse the same port
as we could run into system-specific race conditions.

Perhaps we should consider binding to 0 to have the system
atomically allocate the port?

Flags: needinfo?(hskupin)

Happens due to "Cannot send request". Dupe of bug 1571426.

Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(hskupin)
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.