Python Django httpd – pid enfant XXXXX signal de sortie Erreur de segmentation (11)

Parfois, il répond comme un charme, mais parfois j’ai eu l’erreur “Aucune donnée reçue”. J’ai cherché autour de moi mais rien n’a fonctionné. Les articles qui suggèrent l’utilisation de ” gdb ” pour déboguer le code apache des erreurs possibles, eh bien, je n’ai pas la chance de le tester avec gdb, car sur le serveur sur lequel je travaille, il n’y a pas de logiciels de développement (sauf python), et je ne peux pas les installer. Et l’autre moitié des messages suggèrent les solutions compatibles avec les serveurs Web fonctionnant avec PHP – je ne sais pas si cela fait une différence ou non.

Ma configuration httpd est comme ceci:

 Apache/2.2.11 (Unix) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8b mod_jk/1.2.15 PHP/5.1.6 mod_wsgi/2.1-BRANCH Python/2.4.3 configured 

J’utilise Django, et donc mod_wsgi. Existe-t-il un autre moyen de déboguer ce problème plutôt que d’utiliser gdb?

Notez que, dans les versions précédentes de mon application, je n’ai reçu aucune erreur comme celle-ci, jamais. Pour les nouvelles versions, je n’ai pas modifié la technologie, je viens de mettre à jour Django 1.3, j’ai commencé à utiliser ZSI 2.1 sur CentOS5.

Merci d’avance.

Comme l’a dit Graham-Dumpleton ci-dessus, il semble qu’il s’agisse d’un problème bien connu dans mod_wsgi , à savoir la compatibilité des versions de la bibliothèque expat .

La raison de l’échec (ainsi que les étapes pour le résoudre) sont décrites ici

tl; dr solution (à partir du lien ci-dessus):

Notez que cela ne s’applique qu’aux versions de Python antérieures à Python 2.5. A partir de Python 2.5, la copie de la bibliothèque “expat” intégrée à Python est préfixée par un espace de noms, évitant ainsi les conflits de noms avec une bibliothèque “expat” précédemment chargée.