Je cherche à compiler et à utiliser une bibliothèque C partagée en tant que module python et je constate que selon le DYLD_LIBRARY_PATH
, mon code fonctionne ou plante avec un message d'erreur cryptique.
24 juil 02:44:44 master
$ DYLD_LIBRARY_PATH=/opt/local/lib python -c 'import opengm'
OKAY
24 juil 02:45:41 master
$ DYLD_LIBRARY_PATH= python -c 'import opengm'
python(86214,0x7fff70ccdcc0) malloc: *** error for object 0x7fff70177500: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap
J'ai essayé d'inspecter manuellement quelles bibliothèques sont communes entre /usr/lib
et /usr/local/lib
et /opt/local/lib
mais je n'ai pas été capable de trouver la cause du plantage. Une façon de découvrir la cause du problème sera de déterminer quelles fichiers dylib
les deux processus utilisent ? Je n'ai pas réussi à le découvrir en utilisant opensnoop
ou dtruss
mais peut-être que j'utilisais mal ces outils.
Comment puis-je découvrir la cause de ce plantage ?
AVIS DE NON-RESPONSABILITÉ : J'ai posé la même question sur SO il y a 2 jours, où elle n'a reçu aucune réponse et seulement 8 vues.