I’m using Seafile Pro 12.0 with the S3 backend. When I upload a file, I get errors like what you see below. For all I can tell the upload eventually goes through and succeeds, but is very slow (presumably blocking for a long time until the recursion error is hit).
RecursionError: maximum recursion depth exceeded
[Previous line repeated 963 more times]
super(SSLContext, SSLContext).verify_mode.__set__(self, value)
File "/usr/lib/python3.12/ssl.py", line 680, in verify_mode
super(SSLContext, SSLContext).verify_mode.__set__(self, value)
File "/usr/lib/python3.12/ssl.py", line 680, in verify_mode
super(SSLContext, SSLContext).verify_mode.__set__(self, value)
File "/usr/lib/python3.12/ssl.py", line 680, in verify_mode
^^^^^^^^^^^^^^^^^^^
context.verify_mode = resolve_cert_reqs(cert_reqs)
File "/opt/seafile/seafile-pro-server-12.0.14/seahub/thirdpart/urllib3/connection.py", line 882, in _ssl_wrap_socket_and_match_hostname
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sock_and_verified = _ssl_wrap_socket_and_match_hostname(
File "/opt/seafile/seafile-pro-server-12.0.14/seahub/thirdpart/urllib3/connection.py", line 741, in connect
conn.connect()
File "/opt/seafile/seafile-pro-server-12.0.14/seahub/thirdpart/urllib3/connectionpool.py", line 1093, in _validate_conn
self._validate_conn(conn)
File "/opt/seafile/seafile-pro-server-12.0.14/seahub/thirdpart/urllib3/connectionpool.py", line 464, in _make_request
^^^^^^^^^^^^^^^^^^^
response = self._make_request(
File "/opt/seafile/seafile-pro-server-12.0.14/seahub/thirdpart/urllib3/connectionpool.py", line 787, in urlopen
^^^^^^^^^^^^^
urllib_response = conn.urlopen(
File "/opt/seafile/seafile-pro-server-12.0.14/pro/python/botocore/httpsession.py", line 464, in send
Traceback (most recent call last):
[seafevents] [2025-06-13 14:50:36] [ERROR] seafevents.app.mq_handler:61 error when handle msg: Failed to read object e42d9993-14c8-46da-aa94-b037aade4cd3/af57cae1c7f3a4ed982276a1dbadd3cfd939d151: An HTTP Client raised an unhandled exception: maximum recursion depth exceeded
It looks like Seafile is using gevent, so it needs to do monkey-patching (https://%%stackoverflow.%%com/questions/49820173/recursionerror-maximum-recursion-depth-exceeded-from-ssl-py-supersslcontex. But my logs indicate that this is not happening at the right time:
Any hints on how to address this are appreciated.
I needed to make the SO post link not a valid link otherwise I was not allowed to post.