Skip to content

test_ssl: test_client_sigalgs_mismatch() fails randomly on macOS with BrokenPipeError #139504

@vstinner

Description

@vstinner

Bug report

The test fails randomly on GitHub Action macOS CIs.

Example: https://github.com/python/cpython/actions/runs/18194966530/job/51798732964?pr=139498

0:03:17 load avg: 10.48 [1/1/1] test_ssl failed (1 error)
Re-running test_ssl in verbose mode (matching: test_client_sigalgs_mismatch)
test_ssl: testing with 'OpenSSL 3.0.17 1 Jul 2025' (3, 0, 0, 17, 0)
          under Mac ('14.8', ('', '', ''), 'arm64')
          HAS_SNI = True
          OP_ALL = 0x80000050
          OP_NO_TLSv1_1 = 0x10000000
test_client_sigalgs_mismatch (test.test_ssl.ThreadedTests.test_client_sigalgs_mismatch) ...  server:  new connection from ('127.0.0.1', 54259)
 client:  sending b'FOO\n'...

 server:  bad connection attempt from ('127.0.0.1', 54259):
Traceback (most recent call last):
   File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/test/test_ssl.py", line 2423, in wrap_conn
    self.sslconn = self.server.context.wrap_socket(
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self.sock, server_side=True)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/ssl.py", line 459, in wrap_socket
    return self.sslsocket_class._create(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        sock=sock,
        ^^^^^^^^^^
    ...<5 lines>...
        session=session
        ^^^^^^^^^^^^^^^
    )
    ^
   File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/ssl.py", line 1096, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
   File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/ssl.py", line 1427, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
 ssl.SSLError: [SSL: PEER_DID_NOT_RETURN_A_CERTIFICATE] peer did not return a certificate (_ssl.c:1108)
ERROR

======================================================================
ERROR: test_client_sigalgs_mismatch (test.test_ssl.ThreadedTests.test_client_sigalgs_mismatch)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/test/test_ssl.py", line 4351, in test_client_sigalgs_mismatch
    server_params_test(client_context, server_context,
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                       chatty=True, connectionchatty=True,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                       sni_name=hostname)
                       ^^^^^^^^^^^^^^^^^^
  File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/test/test_ssl.py", line 2832, in server_params_test
    s.write(arg)
    ~~~~~~~^^^^^
  File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/ssl.py", line 1177, in write
    return self._sslobj.write(data)
           ~~~~~~~~~~~~~~~~~~^^^^^^
BrokenPipeError: [Errno 32] Broken pipe

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.15new features, bugs and security fixesOS-mactestsTests in the Lib/test dirtopic-SSLtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions