[Bug 287119] security/py-cryptography: Regression ImportError: PyO3 modules

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 28 May 2025 17:03:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287119

            Bug ID: 287119
           Summary: security/py-cryptography: Regression ImportError: PyO3
                    modules
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: sunpoet@FreeBSD.org
          Reporter: dinoex@FreeBSD.org
          Assignee: sunpoet@FreeBSD.org
             Flags: maintainer-feedback?(sunpoet@FreeBSD.org)

Possible regression in security/py-cryptography
Package: py311-cryptography-42.0.8_8,1 

Ports Tree from 2025-05-26T03:56:00Z

I rebuild all dependecies and net-mgmt/netbox:
py311-cryptography: 42.0.8_8,1 

When starting netbox, it failed with:

ImportError: PyO3 modules compiled for CPython 3.8 or older may only be
initialized once per interpreter process

I have then deactivated all plugins, but no change.

Traceback (most recent call last):
  File "/usr/local/share/netbox/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File
"/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py",
line 442, in execute_from_command_line
    utility.execute()
  File
"/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py",
line 416, in execute
    django.setup()
  File "/usr/local/lib/python3.11/site-packages/django/__init__.py", line 24,
in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.11/site-packages/django/apps/registry.py", line
91, in populate
    app_config = AppConfig.create(entry)
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/apps/config.py", line
193, in create
    import_module(entry)
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in
import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/local/lib/python3.11/site-packages/django_rq/__init__.py", line 3,
in <module>
    from .decorators import job
  File "/usr/local/lib/python3.11/site-packages/django_rq/decorators.py", line
1, in <module>
    from rq.decorators import job as _rq_job
  File "/usr/local/lib/python3.11/site-packages/rq/__init__.py", line 2, in
<module>
    from .job import Callback, Retry, cancel_job, get_current_job, requeue_job
  File "/usr/local/lib/python3.11/site-packages/rq/job.py", line 12, in
<module>
    from redis import WatchError
  File "/usr/local/lib/python3.11/site-packages/redis/__init__.py", line 3, in
<module>
    from redis import asyncio  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/redis/asyncio/__init__.py",
line 1, in <module>
    from redis.asyncio.client import Redis, StrictRedis
  File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line
35, in <module>
    from redis.asyncio.connection import (
  File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py",
line 30, in <module>
    from ..auth.token import TokenInterface
  File "/usr/local/lib/python3.11/site-packages/redis/auth/token.py", line 4,
in <module>
    import jwt
  File "/usr/local/lib/python3.11/site-packages/jwt/__init__.py", line 1, in
<module>
    from .api_jwk import PyJWK, PyJWKSet
  File "/usr/local/lib/python3.11/site-packages/jwt/api_jwk.py", line 7, in
<module>
    from .algorithms import get_default_algorithms, has_crypto,
requires_cryptography
  File "/usr/local/lib/python3.11/site-packages/jwt/algorithms.py", line 11, in
<module>
    from .utils import (
  File "/usr/local/lib/python3.11/site-packages/jwt/utils.py", line 7, in
<module>
    from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve
  File
"/usr/local/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py",
line 11, in <module>
    from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
  File "/usr/local/lib/python3.11/site-packages/cryptography/exceptions.py",
line 9, in <module>
    from cryptography.hazmat.bindings._rust import exceptions as
rust_exceptions
ImportError: PyO3 modules compiled for CPython 3.8 or older may only be
initialized once per interpreter process

As a workaround I reverted py-cryptography to
py311-cryptography-42.0.8_8,1

Then Netbox was starting again.

-- 
You are receiving this mail because:
You are the assignee for the bug.