Skip to content

Instantly share code, notes, and snippets.

@calio
Created January 2, 2024 19:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save calio/3a4606b0fd223cb38987a25e337842b3 to your computer and use it in GitHub Desktop.
Save calio/3a4606b0fd223cb38987a25e337842b3 to your computer and use it in GitHub Desktop.
openai==1.6.1 and gunicorn gevent worker caused max stack depth error.
See also:
- https://www.cnblogs.com/buxizhizhoum/p/16264833.html
- https://blog.csdn.net/China_AT001/article/details/120354584
- https://luxrck.github.io/p/gevent-ssl-infinity-recursion-error/
- https://github.com/eventlet/eventlet/issues/618
Stack trace:
[2024-01-02 18:46:48 +0000] [3828971] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/workers/ggevent.py", line 146, in init_process
super().init_process()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/web/venv/lib/python3.10/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/web/backend/app.py", line 58, in <module>
import ll_util
File "/home/web/backend/ll_util.py", line 3, in <module>
import config
File "/home/web/backend/config.py", line 21, in <module>
OPENAI_API_KEY = client.get_secret("test-openai-api-key").value
File "/home/web/venv/lib/python3.10/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
return func(*args, **kwargs)
File "/home/web/venv/lib/python3.10/site-packages/azure/keyvault/secrets/_client.py", line 72, in get_secret
bundle = self._client.get_secret(
File "/home/web/venv/lib/python3.10/site-packages/azure/keyvault/secrets/_generated/_operations_mixin.py", line 1640, in get_secret
return mixin_instance.get_secret(vault_base_url, secret_name, secret_version, **kwargs)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
return func(*args, **kwargs)
File "/home/web/venv/lib/python3.10/site-packages/azure/keyvault/secrets/_generated/v7_4/operations/_key_vault_client_operations.py", line 760, in get_secret
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 227, in run
return first_node.send(pipeline_request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
[Previous line repeated 2 more times]
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/policies/_redirect.py", line 184, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/policies/_retry.py", line 473, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/policies/_authentication.py", line 126, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 89, in send
response = self.next.send(request)
[Previous line repeated 2 more times]
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/_base.py", line 122, in send
self._sender.send(request.http_request, **request.context.options),
File "/home/web/venv/lib/python3.10/site-packages/azure/core/pipeline/transport/_requests_basic.py", line 338, in send
response = self.session.request( # type: ignore
File "/home/web/venv/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/home/web/venv/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/home/web/venv/lib/python3.10/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/home/web/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File "/home/web/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "/home/web/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1096, in _validate_conn
conn.connect()
File "/home/web/venv/lib/python3.10/site-packages/urllib3/connection.py", line 642, in connect
sock_and_verified = _ssl_wrap_socket_and_match_hostname(
File "/home/web/venv/lib/python3.10/site-packages/urllib3/connection.py", line 735, in _ssl_wrap_socket_and_match_hostname
context = create_urllib3_context(
File "/home/web/venv/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 290, in create_urllib3_context
context.minimum_version = TLSVersion.TLSv1_2
File "/home/web/venv/lib/python3.10/site-packages/eventlet/green/ssl.py", line 476, in minimum_version
super(_original_sslcontext, _original_sslcontext).minimum_version.__set__(self, value)
File "/usr/lib/python3.10/ssl.py", line 604, in minimum_version
super(SSLContext, SSLContext).minimum_version.__set__(self, value)
File "/usr/lib/python3.10/ssl.py", line 604, in minimum_version
super(SSLContext, SSLContext).minimum_version.__set__(self, value)
File "/usr/lib/python3.10/ssl.py", line 604, in minimum_version
super(SSLContext, SSLContext).minimum_version.__set__(self, value)
[Previous line repeated 462 more times]
RecursionError: maximum recursion depth exceeded
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment