Come eseguire il debug di Trace / BPT trap: 5?

7

Viene visualizzato un errore Trace/BPT trap: 5 quando si utilizza il comando open:

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

Qualche suggerimento su come posso restringere ciò che sta causando questo?

Capisco dalla mia precedente domanda, che ha a che fare con il non trovare una libreria dinamica - ma quale e perché non trova la libreria?

Fron la GUI, tutto funziona bene, ma è presente sia da termnal che da iTerm.

Sistema: Macbook Pro Retina, Maverick

Qualche suggerimento?

INFORMAZIONI AGGIUNTIVE:

$ 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)

e

$ 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)

quindi non riesco a vedere nulla mancante?

    
posta Rainer 10.12.2013 - 15:00
fonte

3 risposte

1

Sembra che la variabile PATH stesse causando il problema.

Utilizzando iTerm, la variabile PATH includeva caratteri Unicode imprevedibili. L'ho rintracciato in una voce che ho aggiunto alla directory /etc/paths.d (il percorso $HOME/bin ). Conteneva dopo il percorso un avanzamento di riga. Modificando il fikle con nano, non sono riuscito a eliminare questo carattere Unicode (?), Cioè il riavvio non risolveva il problema, ma ho usato quindi Emacs e cancellato tutti i caratteri dopo il percorso (due caratteri mostrati come spazi che non erano visibili usando nano) e aggiunto un RITORNO.

Riavviato e funzionava, e lo è ancora.

Spero che rimanga così.

Grazie per il tuo contributo.

    
risposta data 12.12.2013 - 11:25
fonte
2

Ho il sospetto che ora vedrai il problema riapparire. La correzione che hai descritto ha avuto un effetto collaterale che ha finito per risolvere il problema.

Credo che il problema abbia a che fare con il contesto di sicurezza in cui la shell del tuo terminale stava tentando di avviare programmi che tentano di connettersi al sistema di finestre.

La mia soluzione a questo problema, ogni volta che si è verificato dalle mie shell Terminal.app, è stata quella di utilizzare lo spazio dei nomi reattach-to-user ( link ). Ad esempio, al prompt di bash:

tk-mbp:~ tommy$ wstorm Projects/my-webapp
Trace/BPT trap: 5
tk-mbp:~ tommy$ exec reattach-to-user-namespace -l bash
(reading ~/.bash_profile)
tk-mbp:~ tommy$ wstorm Projects/my-webapp
tk-mbp:~ tommy$ # that worked...

Quando hai riavviato come parte della correzione che hai segnalato, ha avuto l'effetto collaterale della creazione di un processo shell la cui connessione al contesto di sicurezza della tua sessione di login con finestra non era obsoleta, come era stato in precedenza quando i comandi stavano fallendo con "Trace / BPT trap: 5". Quindi, anche se ci potrebbe essere stato un vero problema con l'impostazione PATH, credo che fosse l'aggiornamento dell'ambiente di processo della shell che era la vera soluzione.

FWIW, ho uno spazio dei nomi di riattacco-utente installato tramite Homebrew.

    
risposta data 30.04.2014 - 06:43
fonte
1

Ho avuto lo stesso problema.

Ho avuto un file nascosto in /etc/paths.d/ che stava confondendo la mia variabile PATH. Ho cancellato il file e tutto ora funziona normalmente.

FYI il file era un file di annullamento generato da vim: .<original filename>.un~

    
risposta data 28.12.2015 - 12:40
fonte

Leggi altre domande sui tag