You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2011-01-17 23:33:48

lebec
Member
From: Ile De France
Registered: 2009-04-06
Posts: 26

Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

Bonsoir,

Dans mes mains, le script "ldap_mass_sync.php" échoue avec l'erreur suivante:

PHP Warning:  Module 'mysql' already loaded in Unknown on line 0
Processing LDAP Server: Dauphine, ID: 4
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /usr/share/glpi/inc/common.function.php on line 814

/var/log/glpi/php-errors.log est vide.
La ligne 814 de common.function.php est un code anti-XSS.

Je n'arrive pas à trouver la cause de ce problème. J'espère que vous pourrez m'aider ...


Martial.

Offline

#2 2011-01-18 08:48:49

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

bonjour,
quelle est votre plate-forme ? quel os ? quelle version de php ?

Offline

#3 2011-01-19 22:10:31

lebec
Member
From: Ile De France
Registered: 2009-04-06
Posts: 26

Re: Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

Bonsoir,

Linux (VM VMWare)
CentOS release 5.5 (Final)
php-5.3.4 (paquets remi)

Nous avons installé notre plateforme en utilisant le dépôt "remi". Les paquets PHP sont listés ci dessous. J'ai remarqué qu'ils viennent tous de "remi" sauf un : php-pear-DB-1.7.13-1.el5.centos.

php-common-5.3.4-0.1.201010230430.el5.remi
php-mbstring-5.3.4-0.1.201010230430.el5.remi
php-ldap-5.3.4-0.1.201010230430.el5.remi
php-xmlrpc-5.3.4-0.1.201010230430.el5.remi
php-imap-5.3.4-0.1.201010230430.el5.remi
php-domxml-php4-php5-1.21.2-1.el5.remi
php-devel-5.3.4-0.1.201010230430.el5.remi
php-pear-Cache-Lite-1.7.8-1.el5.remi
php-ezc-Base-1.8-1.el5.remi
php-pear-DB-1.7.13-1.el5.centos
php-gd-5.3.4-0.1.201010230430.el5.remi
php-soap-5.3.4-0.1.201010230430.el5.remi
php-pdo-5.3.4-0.1.201010230430.el5.remi
php-mysql-5.3.4-0.1.201010230430.el5.remi
php-cli-5.3.4-0.1.201010230430.el5.remi
php-xml-5.3.4-0.1.201010230430.el5.remi
php-PHPMailer-5.0.2-3.el5.remi
php-5.3.4-0.1.201010230430.el5.remi
php-pear-1.9.1-5.el5.remi
php-channel-ezc-1-1.el5.remi
php-ezc-Graph-1.5-1.el5.remi
php-pear-CAS-1.1.3-1.el5.remi

Et ci dessous les paquets "remi" hors PHP:
mysql-libs-5.5.6-1.el5.remi
mysql-5.5.6-1.el5.remi
ocsinventory-server-1.3.3-1.el5.remi
ocsinventory-1.3.3-1.el5.remi
glpi-mass-ocs-import-1.4.1-1.el5.remi
remi-release-5-7.el5.remi
mysqlclient15-5.0.67-1.el5.remi
mysql-server-5.5.6-1.el5.remi
glpi-0.78.1-1.el5.remi
ocsinventory-reports-1.3.3-1.el5.remi
glpi-reports-1.4.0-1.el5.remi

Merci pour votre aide.


Martial.

Offline

#4 2011-01-20 08:27:08

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

Dans le cas du RPM, la valeur memory_limit est fixée à 64M uniquement pour GLPI (dans /etc/httpd/conf.d/glpi.conf).

La valeur de 128M est celle par défaut du php.ini.
Si le script est exécuté en ligne de commande, voir le fichier /etc/php-cli.ini pour la passer à -1, ou lancer

php -d memory_limit=-1 /usr/share/glpi/scripts/ldap_mass_sync.php xxxxx

128M c'est carrément énorme,
Soit il y a énormément d'utilisateurs à synchroniser...
Soit il y a une fuite mémoire dans le script de synchro qu'il faudrait analyser plus en détail (wawa, une idée ? avec le script "alternatif", je synchronize 10000 users sans soucis...)

++

P.S. conseil : passer à glpi 0.78.2 (dans remi-test) et surtout à php 5.3.5  (dans remi) plutôt qu'à cette version dév.


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#5 2011-01-20 09:36:08

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

Bonjour Martial,
tout d'abord comme le dit Remi, il serait vraiment bien de passer à glpi 0.78.2. J'ai fait un bon paquet de correctifs sur la partie LDAP, et le script d'import ne marchait... pas vraiment en 0.78.1 sad

vous importez ou synchronisez tous les users de votre annauire ? ça fait combien de milliers ? vous avez passé quelle action au script ?

Walid.

Offline

#6 2011-01-29 20:11:04

lebec
Member
From: Ile De France
Registered: 2009-04-06
Posts: 26

Re: Erreur lors de l'exécution du script ldap_mass_sync.php (0.78.1)

Remi, Wawa,

J'ai procédé à la mise à jour en 0.78.2-1 via le dépôt remi-test. Ceci n'a pas corrigé mon problème.
Mais bonne (ou mauvaise) nouvelle, le memory_limit=-1 permet au script de se terminer avec succès.
L'annuaire contient quelques 20000 entrées, mais j'ai moins de 2000 utilisateurs sélectionnés par le filtre LDAP.

Ci dessous la sortie "ok" du script:

Processing LDAP Server: Dauphine, ID: 4
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /usr/share/glpi/inc/common.function.php on line 814
[root@glpi scripts]# sudo -u apache /usr/bin/php -d memory_limit=-1 ldap_mass_sync.php action=1 server_id=4
PHP Warning:  Module 'mysql' already loaded in Unknown on line 0
Processing LDAP Server: Dauphine, ID: 4
...........................................................................................................................................................................................................
Imported : 0
Synchronized : 199
Deleted from LDAP : 4


Comment puis-je confirmer l'hypothèse de Remi quant à une "fuite mémoire" ?

Last edited by lebec (2011-01-30 15:02:38)


Martial.

Offline

Board footer

Powered by FluxBB