github / github/copilot-cli

Runaway copilot-file-search thread consumes CPU and unbounded disk while session is idle

Ouverte
#4,710 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area:sessions area:tools
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

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-search thread 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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le comportement d’une session inactive et examinez l’activité de copilot-file-search ainsi que les fichiers par processus sous ~/.copilot/logs/. Vérifiez si le parcours se répète et si les journaux augmentent sans limite. C’est terminé lorsque les sessions inactives arrêtent ou limitent l’indexation, que les boucles de parcours se terminent et que les journaux de diagnostic sont plafonnés ou soumis à une rotation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
linux
Domaine
cli, observability, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.