Runaway copilot-file-search thread consumes CPU and unbounded disk while session is idle
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- linux
- Domínio
- cli, observability, performance
Direção de pesquisa
Comece reproduzindo o comportamento de uma sessão ociosa e inspecione a atividade de copilot-file-search junto com os arquivos por processo em ~/.copilot/logs/. Verifique se a travessia se repete e se os logs crescem sem limites. Considera-se concluído quando as sessões ociosas interrompem ou limitam a indexação, os loops de travessia terminam e os logs de diagnóstico têm um limite ou são rotacionados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Version: GitHub Copilot CLI 1.0.83-3 on Ubuntu 24.04
Summary
While a copilot --yolo session reports its status as idle, an internal copilot-file-search thread can continue running indefinitely, pinning a CPU core and writing an unbounded per-process diagnostic log under ~/.copilot/logs/ until the disk fills to 100%.
Observed behavior
- The session's foreground process stays alive and its reported status is
idle, but the process is not actually idle at the OS level. - The internal
copilot-file-searchthread crawls/indexes the working directory at ~50% CPU and does not stop on its own. - The per-process diagnostic log in
~/.copilot/logs/grows continuously — observed rates around 8 MiB per 10 seconds — with no apparent size cap or rotation. Individual logs reached 6–22 GB before intervention. - On large or deeply nested directory trees, the crawler appears to get stuck (repeated traversal, symlink-loop-like behavior) rather than completing and going quiet.
Impact
- Root filesystem exhaustion (reached 100% used in the worst case), which affects the whole machine, not just the session.
- Sustained CPU consumption for an ostensibly idle session.
Reproduced
Seen multiple times in a 24h span, all with the identical signature: idle status + active copilot-file-search thread + a continuously growing diagnostic log under ~/.copilot/logs/. Killing the process is the only thing that stops it; the log then has to be deleted manually to reclaim space.
Expected behavior
- File-search/indexing should terminate (or throttle) when the session is idle.
- The crawler should detect and break traversal loops instead of looping indefinitely.
- Diagnostic logs should be size-capped or rotated so a single session cannot exhaust the disk.
- Linguagem predominante
- Shell
- Estrelas
- 11.2k
- Forks
- 1.9k
- Merge médio
- 14h 16min
- PRs com merge (30d)
- 6
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/copilot-cli
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
github/copilot-cli#4909 ·
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/copilot-cli#4906 ·
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/copilot-cli#4729 ·
-
area:sessions
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/copilot-cli#4712 ·
Todas as issues de github/copilot-cli
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
community-scripts/ProxmoxVE#17425 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
danielmiessler/LifeOS#2218 ·
-
agent-research-recommend agent-review-finding
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
jordansmall/spindrift#3714 · 1 comentário ·