Subject: bug#68209: python-mysql-connector-python.i686-linux 8.0.33 test failures

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 02 Jan 2024 11:26:15 -0500

Hi,

[email-masked] (Cuirass) writes:

> <p>The build <b>python-mysql-connector-python.i686-linux</b> for specification <b>master</b> is broken. You can find the detailed information about this build <a
> href="https://ci.guix.gnu.org/build/3141408/details">here</a>.</p>
>
> https://ci.guix.gnu.org/build/3141408/details

The test suite fails like:

--8<---------------cut here---------------start------------->8---
======================================================================
ERROR: bugs.BugOra25397650.test_cext_verify_server_certificate
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 291, in _open_connection
    self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: SSL connection error: error:00000001:lib(0):func(0):reason(1)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 4643, in test_cext_verify_server_certificate
    self._verify_cert(config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 4628, in _verify_cert
    mysql.connector.connect(**config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/pooling.py", line 293, in connect
    return CMySQLConnection(*args, **kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 120, in __init__
    self.connect(**kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/abstracts.py", line 1181, in connect
    self._open_connection()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 296, in _open_connection
    raise get_mysql_exception(
mysql.connector.errors.InterfaceError: 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

======================================================================
ERROR: bugs.BugOra25397650.test_pure_verify_server_certificate
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 455, in switch_to_ssl
    self.sock = context.wrap_socket(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 4636, in test_pure_verify_server_certificate
    self._verify_cert(config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 4628, in _verify_cert
    mysql.connector.connect(**config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/pooling.py", line 294, in connect
    return MySQLConnection(*args, **kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 164, in __init__
    self.connect(**kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/abstracts.py", line 1181, in connect
    self._open_connection()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 572, in _open_connection
    self._do_auth(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 267, in _do_auth
    self._socket.switch_to_ssl(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 491, in switch_to_ssl
    raise InterfaceError(
mysql.connector.errors.InterfaceError: 2055: Lost connection to MySQL server at 'localhost:3306', system error: 1 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

======================================================================
ERROR: bugs.BugOra27434751.test_verify_server_name_cext_cnx
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 291, in _open_connection
    self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: SSL connection error: error:00000001:lib(0):func(0):reason(1)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 5826, in test_verify_server_name_cext_cnx
    self._verify_server_name_cnx(use_pure=False)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 5812, in _verify_server_name_cnx
    cnx = mysql.connector.connect(**config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/pooling.py", line 293, in connect
    return CMySQLConnection(*args, **kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 120, in __init__
    self.connect(**kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/abstracts.py", line 1181, in connect
    self._open_connection()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection_cext.py", line 296, in _open_connection
    raise get_mysql_exception(
mysql.connector.errors.InterfaceError: 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

======================================================================
ERROR: bugs.BugOra27434751.test_verify_server_name_pure_cnx
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 455, in switch_to_ssl
    self.sock = context.wrap_socket(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 5829, in test_verify_server_name_pure_cnx
    self._verify_server_name_cnx(use_pure=True)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_bugs.py", line 5812, in _verify_server_name_cnx
    cnx = mysql.connector.connect(**config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/pooling.py", line 294, in connect
    return MySQLConnection(*args, **kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 164, in __init__
    self.connect(**kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/abstracts.py", line 1181, in connect
    self._open_connection()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 572, in _open_connection
    self._do_auth(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 267, in _do_auth
    self._socket.switch_to_ssl(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 491, in switch_to_ssl
    raise InterfaceError(
mysql.connector.errors.InterfaceError: 2055: Lost connection to MySQL server at '127.0.0.1:3306', system error: 1 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

======================================================================
ERROR: connection.MySQLConnectionTests.test_connect_with_unix_socket
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 455, in switch_to_ssl
    self.sock = context.wrap_socket(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] sslv3 alert certificate expired (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_connection.py", line 1347, in test_connect_with_unix_socket
    with cls(**config) as cnx:
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 164, in __init__
    self.connect(**kwargs)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/abstracts.py", line 1181, in connect
    self._open_connection()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 572, in _open_connection
    self._do_auth(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/connection.py", line 267, in _do_auth
    self._socket.switch_to_ssl(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysql/connector/network.py", line 491, in switch_to_ssl
    raise InterfaceError(
mysql.connector.errors.InterfaceError: 2055: Lost connection to MySQL server at '127.0.0.1:3306', system error: 1 [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] sslv3 alert certificate expired (_ssl.c:997)

======================================================================
ERROR: mysqlx_connection.MySQLxSessionTests.test_ssl_connection
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 422, in set_ssl
    self._socket = context.wrap_socket(self._socket, server_hostname=self._host)
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/tests/test_mysqlx_connection.py", line 1302, in test_ssl_connection
    session = mysqlx.get_session(config)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 3277, in get_session
    return Session(settings)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 2196, in __init__
    self._connection.connect()
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 815, in connect
    self._set_tls_capabilities(caps)
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 898, in _set_tls_capabilities
    self.stream.set_ssl(
  File "/tmp/guix-build-python-mysql-connector-python-8.0.33.drv-0/mysql-connector-python-8.0.33-src/build/testing/mysqlx/connection.py", line 424, in set_ssl
    raise InterfaceError(f"{err}") from err
mysqlx.errors.InterfaceError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

----------------------------------------------------------------------
Ran 1378 tests in 210.781s

FAILED (errors=6)
--8<---------------cut here---------------end--------------->8---

-- 
Thanks,
Maxim