Crash: Process force-terminated (signal 9) during Thinking phase on Termux/Android — no assertion failure — v1.0.32
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 6
Description
## Description
On **GitHub Copilot CLI v1.0.32**, the process is consistently killed with `[Process completed (signal 9)]` on Termux/Android during the **active "Thinking" phase** — after the session has fully started, MCP servers have reconnected, the user submitted a prompt, and the model began processing.
This is **distinct from #1002** (which showed a `uv__io_poll: Assertion 'errno == EINTR' failed` error before termination). These new crashes produce **no assertion failure or error output** — the process is simply killed mid-response.
## Environment
| Component | Value |
|---|---|
| **Copilot CLI version** | 1.0.32 |
| **Platform** | Termux (proot-distro) on Android |
| **Architecture** | aarch64 |
| **Battery at time of crash** | 26–72% |
## Consistent Crash Sequence (3 sessions, 2026-04-18, 05:24–05:26 SAST)
```
! MCP server 'sequential-thinking' is taking longer than expected to connect.
! MCP server 'memory' is taking longer than expected to connect.
! MCP server 'github-mcp-server' is taking longer than expected to connect.
● Environment loaded: 1 custom instruction, 5 MCP servers, 1 agent, 4 plugins, 17 skills
● MCP Servers reloaded: 8 servers connected
> [user prompt submitted]
● Thinking (Esc to cancel)
~/development
>
[Process completed (signal 9) - press Enter]
```
## Key Observations
1. **Multiple MCP servers delay on every startup** — `sequential-thinking`, `memory`, `github-mcp-server` all report connection delays
2. **Session fully loads** — 8 servers connected before the crash
3. **Crash happens during "Thinking"** — the model has begun processing; terminated every time before a response is produced
4. **No assertion failure** — unlike #1002, there is no `uv__io_poll` or libuv error preceding the termination
5. **Reproducible** — 3 separate sessions within minutes, same outcome
## Distinction from #1002
| | #1002 | This issue |
|---|---|---|
| **CLI version** | 0.0.384 | 1.0.32 |
| **Error before termination** | `uv__io_poll: Assertion 'errno == EINTR' failed` | None |
| **Trigger point** | During interactive session use | During "Thinking" phase (mid-response) |
| **MCP delays at startup** | Not reported | Consistently present |
## Suspected Cause
Multiple concurrent Node.js MCP server child processes launch during startup, then an additional memory/CPU spike occurs when LLM streaming begins during "Thinking". The Android OOM manager or Termux watchdog appears to issue a forced termination against the main Copilot CLI process, with no graceful shutdown path triggered.
## Related Issues
- #1002 — Earlier Termux forced termination with libuv assertion failure (different trigger, different version)
- #2609 — Stale `inuse.*.lock` / lingering session state (separate issue, noted for context only)
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Aucun fichier source ni test n’est indiqué. Reproduisez la séquence v1.0.32 signalée sur Termux/proot-distro avec les serveurs MCP listés, puis examinez comment la CLI gère les délais de démarrage et la phase Thinking autour d’une terminaison par signal-9. Le travail est considéré comme terminé lorsque le chemin de terminaison est identifié et documenté ou corrigé, avec une couverture pour ce scénario.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, node.js, shell
- Domaine
- cli, mobile-dev
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 42/100