[Bug]: Pi thread dies ("Pi process exited unexpectedly") on resume after idle release or mid-thread model switch
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 77/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- backend, observability
Línea de trabajo
Empieza en provider-pi/src/server/adapter.ts, en las rutas de salida inesperada cerca de las líneas 2145 y 2161. Después, inspecciona rpc.ts cerca de las líneas 352–353 para ver cómo se registra stderr del proceso hijo. Reproduce un reintento de reanudación o un cambio de modelo fallido y comprueba los detalles de salida del proceso hijo. La tarea estará lista cuando las salidas inesperadas registren el código de salida y texto útil de stderr, como el fragmento final, para poder diagnosticar la causa.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened
A pi thread (provider opencode-go, model deepseek-v4.1-flash) fails the next turn instantly (~30–200 ms, before any API call) with Pi process exited unexpectedly. (transport_error) in two cases:
- Resume after idle release. After the thread has idled past the 30-minute idle release (
ProviderSessionManager.ts:57,DEFAULT_IDLE_TIMEOUT_MS), the next turn sent via MCPt3_thread_sendrespawns pi and resumes the session withswitch_session(provider-pi/src/server/adapter.ts:2217-2218). Pi dies within 0.08 s. This happened twice on different threads (session file ~1.48 MB). - Model switch on an existing thread. Switching an active thread from
deepseek-v4-protoopencode-go/deepseek-v4.1-flashin the UI produced amodel_changeevent, and the next turn errored about 0.2 s later.
Counter-example: the same thread, with a smaller session (~566 KB), resumed fine from the UI after about 1 h 49 min idle. This points to resume or switch_session fragility (session size or a model change) rather than idle time alone.
Workaround: a new thread on the same worktree, started on the final model from the beginning, works for hours.
Why the cause is hard to confirm
adapter.ts:2145 and :2161 raise the error, but rpc.ts:352-353 logs only the length of the pi child's stderr, not its content, and the exit code is not logged. Could the adapter log the pi exit code and the stderr text (or its tail) on unexpected exit?
Environment
- T3 Code: provider-pi, macOS
- pi 1.5.0, opencode 1.18.25
- Provider
opencode-go, modeldeepseek-v4.1-flash - Threads started through T3 MCP (
t3_thread_launch/t3_thread_send) in a per-card worktree
Related
#26312 (pi fails before RPC after rollback), #12931 (resume of long pi thread), #21208
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 10 h 25 min
- PR fusionados (30 d)
- 113
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pingdotgg/t3code
-
[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regionsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Opening a file on Windows spawns powershell -EncodedCommand, which AVG and Avast block as malwarePosiblemente ocupada @juliusmarminge la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
pingdotgg/t3code#30954 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs more info
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
pingdotgg/t3code#30685 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
pingdotgg/t3code#30228 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: ACP sign-in replaces the agent's error message with a generic onePosiblemente ocupada @iScabrous la tomó hace 2 días. Abiertobug needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
Add: Upin & Ipin Channel HDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
S: triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
iot client
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Open-Locker/Open-Locker#365 ·
Los mantenedores suelen responder en 1 día
-
bug enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
inmanta/web-console#7787 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
shoelace-style/webawesome#2979 ·
Los mantenedores suelen responder en 1 día