Server process crashes when OCI config exists but OCI GenAI endpoint is unreachable.
2026-Mar-09 22:25:01 (v2.0.4.dev7+g2ffd076d4) - INFO - (api.utils.oci): OCI Authentication as Standard
2026-Mar-09 22:25:01 (v2.0.4.dev7+g2ffd076d4) - INFO - (api.utils.oci): Checking Region: eu-amsterdam-1; Compartment: ocid1.compartment.oc1..... for GenAI services
INFO: 127.0.0.1:51361 - "GET /v1/oci/genai/DEFAULT HTTP/1.1" 500 Internal Server Error
Exception in ASGI application
Traceback (most recent call last):
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connection.py", line 179, in _new_conn
conn = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/util/connection.py", line 100, in create_connection
raise err
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/util/connection.py", line 90, in create_connection
sock.connect(sa)
TimeoutError: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connectionpool.py", line 721, in urlopen
httplib_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connectionpool.py", line 409, in _make_request
self._validate_conn(conn)
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connectionpool.py", line 1066, in _validate_conn
conn.connect()
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connection.py", line 368, in connect
self.sock = conn = self._new_conn()
^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connection.py", line 184, in _new_conn
raise ConnectTimeoutError(
oci._vendor.urllib3.exceptions.ConnectTimeoutError: (<oci.base_client.OCIConnection object at 0x15b6d0210>, 'Connection to generativeai.eu-amsterdam-1.oci.oraclecloud.com timed out. (connect timeout=1)')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/lib/python3.11/site-packages/oci/_vendor/requests/adapters.py", line 447, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/connectionpool.py", line 807, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/urllib3/util/retry.py", line 599, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
oci._vendor.urllib3.exceptions.MaxRetryError: OCIConnectionPool(host='generativeai.eu-amsterdam-1.oci.oraclecloud.com', port=443): Max retries exceeded with url: /20231130/models?compartmentId=ocid1.compartment.oc1....&lifecycleState=ACTIVE&sortOrder=ASC&sortBy=displayName (Caused by ConnectTimeoutError(<oci.base_client.OCIConnection object at 0x15b6d0210>, 'Connection to generativeai.eu-amsterdam-1.oci.oraclecloud.com timed out. (connect timeout=1)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/lib/python3.11/site-packages/oci/base_client.py", line 882, in request
response = self.session.request(
^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/requests/sessions.py", line 536, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/requests/sessions.py", line 652, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/_vendor/requests/adapters.py", line 515, in send
raise ConnectTimeout(e, request=request)
oci._vendor.requests.exceptions.ConnectTimeout: (MaxRetryError("OCIConnectionPool(host='generativeai.eu-amsterdam-1.oci.oraclecloud.com', port=443): Max retries exceeded with url: /20231130/models?compartmentId=ocid1.compartment.oc1....&lifecycleState=ACTIVE&sortOrder=ASC&sortBy=displayName (Caused by ConnectTimeoutError(<oci.base_client.OCIConnection object at 0x15b6d0210>, 'Connection to generativeai.eu-amsterdam-1.oci.oraclecloud.com timed out. (connect timeout=1)'))"), 'Request Endpoint: GET https://generativeai.eu-amsterdam-1.oci.oraclecloud.com/20231130/models See https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_troubleshooting.htm for help troubleshooting this error, or contact support and provide this full error message.')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 410, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/fastapi/applications.py", line 1134, in __call__
await super().__call__(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/applications.py", line 107, in __call__
await self.middleware_stack(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__
await self.middleware_stack(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/routing.py", line 736, in app
await route.handle(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle
await self.app(scope, receive, send)
File "/lib/python3.11/site-packages/fastapi/routing.py", line 119, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/lib/python3.11/site-packages/fastapi/routing.py", line 105, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/fastapi/routing.py", line 424, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/fastapi/routing.py", line 312, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sureshnagoosah/ai-optimizer/src/server/api/v1/oci.py", line 91, in oci_list_genai
all_models = utils_oci.get_genai_models(oci_config, regional=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sureshnagoosah/ai-optimizer/src/server/api/utils/oci.py", line 252, in get_genai_models
response = client.list_models(
^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/generative_ai/generative_ai_client.py", line 4116, in list_models
return retry_strategy.make_retrying_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/retry/retry.py", line 238, in make_retrying_call
return func_ref(*func_args, **func_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/base_client.py", line 646, in call_api
response = self.request(request, allow_control_chars, operation_name, api_reference_link)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/circuitbreaker.py", line 146, in wrapper
return self.call(function, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/circuitbreaker.py", line 188, in call
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.11/site-packages/oci/base_client.py", line 923, in request
raise exceptions.ConnectTimeout(e)
oci.exceptions.ConnectTimeout: (MaxRetryError("OCIConnectionPool(host='generativeai.eu-amsterdam-1.oci.oraclecloud.com', port=443): Max retries exceeded with url: /20231130/models?compartmentId=ocid1.compartment.oc1....&lifecycleState=ACTIVE&sortOrder=ASC&sortBy=displayName (Caused by ConnectTimeoutError(<oci.base_client.OCIConnection object at 0x15b6d0210>, 'Connection to generativeai.eu-amsterdam-1.oci.oraclecloud.com timed out. (connect timeout=1)'))"), 'Request Endpoint: GET https://generativeai.eu-amsterdam-1.oci.oraclecloud.com/20231130/models See https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_troubleshooting.htm for help troubleshooting this error, or contact support and provide this full error message.')
2026-Mar-09 22:25:56 (v2.0.4.dev7+g2ffd076d4) - INFO - (mcp.server.streamable_http_manager): StreamableHTTP session manager shutting down
2026-Mar-09 22:25:56 (v2.0.4.dev7+g2ffd076d4) - INFO - (launch_server): Cleaning up leftover processes...
Checklist
Summary
Server process crashes when OCI config exists but OCI GenAI endpoint is unreachable.
Steps To Reproduce
Expected Behavior
Gracefully fail to load OCI models and continue
Current Behavior
Is this a regression?
Debug info
Additional Information
No response