RE: [linux-neuchatel] [PHP] 5.2 et [Apache] 2.2.3 - Bug quand il y a overflow de donnée ?
Christian Wagner
wchristian at gmx.ch
Fri Nov 24 22:16:56 CET 2006
Tarjan est un très ancien algorithme utilisé pour connaître les composantes fortement connexes d'un graphe.
Je viens de tester en ligne de commande avec PHP5.2 et le résultat est bien affiché.
"<html><head></head><body>Utilisation Memoire [Début]: 0.1Mo<br>[Phase 1] Terminée<br>[Phase 2] Terminée<br>[Phase 3] Terminée<br>[Phase 4] Terminée<br>Utilisation Memoire [Get_Array_Tops]: 8.17Mo<br>
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 39 bytes) in /home/web/quakenet.ch/dev/GRE2006/WCH_Test/tarjan.php on line 30"
Et à travers Apache :
"<html><head></head><body>Utilisation Memoire [Dbut]: 0.11Mo<br>[Phase 1] Termine<br>[Phase 2] Termine<br>[Phase 3] Termine<br>[Phase 4] Termine<br>Utilisation Memoire [Get_Array_Tops]: 8.19Mo<br>"
Par contre lorsque je passe par Apache 2.2.3 cela n'est plus le cas. J'ai essayé un downgrade sur Apache 2.0 comme c'était le cas avant la mise à jour mais impossible à chaque fois j'ai pleins d'erreurs.
Je suppose donc que la librairie PHP5.2 n'est pas compatible avec Apache 2.2.3 pour les dépassement de capacité.
Si quelqu'un aurait une marche à suivre qui fonctionne pour un downgrade en 2.2 ou 2.0 ça serait sympa :)
Bonne soirée
-----Message d'origine-----
De : linux-neuchatel-bounces at lists.alphanet.ch [mailto:linux-neuchatel-bounces at lists.alphanet.ch] De la part de Marc SCHAEFER
Envoyé : vendredi, 24. novembre 2006 21:52
À : Activités Linux à Neuchâtel et environs
Objet : Re: [linux-neuchatel] [PHP] 5.2 et [Apache] 2.2.3 - Bug quand il y a overflow de donnée ?
On Fri, Nov 24, 2006 at 09:08:30PM +0100, Christian Wagner wrote:
> Je dois travailler sur un laboratoire qui fait l'utilisation de l'algorithme
> de tarjan. Celui-ci prends pas mal de mémoire mais là n'est pas trop le
Je ne connais pas. Peux-tu en dire plus ?
> Mais par contre dans error.log de apache2 voici ce que je trouve :
> "[Fri Nov 24 20:51:38 2006] [notice] child pid 14944 exit signal
> Segmentation fault (11)"
PHP n'est probablement pas le langage idéal; et mod_php dans Apache
pas forcément l'environnement idéal.
> Quelqu'un aurait-il une idée pour résoudre le malheureux problème ?
Un segmentation fault c'est en général l'indice d'une erreur de
programmation, liée au déréférencement d'un pointeur NULL ou
non initialisé.
Si tu veux débugger plus avant, utilise la version non module Apache (installer
php4-cgi je crois, lancer depuis le shell), et utilise les outils systèmes
comme gdb (le debugger), ou active la génération de core dumps via
`ulimit -c unlimited'.
Mais il te faudra vraisemblablement débugger du C, langage dans lequel
PHP est écrit.
Il se peut que PHP réagisse ainsi à une erreur d'allocation de mémoire,
indice de sa faible qualité, illustrée par un nombre d'attaques sur le
langage et l'environnement assez ... fantastique (les scripts sont
souvent pourris aussi, mais cela est un autre problème).
Il se peut aussi que je ne sois pas du tout objectif.
--
Je lis les messages bien formatés. N'abusez pas du Cc:. Texte = efficace.
Citer n'est pas concaténer. Editez vos messages, ça gagne du temps.
Marc se met au blog `-o ro': http://www.alphanet.ch/schaefer_chronique.html
_______________________________________________
linux-neuchatel mailing list
linux-neuchatel at lists.alphanet.ch
http://lists.alphanet.ch/mailman/listinfo/linux-neuchatel
__________ Information NOD32 1881 (20061124) __________
Ce message a ete verifie par NOD32 Antivirus System.
http://www.nod32.com
More information about the linux-neuchatel
mailing list