Thanks to visit codestin.com
Credit goes to github.com

Skip to content

test_ssl randomly fails on macOS GH Action: test_get_server_certificate_sni() and test_get_server_certificate_timeout() #88403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
vstinner opened this issue May 25, 2021 · 5 comments
Assignees
Labels
3.11 only security fixes tests Tests in the Lib/test dir topic-SSL

Comments

@vstinner
Copy link
Member

BPO 44237
Nosy @vstinner, @tiran, @erlend-aasland
Superseder
  • bpo-44229: test_ssl: test_get_server_certificate() and test_msg_callback_deadlock_bpo43577() fail randomly on the macOS CI
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/tiran'
    closed_at = <Date 2021-06-24.12:29:09.268>
    created_at = <Date 2021-05-25.20:27:06.536>
    labels = ['expert-SSL', 'tests', '3.11']
    title = 'test_ssl randomly fails on macOS GH Action: test_get_server_certificate_sni() and test_get_server_certificate_timeout()'
    updated_at = <Date 2021-06-24.12:29:09.267>
    user = 'https://github.com/vstinner'

    bugs.python.org fields:

    activity = <Date 2021-06-24.12:29:09.267>
    actor = 'erlendaasland'
    assignee = 'christian.heimes'
    closed = True
    closed_date = <Date 2021-06-24.12:29:09.268>
    closer = 'erlendaasland'
    components = ['Tests', 'SSL']
    creation = <Date 2021-05-25.20:27:06.536>
    creator = 'vstinner'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 44237
    keywords = []
    message_count = 5.0
    messages = ['394392', '394394', '394395', '396413', '396484']
    nosy_count = 3.0
    nosy_names = ['vstinner', 'christian.heimes', 'erlendaasland']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = '44229'
    type = None
    url = 'https://bugs.python.org/issue44237'
    versions = ['Python 3.11']

    @vstinner
    Copy link
    Member Author

    https://github.com/python/cpython/pull/26359/checks?check_run_id=2668874284

    Error 1:

    2021-05-25T20:02:41.9174160Z ======================================================================
    2021-05-25T20:02:41.9268350Z ERROR: test_get_server_certificate_sni (test.test_ssl.SimpleBackgroundTests)
    2021-05-25T20:02:41.9272030Z ----------------------------------------------------------------------

    2021-05-25T20:02:41.9275950Z Traceback (most recent call last):
    2021-05-25T20:02:41.9374600Z   File "/Users/runner/work/cpython/cpython/Lib/test/test_ssl.py", line 2147, in test_get_server_certificate_sni
    2021-05-25T20:02:41.9404170Z     pem = ssl.get_server_certificate((host, port), ca_certs=SIGNING_CA)
    2021-05-25T20:02:41.9483350Z   File "/Users/runner/work/cpython/cpython/Lib/ssl.py", line 1520, in get_server_certificate
    2021-05-25T20:02:41.9505910Z     with create_connection(addr, timeout=timeout) as sock:
    2021-05-25T20:02:41.9585510Z   File "/Users/runner/work/cpython/cpython/Lib/socket.py", line 844, in create_connection
    2021-05-25T20:02:41.9607200Z     raise err
    2021-05-25T20:02:41.9687730Z   File "/Users/runner/work/cpython/cpython/Lib/socket.py", line 832, in create_connection
    2021-05-25T20:02:41.9708730Z     sock.connect(sa)
    2021-05-25T20:02:41.9791030Z ConnectionRefusedError: [Errno 61] Connection refused

    Error 2 when test_ssl is re-run:

    ======================================================================
    FAIL: test_get_server_certificate_timeout (test.test_ssl.SimpleBackgroundTests)
    ----------------------------------------------------------------------

    Traceback (most recent call last):
      File "/Users/runner/work/cpython/cpython/Lib/test/test_ssl.py", line 2165, in test_get_server_certificate_timeout
        with self.assertRaises(socket.timeout):
    AssertionError: TimeoutError not raised

    @vstinner vstinner added the 3.11 only security fixes label May 25, 2021
    @vstinner vstinner added tests Tests in the Lib/test dir topic-SSL 3.11 only security fixes labels May 25, 2021
    @vstinner vstinner added tests Tests in the Lib/test dir topic-SSL labels May 25, 2021
    @tiran
    Copy link
    Member

    tiran commented May 25, 2021

    It looks like a duplicate or very similar to bpo-44229.

    @vstinner
    Copy link
    Member Author

    https://github.com/python/cpython/pull/26359/checks?check_run_id=2668874284

    test.pythoninfo:

    ssl.HAS_SNI: True
    ssl.OPENSSL_VERSION: OpenSSL 1.1.1k 25 Mar 2021
    ssl.OPENSSL_VERSION_INFO: (1, 1, 1, 11, 15)
    ssl.OP_ALL: 0x80000054
    ssl.OP_NO_TLSv1_1: 0x10000000
    ssl.SSLContext.maximum_version: MAXIMUM_SUPPORTED
    ssl.SSLContext.minimum_version: TLSv1_2
    ssl.SSLContext.options: OP_NO_COMPRESSION|OP_ENABLE_MIDDLEBOX_COMPAT|OP_CIPHER_SERVER_PREFERENCE|OP_NO_SSLv3|0x80000054
    ssl.SSLContext.protocol: PROTOCOL_TLS_CLIENT
    ssl.SSLContext.verify_mode: CERT_REQUIRED
    ssl.default_https_context.maximum_version: MAXIMUM_SUPPORTED
    ssl.default_https_context.minimum_version: TLSv1_2
    ssl.default_https_context.options: OP_NO_COMPRESSION|OP_ENABLE_MIDDLEBOX_COMPAT|OP_CIPHER_SERVER_PREFERENCE|OP_NO_SSLv3|0x80000054
    ssl.default_https_context.protocol: PROTOCOL_TLS_CLIENT
    ssl.default_https_context.verify_mode: CERT_REQUIRED
    ssl.stdlib_context.maximum_version: MAXIMUM_SUPPORTED
    ssl.stdlib_context.minimum_version: TLSv1_2
    ssl.stdlib_context.options: OP_NO_COMPRESSION|OP_ENABLE_MIDDLEBOX_COMPAT|OP_CIPHER_SERVER_PREFERENCE|OP_NO_SSLv3|0x80000054
    ssl.stdlib_context.protocol: PROTOCOL_TLS_CLIENT
    ssl.stdlib_context.verify_mode: CERT_NONE

    @vstinner
    Copy link
    Member Author

    https://github.com/python/cpython/pull/26874/checks?check_run_id=2893904059

    ERROR: test_connect_cadata (test.test_ssl.SimpleBackgroundTests)
    ----------------------------------------------------------------------

    Traceback (most recent call last):
      File "/Users/runner/work/cpython/cpython/Lib/test/test_ssl.py", line 2131, in test_connect_cadata
        s.connect(self.server_addr)
      File "/Users/runner/work/cpython/cpython/Lib/ssl.py", line 1379, in connect
        self._real_connect(addr, False)
      File "/Users/runner/work/cpython/cpython/Lib/ssl.py", line 1370, in _real_connect
        self.do_handshake()
      File "/Users/runner/work/cpython/cpython/Lib/ssl.py", line 1346, in do_handshake
        self._sslobj.do_handshake()
    ConnectionResetError: [Errno 54] Connection reset by peer

    @erlend-aasland
    Copy link
    Contributor

    erlend-aasland commented Jun 24, 2021

    Duplicate of #88395. Please reopen if you disagree.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.11 only security fixes tests Tests in the Lib/test dir topic-SSL
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants