From 84b772b30b52c6f9fbdcde3fae3a30905216b17f Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 10 Sep 2026 19:55:40 +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 c49e2243839..16b698cbcae 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 f9f6cbce4f8..c7350e1a4e6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -37,7 +37,7 @@ install_requires = gfal2-python importlib_metadata >=4.4 importlib_resources - M2Crypto >=0.36 + M2Crypto >=0.50 packaging pexpect prompt-toolkit >=3