Search code examples
gwtantjavacgwt-platformmgwt

GWTP - An error occurred while trying to write the image bundle


I am getting a lot of these errors while trying to build gwtp+mgwt app using ant-

 Preparing method tabBarMoreImage
     [java]                   [ERROR] An error occurred while trying to write the image bundle.
     [java] javax.imageio.IIOException: Can't create output stream!
     [java]     at javax.imageio.ImageIO.write(ImageIO.java:1560)

...
  Preparing method tabBarMostRecentImage
     [java]                   [ERROR] An error occurred while trying to write the image bundle.
     [java] javax.imageio.IIOException: Can't create output stream!
...
 [java] Caused by: javax.imageio.IIOException: Can't create cache file!
     [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: Too many open files
     [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]                Preparing method getButtonBarArrowDownImage
     [java]                   [ERROR] An error occurred while trying to write the image bundle.
     [java] javax.imageio.IIOException: Can't create output stream!
     [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)
...

The application runs fine in dev mode. Any ideas?


Solution

  • Maybe GWT compiler is leaking file descriptors ( hence the "Too many open files" exception). Maybe you're on environment that has limited the number of open files per user (is this your own machine)?

    Check all user limits with ulimit -a.

    You can try to increase the open file limit by using ulimit -Hn <number>. This should at least help you diagnose.