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