Crash: Process force-terminated (signal 9) during Thinking phase on Termux/Android — no assertion failure — v1.0.32
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
## 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)
貢獻指南
研究方向
未指定原始檔案或測試。使用列出的 MCP 伺服器,在 Termux/proot-distro 上重現回報的 v1.0.32 序列,接著檢查 CLI 如何處理啟動延遲,以及 signal-9 終止前後的 Thinking 階段。完成的標準是識別終止路徑,並針對此情境加入 coverage,對其進行文件說明或修正。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- android, node.js, shell
- 領域
- cli, mobile-dev
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 需要釐清
- 新手友好度
- 42/100