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
Sat Nov 25 00:15:25 CET 2006


Effectivement je n'ai pas compilé moi-même PHP et Apache.

J'ai cependant réussi à créer une erreur provenant de glibc(ou quelque chose de très semblable) je m'y suis pas attardé mais c'était assez fort :)

Je vais attendre un patch d'ici là.

Actuellement j'ai modifié mon code de tel sorte que je n'utilise pas les fonction pré-compilées de php (tel que array_find ou autres) et je gagne en temps et en mémoire.

Actuellement j'ai pas essayé avec un script simple car je n'ai pas le temps de m'y attarder.

Je vais rester avec la 2.2.3 et la 5.2 , ça me dérange pas trop trop mais c'est quand même un peu ennuyeux comme bug je trouve.

Bonne soirée
Wagner Christian

-----Message d'origine-----
De : linux-neuchatel-bounces at lists.alphanet.ch [mailto:linux-neuchatel-bounces at lists.alphanet.ch] De la part de Jean-frederic Clere
Envoyé : vendredi, 24. novembre 2006 23:36
À : 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 ?

Christian Wagner wrote:

>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é.
>  
>
Vu tes explications il  me semble que tu ne compile pas httpd ni php 
toi-meme, il est donc difficile de te proposer un patch, correct? (En 
plus il faudrait trouver le probleme).
Arrives-tu a reproduire le probleme avec un script php simple?

>Si quelqu'un aurait une marche à suivre qui fonctionne pour un downgrade en 2.2 ou 2.0 ça serait sympa :)
>  
>
Tu n'a pas changer uniquement php5 et httpd-2.0.x donc.

A+

Jean-Frederic

>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.
>
>  
>

_______________________________________________
linux-neuchatel mailing list
linux-neuchatel at lists.alphanet.ch
http://lists.alphanet.ch/mailman/listinfo/linux-neuchatel





More information about the linux-neuchatel mailing list