Closed Bug 1617034 Opened 5 years ago Closed 5 years ago

Intermittent /webdriver/tests/get_window_rect/get.py | test_no_browsing_context - setup error [Address already in use]

Categories

(Remote Protocol :: Marionette, defect, P5)

Version 3
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1576061

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure)

Filed by: ncsoregi [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=289757085&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/BfpzwqyfSoaZsMojLE-bCw/runs/0/artifacts/public/logs/live_backing.log


[task 2020-02-20T22:18:34.131Z] 22:18:34 INFO - STDOUT: ===================== 1 warnings, 2 error in 0.33 seconds ======================
[task 2020-02-20T22:18:34.135Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.135Z] 22:18:34 INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/get_window_rect/get.py | test_no_browsing_context - setup error
[task 2020-02-20T22:18:34.135Z] 22:18:34 INFO - capabilities = {}
[task 2020-02-20T22:18:34.135Z] 22:18:34 INFO - 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': 48820}
[task 2020-02-20T22:18:34.135Z] 22:18:34 INFO - request = <SubRequest 'session' for <Function 'test_no_browsing_context'>>
[task 2020-02-20T22:18:34.136Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.136Z] 22:18:34 INFO - @pytest.fixture(scope="function")
[task 2020-02-20T22:18:34.136Z] 22:18:34 INFO - def session(capabilities, configuration, request):
[task 2020-02-20T22:18:34.136Z] 22:18:34 INFO - """Create and start a session for a test that does not itself test session creation.
[task 2020-02-20T22:18:34.136Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO - By default the session will stay open after each test, but we always try to start a
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO - new one and assume that if that fails there is already a valid session. This makes it
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO - possible to recover from some errors that might leave the session in a bad state, but
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO - does not demand that we start a new session per test."""
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO - global _current_session
[task 2020-02-20T22:18:34.137Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - # Update configuration capabilities with custom ones from the
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - # capabilities fixture, which can be set by tests
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - caps = copy.deepcopy(configuration["capabilities"])
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - caps.update(capabilities)
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - caps = {"alwaysMatch": caps}
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.138Z] 22:18:34 INFO - # If there is a session with different capabilities active, end it now
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - if _current_session is not None and (
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - caps != _current_session.requested_capabilities):
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - _current_session.end()
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - _current_session = None
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - if _current_session is None:
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - _current_session = webdriver.Session(
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - configuration["host"],
[task 2020-02-20T22:18:34.139Z] 22:18:34 INFO - configuration["port"],
[task 2020-02-20T22:18:34.140Z] 22:18:34 INFO - capabilities=caps)
[task 2020-02-20T22:18:34.140Z] 22:18:34 INFO - try:
[task 2020-02-20T22:18:34.140Z] 22:18:34 INFO - > _current_session.start()
[task 2020-02-20T22:18:34.140Z] 22:18:34 INFO -

[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO - address = ('127.0.0.1', 48820), timeout = <object object at 0x7fc0a275c0d0>
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO - source_address = None
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO - def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
[task 2020-02-20T22:18:34.143Z] 22:18:34 INFO - source_address=None):
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - """Connect to address and return the socket object.
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - Convenience function. Connect to address (a 2-tuple (host, [task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - port)) and return the socket object. Passing the optional
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - timeout parameter will set the timeout on the socket instance
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - before attempting to connect. If no timeout is supplied, the
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - global default timeout setting returned by :func:getdefaulttimeout
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - is used. If source_address is set it must be a tuple of (host, port)
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - for the socket to bind as a source address before making the connection.
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - A host of '' or port 0 tells the OS to use the default.
[task 2020-02-20T22:18:34.144Z] 22:18:34 INFO - """
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - host, port = address
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - err = None
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - for res in getaddrinfo(host, port, 0, SOCK_STREAM):
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - af, socktype, proto, canonname, sa = res
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - sock = None
[task 2020-02-20T22:18:34.145Z] 22:18:34 INFO - try:
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - sock = socket(af, socktype, proto)
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - sock.settimeout(timeout)
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - if source_address:
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - sock.bind(source_address)
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - sock.connect(sa)
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO - return sock
[task 2020-02-20T22:18:34.146Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.147Z] 22:18:34 INFO - except error as _:
[task 2020-02-20T22:18:34.147Z] 22:18:34 INFO - err = _
[task 2020-02-20T22:18:34.147Z] 22:18:34 INFO - if sock is not None:
[task 2020-02-20T22:18:34.147Z] 22:18:34 INFO - sock.close()
[task 2020-02-20T22:18:34.147Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.148Z] 22:18:34 INFO - if err is not None:
[task 2020-02-20T22:18:34.148Z] 22:18:34 INFO - > raise err
[task 2020-02-20T22:18:34.148Z] 22:18:34 INFO - E error: [Errno 111] Connection refused
[task 2020-02-20T22:18:34.148Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.148Z] 22:18:34 INFO - _ = error(111, 'Connection refused')
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - address = ('127.0.0.1', 48820)
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - af = 2
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - canonname = ''
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - err = error(111, 'Connection refused')
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - host = '127.0.0.1'
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - port = 48820
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - proto = 6
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - res = (2, 1, 6, '', ('127.0.0.1', 48820))
[task 2020-02-20T22:18:34.149Z] 22:18:34 INFO - sa = ('127.0.0.1', 48820)
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO - sock = <socket._socketobject object at 0x7fc09cca84b0>
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO - socktype = 1
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO - source_address = None
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO - timeout = <object object at 0x7fc0a275c0d0>
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.150Z] 22:18:34 INFO - /usr/lib/python2.7/socket.py:575: error
[task 2020-02-20T22:18:34.152Z] 22:18:34 INFO -
[task 2020-02-20T22:18:34.152Z] 22:18:34 INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/get_window_rect/get.py | test_payload - setup error

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Summary: Intermittent /webdriver/tests/get_window_rect/get.py | test_no_browsing_context - setup error → Intermittent /webdriver/tests/get_window_rect/get.py | test_no_browsing_context - setup error [Address already in use]
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.