bug: agent stops responding after multiple concurrent tabs

Abierto
#63 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python, typescript
Área
api, backend, frontend

Línea de trabajo

Start with the deployed reproduction using three browser tabs, then inspect main.py, especially BoundedMemorySaver(max_threads=200) and the streaming request path. Check whether concurrent sessions, connection limits, rate limits, or unsurfaced backend errors explain the hang; done means independent tabs receive responses, and resource failures show an error instead of waiting silently.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug

The agent stops responding when multiple browser tabs are open against the deployed app. On the third tab, the agent hangs after the user sends a message — no response, no streaming indicator, no error.

Steps to reproduce

  1. Open the deployed app in tab 1, send a message (e.g. "visualize a musical chart") — works fine
  2. Open tab 2, send a message — works fine
  3. Open tab 3, send a message (e.g. "I want to understand the difference between BFS and DFS...") — agent never responds

The UI shows the user messages and suggestion chips ("Try these Prompts") but no assistant response arrives. No loading indicator, no error state.

Screenshot

![Production screenshot showing 3 messages sent with no agent response](screenshot attached in issue)

The chat shows:

  • "visualize a musical chart"
  • "Create a 3D animation of a sphere turning into an icosahedron..."
  • "I want to understand the difference between BFS and DFS. Create an interactive comparison on a node graph."

None received a response. Suggestion chips are visible but the agent is unresponsive.

Possible causes

  1. Thread/session exhaustion — The agent uses BoundedMemorySaver(max_threads=200) in main.py. Multiple tabs may be creating separate threads that exhaust the pool or hit a concurrency limit.
  2. WebSocket/SSE connection limit — The browser or server may be hitting a connection limit for streaming responses.
  3. LangGraph checkpoint contention — Multiple concurrent sessions writing to the in-memory checkpointer could cause deadlocks.
  4. OpenAI API rate limiting — Multiple concurrent requests to GPT-5.4 could hit rate limits with no visible error surfaced to the user.
  5. Missing error handling — The frontend may not surface backend errors, making it look like the agent is "thinking" forever.

Expected behavior

Each tab should operate as an independent session. If a resource limit is reached, the user should see an error message rather than silent failure.

Environment

  • Deployed on Render
  • Agent: LangGraph + CopilotKit middleware
  • Model: GPT-5.4 via langchain_openai
  • Checkpointer: BoundedMemorySaver(max_threads=200)
Lenguaje dominante
TypeScript
Estrellas
1.6k
Forks
202
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CopilotKit/OpenGenerativeUI

Todos los issues de CopilotKit/OpenGenerativeUI

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.