Hi,

while trying to get python-xmlsec in shape for xmlsec1 1.3.11 (which will be a 
transition, and one needed for openssl 4.0.0) I came about the following

After applying the support patch to 1.3.17 - see ##1138515 - (thanks Alexandre 
for doing the upgrade in the archive so quick) I get a passing test where it 
segfaulted before
but

tests/test_xmlsec.py .                                                   
[100%]Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
    raise SystemExit(pytest.console_main())
                     ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 223, 
in console_main
    code = main()
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 199, 
in main
    ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
firstresult)
           
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in 
_hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in 
_multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in 
_multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 365, in 
pytest_cmdline_main
    return wrap_session(config, _main)
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 353, in 
wrap_session
    config.hook.pytest_sessionfinish(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        session=session, exitstatus=session.exitstatus
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
firstresult)
           
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in 
_hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in 
_multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in 
_multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 873, in 
pytest_sessionfinish
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 152, in 
_multicall
    teardown.send(result)
    ~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/terminal.py", line 970, in 
pytest_sessionfinish
    self.config.hook.pytest_terminal_summary(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        terminalreporter=self, exitstatus=exitstatus, config=self.config
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
firstresult)
           
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in 
_hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in 
_multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in 
_multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/terminal.py", line 992, in 
pytest_terminal_summary
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in 
_multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/warnings.py", line 109, in 
pytest_terminal_summary
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in 
_multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_hypothesis_pytestplugin.py", line 400, 
in pytest_terminal_summary
    from hypothesis.internal.observability import _WROTE_TO
  File "/usr/lib/python3/dist-packages/hypothesis/__init__.py", line 20, in 
<module>
    from hypothesis._settings import HealthCheck, Phase, Verbosity, settings
  File "/usr/lib/python3/dist-packages/hypothesis/_settings.py", line 35, in 
<module>
    from hypothesis.internal.conjecture.providers import AVAILABLE_PROVIDERS
  File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/providers.py", 
line 37, in <module>
    from hypothesis.internal.conjecture.choice import (
    ...<6 lines>...
    )
  File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/choice.py", 
line 24, in <module>
    from hypothesis.internal.conjecture.utils import identity
  File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/utils.py", line 
69, in <module>
    SAMPLE_IN_SAMPLER_LABEL = calc_label_from_name("a sample() in Sampler")
  File 
"/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/utils.py", line 
35, in calc_label_from_name
    hashed = hashlib.sha384(name.encode()).digest()
             ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
_hashlib.UnsupportedDigestmodError: unsupported hash type sha384

happens. (for both 3.13 and 3.14)

From what I read in https://docs.python.org/3/library/hashlib.html sha384 
should have been supported in python anyways and
xmlsec1s build has
checking for SHA384 support... yes
(if it even matters, python3s _hashlib doesn't use xmlsec..)

Am I missing something obvious?

Any idea on why this could fail?

Regards,

Rene

Reply via email to