[PyMongoCrypt] ffi old-style callbacks are not supported when using unsigned python binaries on macOS

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

       

      See https://cffi.readthedocs.io/en/latest/using.html#callbacks-old-style

      Example traceback seen locally:

       

        File "/Users/steve.silvester/workspace/mongo-python-driver/test/test_encryption.py", line 47, in <module>
          from test.unified_format import generate_test_classes
        File "/Users/steve.silvester/workspace/mongo-python-driver/test/unified_format.py", line 72, in <module>
          from pymongo.encryption import ClientEncryption
        File "/Users/steve.silvester/workspace/mongo-python-driver/pymongo/encryption.py", line 24, in <module>
          from pymongocrypt.auto_encrypter import AutoEncrypter
        File "/Users/steve.silvester/miniconda/envs/mongo-python-driver_env/lib/python3.10/site-packages/pymongocrypt/auto_encrypter.py", line 15, in <module>
          from pymongocrypt.mongocrypt import MongoCrypt
        File "/Users/steve.silvester/miniconda/envs/mongo-python-driver_env/lib/python3.10/site-packages/pymongocrypt/mongocrypt.py", line 25, in <module>
          from pymongocrypt.crypto import (aes_256_cbc_encrypt,
        File "/Users/steve.silvester/miniconda/envs/mongo-python-driver_env/lib/python3.10/site-packages/pymongocrypt/crypto.py", line 70, in <module>
          def aes_256_cbc_encrypt(ctx, key, iv, input, output, bytes_written, status):
        File "/Users/steve.silvester/miniconda/envs/mongo-python-driver_env/lib/python3.10/site-packages/cffi/api.py", line 396, in callback_decorator_wrap
          return self._backend.callback(cdecl, python_callable,
      MemoryError: Cannot allocate write+execute memory for ffi.callback(). You might be running on a system that prevents this. For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks 

      Note: The official Python binaries already have the required permissions, this is limited to Python binaries on macOS that were not signed with the required permissions

              Assignee:
              Unassigned
              Reporter:
              Steve Silvester
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: