github / github/copilot-cli

Bash tool PTY cleanup corruption causes complete failure after sustained use

未关闭
#1,239 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

On macOS 15.7.3. the bash tool in GitHub Copilot CLI experiences PTY subsystem corruption leading to complete tool failure after sustained use. The tool exhibits a dual bug: TTY device leakage AND partial cleanup failures resulting in "revoked" file descriptors. After approximately 42 hours of operation with ~150 bash tool calls, all bash commands fail with `pty_posix_spawn failed with error: 2 (No such file or directory)`.
Have experienced this on two successive long-running Copilot CLI sessions.

### Affected version

GitHub Copilot CLI 0.0.400.

### Steps to reproduce the behavior

1. Start Copilot CLI in server mode
2. Use bash tool programmatically (via SDK or manual commands)
3. Make 100-200+ bash tool invocations over 24-48 hours
4. Observe progressive resource accumulation:
- TTY devices leak (1 per invocation)
- File descriptors leak (6+ per invocation)
- "Revoked" FDs accumulate (cleanup failures)
- Memory grows continuously
5. Eventually all bash commands fail with: `pty_posix_spawn failed with error: 2`

### Expected behavior

1. PTY devices should be fully released after bash command completes
2. No "revoked" file descriptors (cleanup should succeed completely)
3. Stable memory usage for CLI process
4. Run indefinitely without resource exhaustion
5. Graceful degradation if resources become constrained
6. Clear error messages (not generic "error: 2")

### Additional context

_No response_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。