Crash php5ts.dll

Eléphanteau du PHP | 14 Messages

08 oct. 2006, 23:13

Bonjour,

Depuis plus d'une semaine je m'arrache les cheveux jours et nuits sur un crash d'apache lors de l'éxecution de mon prog (>10.000 lignes).
En essayant de traquer l'erreur j'ai l'impression de me retrouver dans ma jeunesse ou je faisais du C et où les erreurs de pointeurs étaient difficilement maitrisables.
Aujourd'hui c'est le message suivant qui apparait lorsque je lance mon programme :

"Apache HTTP Server a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
szAppName : apache.exe szAppVer : 2.2.3.0 szModName : hp5ts.dll
szModVer : 5.1.6.6 offset : 0009cad8

J'ai la version 5.1.6 de php (xampp 1.5.4). J'ai essayé de mettre la dll php5ts.dll du php 5.1.2 ... mais sans succès.

Quelqu'un a-t-il eu le même problème ?
Quelqu'un a-t-il une idée ?
Merci d'avance de m'éviter une calvitie précoce ;-)

Mammouth du PHP | 19672 Messages

08 oct. 2006, 23:17

Le crash se produit à quel moment : au démarrage d'Apache ou bien lorsque tu lances une application PHP ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 14 Messages

08 oct. 2006, 23:21

En plein milieu de mon execution.
En fait dans un répertoire, il y plusieurs fichiers que je traite les uns aprés les autres. Je fais du traitement par lot.
Au bout du 8ème ou du 5ème ou du 19ème ... j'arrive sur ce plantage.

Mammouth du PHP | 19672 Messages

08 oct. 2006, 23:22

As-tu regardé le log Apache à tout hasard ? Les derniers messages comporteront peut-être des informations supplémentaires.

Et sinon, il faudrait vérifier ton code, il y a peut-être une boulette quelque part.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 14 Messages

09 oct. 2006, 10:16

Je n'ai pas vérifié le log apache ... c'est une excellente idée. Je ferais cela ce soir chez moi et je te tiendrais au courant.

Pour le reste, vérifier le code, c'est ce que je fais depuis une semaine. Mon seul mode de débuggage actuel est de faire des print dans mon propre fichier de log, mais comme indiqué ci-dessus le plantage change régulièrement de place. j'ai même eu des fois ou je sais que je suis avant un ordre 'if', et je ne passe ni dans le 'if' ni dans le 'else'. !!!

Il y a plusieurs mois, j'avais eu un problème similaire (plantage CLI) et j'avais réussi à le contourner en changeant un foreach d'un tableau par un l'instruction for équivalente !!! ça laisse réveur.

J'ai vraiment l'impression que j'ai des données en mémoire qui sont nettoyées de manière impromptues.

Aujourd'hui malgré toutes mes recherches ... je suis sec.
J'ai vu sur d'autres forums des informations qu'il y avait des problèmes sur cette dll mais j'avoue que n'étant pas un gourou, je n'arrive pas vraiment à comprendre comment résoudre ce problème.

Eléphanteau du PHP | 14 Messages

09 oct. 2006, 22:31

Je suis allé voir mon log apache.
Des fois j'y trouve rien, des fois j'y trouve une notice qui est celle-ci

[Mon Oct 09 22:19:11 2006] [notice] Parent: child process exited with status 3221225477 -- Restarting.

Pour une notice ... c'est une notice.


J'ai essayé de regarder sur le net ... j'ai rien compris et ce qui me rassure c'est que d'autre avant moi ont eu le même soucis et non rien compris non plus aux différents posts faits sur le sujet.
J'ai même lu que le bug semblait exister depuis 2003 mais quand j'ai trouvé un lien (http://bugs.php.net/bug.php?id=26286) il apparait qu'il était inexistant.
Pour finir j'ai trouvé une info indiquant qu'il fallait désactiver le Zend optimizer ... mais malheureusement il n'était pas activé chez moi.

Eléphanteau du PHP | 14 Messages

15 oct. 2006, 22:43

Je n'ai pas vraiment résolu le problème mais en remplaçant un 'foreach' sur un array par son 'for' équivalent (de 0 à count de array) ... le plantage disparait ...

Le mystère reste entier ... mais au moins je ne plante plus.
Si quelqu'un peut m'expliquer ... je reste preneur.

Mammouth du PHP | 19672 Messages

15 oct. 2006, 23:23

faudrait voir le bout de code en question, tu as peut-être soulevé un bug :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 14 Messages

15 oct. 2006, 23:30

Sincèrement j'aimerais bien réussir à le reproduire en 10 ou 20 lignes.

Dès que j'aurais un peu de temps ... j'essayerais d'épurer au maximum le code (>10.000 lignes) pour en extraire la substantifique moelle qui m'envoye dans les choux.