Skip to content

Test failing in test_crypto.py #668

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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