Le code VS provoque le gel aléatoire et complet des versions 17.10, 18.04

16

Veuillez lire : Voir le dernier bit. Je ne pense pas que ce soit un problème lié à Ubuntu, mais plutôt à VS Code.

Récemment, sous 17.10 et 18.04 (je viens de mettre à jour aujourd'hui), Ubuntu se bloquera complètement et de manière aléatoire. Je ne peux pas déplacer le curseur ni utiliser le clavier. Naturellement, j'ai essayé de passer à une session ATS sans succès. À chaque fois, je dois recourir à SysRq+ REISUB, ce qui n'est (évidemment) pas préféré.

J'ai essayé de changer de pilote graphique, sur la théorie que cela pourrait être cela. J'utilisais à l'origine le pilote open source nVidia et je suis passé en mode propriétaire en vain. J'utilise actuellement le pilote open source.

Tout ce que j'ai généralement ouvert est Firefox (pas une tonne d'onglets chargés ) et VS Code, avec tout au plus quelques fichiers et un terminal ouvert.

Des idées?

Mise à jour: Les journaux du système ne montrent aucune indication de quoi que ce soit , encore moins quelque chose de mal. Je ne sais pas si cela est lié, mais parfois (et surtout après le démarrage) les programmes prennent beaucoup de temps (> 5-10 secondes), même les programmes en ligne de commande.

Encore une autre mise à jour! - Même avec toutes les extensions GNOME désactivées, il se bloquait toujours. J'ai essayé XFCE, qui plantait toujours.

Résumé : Ubuntu se bloque complètement à des moments apparemment aléatoires, ne laissant aucune trace dans les journaux, et n'est lié à aucun environnement de bureau spécifique ni à aucune extension GNOME.

(probablement finale) mise à jour: je suis convaincu que c'est un problème avec VS Code. J'exécute GNOME depuis des jours, avec d'autres applications Electron ouvertes (Slack, Pulse, etc.) et je n'ai pas eu un seul gel. J'ai DM'd VS Code sur Twitter, et je déposerai probablement un rapport de bogue car ils n'ont pas encore répondu.

jhpratt GOFUNDME RELICENSING
la source
1
Commencez avec vos journaux. C'est beaucoup plus facile que de nettoyer avec des pilotes vidéo.
user535733
@ user535733 Quel journal spécifiquement?
jhpratt GOFUNDME RELICENSING
Salut jhpratt, pour moi a travaillé ce askubuntu.com/a/870235/790920 .
abu_bua
@jhpratt Je suggère de rechercher méthodiquement TOUS vos journaux dans / var / log. Il devrait apparaître assez rapidement quels sont ceux qui sont pertinents et ceux qui ne le sont pas. Vous êtes, bien sûr, à la recherche des quelques secondes avant qu'un gel ne se produise, et pas seulement à la lecture fastidieuse de tout ... donc cela aide si vous gardez une trace de l'heure exacte d'un incident.
user535733
1
journalctl -b -1 -xevous montrera les journaux à la fin du démarrage précédent. De combien de RAM disposez-vous? Combien de swap? free;swaponvous le dira.
waltinator

Réponses:

8

Il s'avère donc que ce n'est pas spécifique à Ubuntu, mais je le publierai ici de toute façon pour référence future.

Apparemment, même si j'ignore certains fichiers en utilisant le files.excludeparamètre (notamment le ./node_modulesrépertoire), VS Code surveille toujours ces fichiers pour les changements.

Pour résoudre cela, copiez simplement la liste de files.excludeà files.watcherExclude. Cela empêchera VS Code de rechercher les milliers de fichiers qui se trouvent dans node_modulesou d'autres répertoires similaires. De cette façon, il laissera un peu de RAM pour Chrome engloutissent.

jhpratt GOFUNDME RELICENSING
la source
salut @jhpratt sont ces changements que vous faites référence aux changements à effectuer dans le settings.jsonfichier VS Code ?
cryanbhu
1
@cryanbhu Oui, c'est exact. À ma connaissance, ces informations sont également exactes.
jhpratt GOFUNDME RELICENSING
2
Je peux voir que node_modulesc'est en dessous watcherExcludemais je suis toujours confronté au même problème.
Mohammad Faisal
**/.git/objects/**, **/.git/subtree-cache/**Et **/node_modules/**sont inclus par défaut dansfiles.watcherExclude
Noraj
3

Je suis juste tombé sur ça. Au lancement, dans un grand projet, mon système se figeait après environ 20 secondes et ne répondait plus (Ubuntu 18.04). L'exécution de htop lors du lancement de VSCode a montré qu'il a fallu tous les cœurs à 100% (i7-8700K), mangé toute la mémoire (16 Go), puis le swap. Le gel est survenu quelques instants plus tard. Cela se produisait à cause d'une mauvaise extension, dans mon cas c'était CSS Peek.

Essayez donc de lancer vscode avec les extensions désactivées (code --disable-extensions) et voyez si cela se produit toujours. S'il ne trouve pas l'extension défectueuse et l' envoie en enfer .

J'ai eu des gels complets aléatoires et j'ai passé pas mal d'heures à essayer de comprendre pourquoi. Au redémarrage, les journaux n'étaient vraiment pas utiles. Au début, je pensais que c'était le pilote nvidia, mais non - juste une extension VSCode.

neculaesei
la source
3

J'ai eu le même problème dans mon Ubuntu 16.04.

J'ai désactivé git.autorefresh dans les paramètres , puis cela fonctionne parfaitement et en douceur

Kumar Immanuel
la source
1
M'a également aidé, merci.
ivan.ukr
Ce paramètre est désactivé par défaut.
noraj
2

J'ai eu le même problème. Pour corriger cela pour un projet particulier, vous voudrez mettre à jour le .vscode/settings.jsonpour ressembler à ceci:

{
  "python.pythonPath": "/usr/bin/python3",
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/node_modules": true,
    "**/.firebase": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true
  }
}
Rudolf Olah
la source
1
ces 3 files.watcherExcludesont la valeur par défaut dans le code 1.42.1
noraj
1

J'ai rencontré le même problème. Finalement, je me suis rendu compte que dans mon cas, le problème venait à manquer de mémoire (j'ai 8 Go de RAM et seulement 1 Go de partition de swap sur le disque). J'ai corrigé cela en allouant de l'espace de swap supplémentaire en utilisant le fichier dans mon répertoire racine:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

cela activera temporairement 8 Go supplémentaires de swap pour votre système. Si cela peut vous aider, vous pouvez lire ici des instructions supplémentaires pour activer constamment de nouveaux échanges.

Une autre option est: ajouter de la RAM physiquement ou ajouter / agrandir une partition de swap.

J'ai utilisé un nouveau swap en tant que fichier car j'ai un système crypté luks + lvm et le redimensionnement de la partition de swap existante est trop compliqué et risqué dans mon cas.

PS j'ai eu Ubuntu 18.04

Artem S.
la source
Personne ne dépensera probablement de temps / argent pour augmenter la RAM à cause d'un "éditeur de texte".
matousc
@matousc vous avez bien raison, et à cause de cela, c'est une deuxième option. Tout d' abord est d'ajouter échange
Artem S.
@matousc VS Code est un IDE à part entière ainsi qu'un éditeur de texte.
prooffreader
1

J'ai également souffert de plantages aléatoires du système lors de l'exécution de VSC. J'ai même essayé de commencer sans extensions, ce qui ne m'a pas aidé du tout. Quelques fois, mon système a gelé au démarrage de VSC.

Cependant, j'ai vérifié les journaux et constaté que ces plantages pouvaient être en corrélation avec le pilote graphique (NVidia GTX 660).

Solution dans mon cas: Passer de Nouveau à un pilote propriétaire (j'ai choisi le métapaquet)

Btw: Utilisation d'Ubuntu 18.04

gordon
la source