4 votes

GWTP - Une erreur s'est produite lors de la tentative d'écriture du bundle d'images

Je reçois beaucoup de ces erreurs en essayant de construire une application gwtp+mgwt en utilisant ant-

 Préparation de la méthode tabBarMoreImage
     \[java\]                   \[ERREUR\] Une erreur s'est produite en essayant d'écrire le paquet d'images.
     \[java\] javax.imageio.IIOException: Impossible de créer le flux de sortie!
     \[java\]     at javax.imageio.ImageIO.write(ImageIO.java:1560)

...
  Préparation de la méthode tabBarMostRecentImage
     \[java\]                   \[ERREUR\] Une erreur s'est produite en essayant d'écrire le paquet d'images.
     \[java\] javax.imageio.IIOException: Impossible de créer le flux de sortie!
...
 \[java\] Caused by: javax.imageio.IIOException: Impossible de créer le fichier cache!
     \[java\]     at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:397)
     \[java\]     at javax.imageio.ImageIO.write(ImageIO.java:1558)
     \[java\]     ... 33 more
     \[java\] Caused by: java.io.IOException: Trop de fichiers ouverts
     \[java\]     at java.io.UnixFileSystem.createFileExclusively(Native Method)
     \[java\]     at java.io.File.checkAndCreate(File.java:1704)
     \[java\]     at java.io.File.createTempFile(File.java:1792)
     \[java\]     at javax.imageio.stream.FileCacheImageOutputStream.(FileCacheImageOutputStream.java:71)
     \[java\]     at com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:50)
     \[java\]     at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:393)
     \[java\]     ... 34 more
     \[java\]                Préparation de la méthode getButtonBarArrowDownImage
     \[java\]                   \[ERREUR\] Une erreur s'est produite en essayant d'écrire le paquet d'images.
     \[java\] javax.imageio.IIOException: Impossible de créer le flux de sortie!
     \[java\]     at javax.imageio.ImageIO.write(ImageIO.java:1560)
     \[java\]     at com.google.gwt.resources.rg.ImageBundleBuilder.createImageBytes(ImageBundleBuilder.java:558)
     \[java\]     at com.google.gwt.resources.rg.ImageBundleBuilder.toPng(ImageBundleBuilder.java:544)
...

L'application fonctionne bien en mode dev. Des idées?

2voto

Strelok Points 18453

Peut-être que le compilateur GWT fuit des descripteurs de fichiers (d'où l'exception "Trop de fichiers ouverts"). Peut-être êtes-vous sur un environnement qui a limité le nombre de fichiers ouverts par utilisateur (est-ce votre propre machine)?

Vérifiez toutes les limites de l'utilisateur avec ulimit -a.

Vous pouvez essayer d'augmenter la limite de fichiers ouverts en utilisant ulimit -Hn . Cela devrait au moins vous aider à diagnostiquer.

1voto

manuelgos Points 280

J'avais exactement le même problème (et le même message d'erreur).

J'ai trouvé la solution dans ce fil de discussion sur les groupes Google (GWT)
Je suis sur Linux (je ne sais pas si c'est votre cas)

Dans /etc/security/limits.conf j'ai ajouté

* soft nofile 65535
* hard nofile 65535

Pour appliquer les nouveaux paramètres, déconnectez-vous et reconnectez-vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X