From a658c3840f561c64578a7591e3e3e378be511def Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 10 Sep 2026 19:55:39 +0200 Subject: [PATCH] fix: Require m2crypto >=0.50 m2crypto 0.46.0 inverted the handling of ssl_sleep_with_timeout()'s return value in ssl_read(), breaking all DIRAC DISET/dips connections. Fixed upstream in 0.50.0, which also silences the Version._version deprecation warnings seen in the integration tests. https://codeberg.org/mcepl/m2crypto/issues/394 https://github.com/DIRACGrid/DIRACOS2/issues/192 --- environment.yml | 10 +--------- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/environment.yml b/environment.yml index 10aecda6497..62a8d68576f 100644 --- a/environment.yml +++ b/environment.yml @@ -21,15 +21,7 @@ dependencies: - fts3 - gitpython >=2.1.0 - invoke - # Upper pin: m2crypto 0.46.0 rewrote ssl_read() in src/SWIG/_ssl.i and inverted the - # handling of ssl_sleep_with_timeout()'s return value (and dropped the gettimeofday() - # that initialises the deadline). Any read() on a connection with a timeout set now - # busy-loops and returns with a stale SSLTimeoutError set, which surfaces as - # "SystemError: returned a result with an exception set" - # and breaks all DIRAC DISET/dips connections. Still unfixed upstream as of 0.49.0. - ## Reported in - ## https://lists.sr.ht/~mcepl/m2crypto/%3C7b94d866-bdd2-4a29-9713-b6a6fd076ad7@cta-observatory.org%3E - - m2crypto >=0.43,<0.46 + - m2crypto >=0.50 - matplotlib - numpy - pexpect >=4.0.1 diff --git a/setup.cfg b/setup.cfg index 7becf2289f7..1b2b107705c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -39,7 +39,7 @@ install_requires = gfal2-python importlib_metadata >=4.4 importlib_resources - M2Crypto >=0.36 + M2Crypto >=0.50 packaging pexpect prompt-toolkit >=3