Skip to content
This repository has been archived by the owner on Jul 22, 2022. It is now read-only.

PHP Fatal error: Allowed memory size of X bytes exhausted #900

Open
ss2l opened this issue Apr 8, 2020 · 2 comments
Open

PHP Fatal error: Allowed memory size of X bytes exhausted #900

ss2l opened this issue Apr 8, 2020 · 2 comments

Comments

@ss2l
Copy link

ss2l commented Apr 8, 2020

Bonjour,

Depuis quelques temps, certains utilisateurs, et ils sont de plus en plus nombreux, ne peuvent plus faire de demande de congés.
Ils valident leurs demandes mais la page ne charge pas complètement et aucun message d'erreur ne s'affiche.

Il est possible que le problème soit lié aux mises à jour récentes du serveur (PHP en particulier).

Logs Apache2

A chaque fois qu'un utilisateur impacté tente d'ajouter des congés, on a l'erreur suivante dans les logs Apache :

[php7:error] [pid 7251] [client 10.250.14.9:0] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /var/www/libertempo/includes/SQL.php on line 152

Le serveur

  • Debian 10
  • PHP 7.3
  • Apache 2.4.38-3+deb10u3
  • MariaDB 10.3.22-0+deb10u1
  • Libertempo 1.11 Nooma

Les clients

  • Firefox 68
  • Chrome 80

J'ai tenté d'augmenter la limite de mémoire de PHP memoryy_limit=512M mais sans succès.
Avez-vous des idées ?

Merci d'avance pour votre aide.

@ss2l
Copy link
Author

ss2l commented Apr 8, 2020

Le problème est identifé.

  • Alain est un employé
  • Bernard est le directeur
  • Cécile est la secretaire
  • Alain a pour responsable Bernard
  • Cécile a pour responsable Bernard
  • Bernard a pour responsable Cécile car, en tant que secretaire, elle doit valider ses congés

Quand Alain fait une demande de congés et que Bernard ET Cécile sont tous les deux déjà en congés, ca boucle indéfiniement dans le code.
On a A -> B -> C -> B -> C -> B -> C ....

Ce qui fait une utilisation mémoire importante et aussi une erreur de ce type :

[php7:notice] [pid 8230] [client 10.250.14.9:0] PHP Fatal error: Uncaught Error: Maximum function nesting level of '256' reached, aborting! in /var/www/libertempo/includes/SQL.php:152

Donc il faudrait gérer le cas ou il y a une "boucle" dans les responsables et que ceux-ci sont en congés en même temps.

Merci d'avance pour votre aide

@wouldsmina wouldsmina added the Bug label Sep 12, 2020
@stale
Copy link

stale bot commented Jan 8, 2022

Cette issue a été marquée « stale » car elle n'a pas eu d'activité récente. Elle sera fermée si aucune activité ultérieure ne survient. Merci de vos contributions.

@stale stale bot added the Invalide label Jan 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants