Skip to content

Test failing in test_crypto.py #668

@papoteur-mga

Description

@papoteur-mga

Describe the bug

I'm trying to build the version 0.27.4 in Mageia, using a chroot without Internet access.

When running the tests, I get errors like Unknown error when calling underlying Crypto library. Is there means to have more DEBUG messages?

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

Tests pass

Current Behavior

+ PYTHONPATH=/builddir/build/BUILD/python-awscrt-0.27.4-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-awscrt-0.27.4-build/BUILDROOT/usr/lib/python3.13/site-packages
+ /usr/bin/python3 -m unittest
.ssss.......Exception ignored in: <function TestProvider.test_delegate_provider_exception.<locals>.delegate_get_credentials at 0x7fea65f72d40>
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_auth.py", line 204, in delegate_get_credentials
    raise Exception("purposefully thrown exception")
Exception: purposefully thrown exception
.Exception ignored in: <function TestProvider.test_delegate_provider_exception_from_bad_return_type.<locals>.delegate_get_credentials at 0x7fea65f04220>
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/auth.py", line 442, in get_credentials
    _awscrt.credentials_provider_get_credentials(self._binding, _on_complete)
TypeError: Expected valid 'AwsCredentials' (no '_binding' attribute)
................................................EEE...................ssssssssss........127.0.0.1 - - [07/Jul/2025 18:54:22] "GET /test/test_http_client.py HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:22] "GET /test/test_http_client.py HTTP/1.1" 200 -
.sE127.0.0.1 - - [07/Jul/2025 18:54:22] "PUT /test/test_http_client.py HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:22] "PUT /test/test_http_client.py HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:23] "PUT /test/test_request_refcounts.txt HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:23] "PUT /test/test_request_refcounts.txt HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:23] "GET / HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:23] "GET / HTTP/1.1" 200 -
...127.0.0.1 - - [07/Jul/2025 18:54:24] "GET /test/test_http_client.py HTTP/1.1" 200 -
.127.0.0.1 - - [07/Jul/2025 18:54:24] "GET /test/test_http_client.py HTTP/1.1" 200 -
.ssss.......................s.........F...s.ss...sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss/usr/lib64/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=26959) is multi-threaded, use of fork() may lead to deadlocks in the child.
  self.pid = os.fork()
........sssssssssssssssssssssssssssssss...opening handshake failed
Traceback (most recent call last):
  File "/usr/lib64/python3.13/site-packages/websockets/asyncio/server.py", line 353, in conn_handler
    await connection.handshake(
    ...<3 lines>...
    )
  File "/usr/lib64/python3.13/site-packages/websockets/asyncio/server.py", line 204, in handshake
    raise self.protocol.handshake_exc
  File "/usr/lib64/python3.13/site-packages/websockets/server.py", line 134, in accept
    ) = self.process_request(request)
        ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/websockets/server.py", line 235, in process_request
    raise InvalidUpgrade(
        "Connection", ", ".join(connection) if connection else None
    )
websockets.exceptions.InvalidUpgrade: missing Connection header
...Exception in WebSocket on_incoming_frame_begin callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 487, in _on_incoming_frame_begin
    self._on_incoming_frame_begin_cb(cbdata)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 502, in bad_incoming_frame_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
Exception in WebSocket on_incoming_frame_payload callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 501, in _on_incoming_frame_payload
    self._on_incoming_frame_payload_cb(cbdata)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 502, in bad_incoming_frame_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
Exception in WebSocket on_incoming_frame_complete callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 519, in _on_incoming_frame_complete
    self._on_incoming_frame_complete_cb(cbdata)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 502, in bad_incoming_frame_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
.Exception in WebSocket on_connection_setup callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 459, in _on_connection_setup
    self._on_connection_setup_cb(cbdata)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 334, in bad_setup_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
.Exception in WebSocket on_connection_shutdown callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 474, in _on_connection_shutdown
    self._on_connection_shutdown_cb(cbdata)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 357, in bad_shutdown_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
..Exception in WebSocket.send_frame on_complete callback
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/websocket.py", line 390, in _on_complete
    on_complete(cbdata)
    ~~~~~~~~~~~^^^^^^^^
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_websocket.py", line 480, in bad_completion_callback
    raise RuntimeError("Purposefully raising exception")
RuntimeError: Purposefully raising exception
..
======================================================================
ERROR: test_rsa_signing_roundtrip (test.test_crypto.TestCredentials.test_rsa_signing_roundtrip) [RSA Signing Roundtrip using algo p] (p=<RSASignatureAlgorithm.PKCS1_5_SHA1: 1>)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_crypto.py", line 252, in test_rsa_signing_roundtrip
    signature = rsa.sign(p, digest)
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/crypto.py", line 164, in sign
    return _awscrt.rsa_sign(self._binding, signature_algorithm, digest)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 7179 (AWS_ERROR_CAL_CRYPTO_OPERATION_FAILED): Unknown error when calling underlying Crypto library.

======================================================================
ERROR: test_rsa_signing_roundtrip_der (test.test_crypto.TestCredentials.test_rsa_signing_roundtrip_der) [RSA Signing Roundtrip using algo p] (p=<RSASignatureAlgorithm.PKCS1_5_SHA1: 1>)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_crypto.py", line 292, in test_rsa_signing_roundtrip_der
    signature = rsa.sign(p, digest)
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/crypto.py", line 164, in sign
    return _awscrt.rsa_sign(self._binding, signature_algorithm, digest)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 7179 (AWS_ERROR_CAL_CRYPTO_OPERATION_FAILED): Unknown error when calling underlying Crypto library.

======================================================================
ERROR: test_rsa_signing_roundtrip_pkcs8 (test.test_crypto.TestCredentials.test_rsa_signing_roundtrip_pkcs8) [RSA Signing Roundtrip using algo p] (p=<RSASignatureAlgorithm.PKCS1_5_SHA1: 1>)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_crypto.py", line 273, in test_rsa_signing_roundtrip_pkcs8
    signature = rsa.sign(p, digest)
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/awscrt/crypto.py", line 164, in sign
    return _awscrt.rsa_sign(self._binding, signature_algorithm, digest)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 7179 (AWS_ERROR_CAL_CRYPTO_OPERATION_FAILED): Unknown error when calling underlying Crypto library.

======================================================================
ERROR: test_h2_manual_write_exception (test.test_http_client.TestClient.test_h2_manual_write_exception)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_http_client.py", line 381, in test_h2_manual_write_exception
    connection = self._new_h2_client_connection(url)
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_http_client.py", line 354, in _new_h2_client_connection
    return connection_future.result(self.timeout)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_UNSUPPORTED_PROTOCOL: An unsupported protocol was encountered.

======================================================================
FAIL: test_shutdown_complete_singleton (test.test_io.EventLoopGroupTest.test_shutdown_complete_singleton)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-awscrt-0.27.4-build/awscrt-0.27.4/test/test_io.py", line 41, in test_shutdown_complete_singleton
    self.assertTrue(shutdown_event.wait(TIMEOUT))
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: False is not true

----------------------------------------------------------------------
Ran 405 tests in 39.765s

FAILED (failures=1, errors=4, skipped=244)

Reproduction Steps

python -m unittest

Possible Solution

No response

Additional Information/Context

No response

aws-crt-python version used

0.27.4

Python version used

3.13

Operating System and version

Mageia Cauldron (10)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.needs-triageThis issue or PR still needs to be triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions