9 votes

Comment déboguer Trace/BPT trap : 5 ?

Je reçois un Trace/BPT trap: 5 lors de l'utilisation de la commande open :

$ open -a Emacs
Trace/BPT trap: 5
$ open -a Safari 
Trace/BPT trap: 5
$ open -a TextEdit
Trace/BPT trap: 5

Avez-vous des suggestions sur la façon dont je peux déterminer la cause de ce problème ?

Je comprends, d'après ma question précédente, qu'il s'agit de ne pas trouver une bibliothèque dynamique - mais laquelle et pourquoi ne trouve-t-elle pas la bibliothèque ?

A partir de l'interface graphique, tout fonctionne bien, mais est présent à partir de termnal ainsi que iTerm.

Le système : Macbook Pro Retina, Maverick

Des suggestions ?

INFORMATIONS COMPLÉMENTAIRES :

$ otool -L /Applications/TextEdit.app/Contents/MacOS/TextEdit
/Applications/TextEdit.app/Contents/MacOS/TextEdit:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 20.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 59.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.11.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1251.0.0)
/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)

et

$ otool -L /Applications/Emacs.app/Contents/MacOS/Emacs-10.7 
/Applications/Emacs.app/Contents/MacOS/Emacs-10.7:
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1138.47.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.3.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 53.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.21.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 41.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 833.25.0)

Je ne vois donc rien qui manque ?

1voto

Rainer Points 1616

Il semble que la variable PATH soit à l'origine du problème.

Avec iTerm, la variable PATH comprenait des caractères Unicode imprévisibles. J'ai trouvé la cause de ce problème dans une entrée que j'ai ajoutée au fichier /etc/paths.d (le chemin $HOME/bin ). Il contenait après le chemin un saut de ligne. En éditant le fichier avec nano, je n'ai pas réussi à supprimer ce caractère Unicode( ?), c'est-à-dire que le redémarrage n'a pas résolu le problème, mais j'ai alors utilisé Emacs et supprimé tous les caractères après le chemin (deux caractères affichés comme des espaces qui n'étaient pas visibles avec nano) et j'ai ajouté un RETURN.

J'ai redémarré et tout fonctionnait - et c'est toujours le cas.

J'espère que cela va continuer ainsi.

Merci pour votre contribution.

1voto

alidrongo Points 111

J'ai eu le même problème.

J'avais un fichier caché dans /etc/paths.d/ qui confondait ma variable PATH. J'ai supprimé le fichier et tout fonctionne normalement maintenant.

Pour information, le fichier était un fichier d'annulation généré par vim : .<original filename>.un~

0voto

oVo Points 1

En me basant sur la suggestion de @Rainer, j'ai découvert qu'une variable env contient un élément - et un dispositif de sécurité a tué ma commande (ce qui est raisonnable). Une fois que j'ai changé - à un , mon commandement procède sans être tué.

Aucun redémarrage n'est nécessaire.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X