Skip to content

TestBrokenPipe.test_ignore_broken_pipe_errors fails on macOS 12 (Monterey) #2770

@pquentin

Description

@pquentin

We're using macos-latest in CI, and about two weeks ago GitHub Actions upgraded from macOS 11.7 (Big Sur) to macOS 12.6 (Monterey). Since then, test_ignore_broken_pipe_errors fails reliably like this:

Traceback (most recent call last):
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connectionpool.py", line 732, in urlopen
    httplib_response = self._make_request(
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connection.py", line 355, in request
    self.send(chunk)
  File "/Users/runner/hostedtoolcache/Python/3.8.14/x64/lib/python3.8/http/client.py", line 972, in send
    self.sock.sendall(data)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/runner/work/urllib3/urllib3/test/with_dummyserver/test_socketlevel.py", line 2023, in test_ignore_broken_pipe_errors
    r = pool.request("POST", "/", body=buf)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/_request_methods.py", line 117, in request
    return self.request_encode_body(
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/_request_methods.py", line 216, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/util/retry.py", line 467, in increment
    raise reraise(type(error), error, _stacktrace)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/util/util.py", line 36, in reraise
    raise value.with_traceback(tb)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connectionpool.py", line 732, in urlopen
    httplib_response = self._make_request(
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/runner/work/urllib3/urllib3/.nox/test-3-8/lib/python3.8/site-packages/urllib3/connection.py", line 355, in request
    self.send(chunk)
  File "/Users/runner/hostedtoolcache/Python/3.8.14/x64/lib/python3.8/http/client.py", line 972, in send
    self.sock.sendall(data)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))

This test is already disabled in Windows, so we may have to do the same on macOS 12+.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions