Skip to content

ECA hangs indefinitely on 503 LLM Overload errors during tool generation #274

@saulotoledo

Description

@saulotoledo

When the LLM provider returns a 503 Service Unavailable (Overloaded) error during the tool-calling/generation phase, the ECA server does not gracefully handle the failure. Instead of reporting a connection error or retrying, the UI displays Generating... and hangs indefinitely at the @cursor marker.

Environment

  • Process: /home/saulo/.emacs.d/eca/eca server --verbose --log-level debug
  • Workspace: ~/.emacs.d/
  • Mode: Agent

Steps to Reproduce
Set up a Gemini free model (free tier leads to the same more often). E.g., google/gemini-2.5-flash
Initiate a chat with the agent to perform a file edit (e.g., echo "hi" at @/home/saulo/.emacs.d/init.sh).

The LLM begins the response, but the provider returns a 503 error mid-stream.

Observe the chat buffer stuck at:

echo "hi" at @/home/saulo/.emacs.d/init.sh

I will add `echo "hi"` to the `init.sh` file.

Generating...
@cursor(init.org 1:1) @
stop

Attempting to run eca-chat-tool-call-accept-all results in no action.

Logs
The server logs show an unhandled 503 status code from the OpenAI endpoint:

[OPENAI-CHAT] 4952 Unexpected response status: %s body: %s 503 [{
  "error": {
    "code": 503,
    "message": "The model is overloaded. Please try again later.",
    "status": "UNAVAILABLE"
  }
}]
[OPENAI-CHAT] [4952] response-error {:message "LLM response status: 503 body: [...]"}

Expected Behavior
The ECA server should catch the 503 error, notify the user that the model is overloaded, and terminate the "Generating" state so the user can retry or change models.

Actual Behavior
The process hangs. The stop marker is reached in the buffer, but the internal state machine appears to be waiting for a completion that has been aborted by the server. No logs are produced after the 503 error when trying to interact with the tool calls.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions