10.15 Catalina Terminal bloqué au démarrage

maxime67150

Membre enregistré
9 Août 2020
8
6
40
Salut à toutes et à tous,

J'ai un petit souci avec mon terminal, dès que j'allume mon Mac et que je lance le terminal, j'ai ce message d'erreur qui apparaît après environ 30 secondes :

Bloc de code:
-zsh(649,0x1072d5dc0) malloc: can't allocate region

:*** mach_vm_map(size=18446744073151709184, flags: 100) failed (error code=3)

-zsh(649,0x1072d5dc0) malloc: *** set a breakpoint in malloc_error_break to debug

/Users/Admin/.zshrc:5: fatal error: out of memory

[Opération terminée]

Ensuite je ne peux plus rien faire dans le terminal, si je lance un terminal dans Visual Studio code, pareil j'ai un plantage.
J'ai l'impression que cette erreur est survenue à la suite de la commande "code" que j'utilise pour lancer Visual Studio code depuis le terminal.

Mon espace mémoire est très bon et vraiment je suis bloqué...

Je ne suis vraiment pas à l'aise et je ne sais même pas comment insérer un breakpoint comme indiqué dans l'erreur... Est-il possible d'utiliser un autre terminal si le principal est bloqué ?

Avez vous déjà eu ce genre de souci ?

Un grand merci à celles et ceux qui ont lu ce post et un immense merci d'avance à ceux qui m'aideront.

Bonne fin de journée
 
Bonjour bonjour !

Depuis macOS Catalina (10.15), le shell par défaut est zsh. Avant, c'était bash.
Et justement, j'ai l'impression que le soucis vient directement de zsh.

La ligne
Bloc de code:
/Users/Admin/.zshrc:5: fatal error: out of memory
semble indiquer que le problème vient du fichier de configuration de zsh. C'est-à-dire le fichier .zshrc dans le dossier de l'utilisateur Admin.

Tu pourrais donner le contenu de ce fichier ?
Pour cela, dans ton terminal tu entres la ligne suivante :
Bloc de code:
cat ~/.zshrc[/CODE
 et tu copies ici le retour !  :) 
(La commande [I]cat[/I] te permet de lire le contenu d'un fichier)
 
  • J’aime
Réactions: Human-Fly
Salut iV@l et merci pour ta réponse plus rapide que l'éclair,

Malheureusement je ne peux même pas exécuter cette commande cat ~/.zshrc dans le terminal car le terminal, après avoir mouliné et me retourner ce message d'erreur, est complètement bloqué. Je ne peux plus rien tapé dans ce terminal.

Je peux juste quitter et le relancer mais il m'affiche toujours la même erreur.

Peut-être pourrais-je avoir accès au fichier zshrc par un autre moyen ?
 
Un peu de challenge ...

Il va falloir :

1. Ouvrir TextEdit
2. Lorsque le finder s'affiche pour te proposer d'ouvrir un fichier déjà existant, aller dans le dossier perso (ici Admin)
3: Appuyer les touches Cmd + Shift + . (point) pour afficher les fichiers et dossiers cachés
4: Dans la liste, tu devrais voir le fichier .zshrc, il suffit d'appuyer dessus pour l'ouvrir
 
  • J’aime
Réactions: Human-Fly
Peut être faire un test très simple : essayer d'ouvrir le Terminal dans une autre session (même une session Invités), pour voir si le problème est le même.
 
Pour répondre à Sly54, oui vous avez raison, j'ai crée un nouvel utilisateur et le terminal marche normalement, mais cela ne me permet pas de comprendre l'erreur donc c'est pour cela que je viens vous solliciter .


Et concernant le fichier zshrc, j'ai réussi à y accéder, merci iV@l, et la je crois qu'il y a un gros souci.
Je vous ai seulement copié les premières lignes de code mais ces lignes se répètent continuellement j'ai l'impression dans une boucle infinie car je n'arrive pas au bout du fichier.....

Bloc de code:
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"

cat << EOF >> ~/.zshrc
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"
EOF# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"

Bizarre non ??
 
Dernière édition par un modérateur:
Effectivement, VSCode pose quelques soucis ...

Il faudrait supprimer toutes ces lignes pour retrouver un zsh fonctionnel !
Ensuite il faudra redémarrer la session pour que les changements soient pris en compte.
 
Toutes les lignes de type

Bloc de code:
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"
ou
Bloc de code:
cat << EOF >> ~/.zshrc
# Add Visual Studio Code (code)
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"
EOF#

oui.

Visiblement l'installation de la commande code pose quelques soucis sur mac.

Si tu souhaites lancer VSCode depuis ton terminal, je te propose cet alias :
alias vscode="open -a 'Visual Studio Code' &"
à mettre dans ton fichier .zshrc.

Il faut ensuite lancer la commande source ~/.zshrc pour que l'ajout soit pris en compte.

Après ça, la commande vscode permettra d'ouvrir... VSCode ;)
 
  • J’aime
Réactions: Human-Fly
Problème résolu,

iV@l, un grand merci. J'ai donc supprimer tous le contenu de ce fichier, il est maintenant vide. :)

J'ai redémarré et maintenant le terminal remarche comme avant, c'est génial. ;)

Je vais tout simplement ouvrir Visual Studio code normalement sa ira très bien.

