Une nouvelle 020161123 version du bootstrap est mise en ligne, le différentiel :
bc3f2cf23e92fa55fca4f20307236d7653726f9f7ca4593589316f3b8bdb9a53
Comme c’est un différentiel, il faut importer les liens puis copier les objets, et enfin remplacer le bootstrap. La bibliothèque et toutes les applications ont été mises à jour.
L’application 0 semble avoir des problèmes sur certains serveurs. Les serveurs de test ne semblent par contre pas concernés. Le problème est en cours d’investigation…
En mesure de contournement pour le problème de l’application 0, il faut réduire l’option
ioReadMaxData
à10000000
(10M).Le problème vient de la fonction
file_get_content
qui dans certains cas réserve la totalité de la mémoire nécessaire pour lire$maxlen
alors que le fichier demandé contient moins de 10 caractères… et ne libère pas cette mémoire ensuite. Si on passe systématiquement à$maxlen
la taille maximum des objets que l’on accepte de lireioReadMaxData
sans avoir au moins 6 fois plus dansmemory_limit
pour la configuration PHP, alors on dépasse systématiquement la mémoire autorisée.La fonction ‘fread’ semble avoir le même problème.
Comme ce problème n’apparaît que dans les I/O filesystem locaux de la classe
ioUnixFileSystem
, il est possible de faire une pré-lecture de la taille du fichier à lire et de vérifier que ça ne dépasse pas la limite ‘ioReadMaxData’ avant de la passer à$maxlen
defile_get_content
.