Maintenant pour en tirer les leçons, lorsque l'on rencontre des problèmes de terminal, il faut aller chercher dans les fichiers correspondants et tout vérifier?

Quand on est pas trop à l'aise avec son mac c'est pas évident mais heureusement la communauté est là!

J'espère pouvoir à l'avenir aider quelqu'un comme vous m'avez aider, merci à vous :coucou:

Si tu souhaites lancer VSCode depuis ton terminal, je te propose cet alias :
alias vscode="open -a 'Visual Studio Code' &"
à mettre dans ton fichier .zshrc.

Il faut ensuite lancer la commande source ~/.zshrc pour que l'ajout soit pris en compte.

Après ça, la commande vscode permettra d'ouvrir... VSCode ;)

Ok super je fais ça !!
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Human-Fly et iV@l
Parfait !

Maintenant pour en tirer les leçons, lorsque l'on rencontre des problèmes de terminal, il faut aller chercher dans les fichiers correspondants et tout vérifier?
Le terminal est ton ami, et il te donne toujours des indices. Avec le temps, ça deviendra plus évident.
Ici la petite ligne qui te donnait une piste était /Users/Admin/.zshrc:5: fatal error: out of memory, spécifiant qu'il fallait aller chercher du côté du fichier /Users/Admin/.zshrc.

MacOS propose pleins d'outils extra en ligne de commande.
Ici je t'ai proposé la commande open pour ouvrir une application, un fichier, etc. Mais elles sont nombreuses.
Si un jour tu as 10 minutes devant toi, je te conseilles de regarder cet article [Eight Terminal Utilities Every OS X Command Line User Should Know] ;)
 
  • J’adore
  • J’aime
Réactions: baron et Human-Fly
Parfait !


Le terminal est ton ami, et il te donne toujours des indices. Avec le temps, ça deviendra plus évident.
Ici la petite ligne qui te donnait une piste était /Users/Admin/.zshrc:5: fatal error: out of memory, spécifiant qu'il fallait aller chercher du côté du fichier /Users/Admin/.zshrc.

MacOS propose pleins d'outils extra en ligne de commande.
Ici je t'ai proposé la commande open pour ouvrir une application, un fichier, etc. Mais elles sont nombreuses.
Si un jour tu as 10 minutes devant toi, je te conseilles de regarder cet article [Eight Terminal Utilities Every OS X Command Line User Should Know] ;)

Je viens de le lire, effectivement c'est vraiment intéressant. Mon anglais n'est pas au top mais j'ai pu comprendre ces lignes de commandes.

Ça donne envie de toutes les connaître, dernière petite question :

Tu m'a donné un raccourci pour ouvrir vs code, ce script aurait pu être codé dans n'importe quel fichier ? Ou alors c'est spécifique au fichier .zshrc ?

Car je ne comprend pas trop leur intérêt et leur fonction, au fichier zshrc et aussi au fichier zsh ?
 
Je pense qu'il faut commencer par différencier ton Terminal et ton Shell.

Le terminal, comme l'app terminal d'Apple ou iTerm 2 (très bon), est le logiciel dans dans lequel tu entres des commandes, regarde le résultat...
Le shell est le programme qui interprète les commandes que tu entres. Donc un terminal fait tourner un shell.
Il existe pleins de shell : bash, dash, zsh, etc. Chaque shell a ses spécificités. Par exemple, Dash est un shell très léger et rapide. Zsh propose pleins d'outils extra comme l'auto-complétion : je tape doc/prog/c++ et Zsh remplace par cd Documents/programmation/c++.

Le fichier .zshrc et un fichier de configuration.
MacOS dérive d'Unix, tu peux retrouver tous les OS qui dérivent d'Unix ici : [Diagramme UNIX].
Il y a une "règle" d'Unix qui dit que la configuration des programmes doit se faire via un fichier texte, tout simplement. Et c'est ce qu'on trouve ici avec le fichier .zshrc.
C'est dont un fichier texte pour configurer zsh (ton shell). Il existe le même genre de chose pour Bash avec .bashrc.
Il existe deux fichiers zshrc sur ton mac. Le premier, tu le connais, est à l'adresse ~/.zshrc (~ signifie répertoire home) et concerne ta configuration perso. Le deuxième est à l'adresse /etc/zshrc et concerne tous les utilisateurs.
D'ailleurs, etc signifie Editable Text Configuration et contient des fichiers texte de configuration de plusieurs programmes.

La commande alias nom_de_alias="ma commande" permet de créer des alias pour un shell. En l'ajoutant à ton fichier zshrc, tu personnalise Zsh.

J'utilise Zsh depuis plusieurs années, et pour avoir une bonne configuration j'ai installé oh-my-zsh qui permet d'avoir un affichage plus sympa et de personnaliser facilement le shell : [Oh My Zsh].

Voilà :)
 
Dernière édition:
  • J’adore
Réactions: Human-Fly
Merci iV@l pour cette réponse claire et intéressante. Ça me permet de déjà mieux comprendre le fonctionnement de tout ça.

C'est vrai que je comprends pas tout encore lol

J'ai souvent la tête dans le guidon et la cette erreur que j'ai rencontré avec le terminal va me permettre d'approfondir le sujet !!

Merci encore pour ton aide :coucou: :merci:
 
  • J’aime
Réactions: Human-Fly et iV@l