Threaded View

  1. #1
    Sencha User
    Join Date
    Jan 2010
    Posts
    132
    Vote Rating
    1
    Answers
    2
    darkling235 is on a distinguished road

      0  

    Default Answered: Too Many Open Files

    Answered: Too Many Open Files


    This may be more of a google issue than a GXT issue but I'm noticing this stacktrace intermittently but regularly. It seems to only occur on Linux and Macs. I did some research and some people claim that this is due to the ClientBundle having a serious bug in it but I haven't found any posted bugs from Google to confirm this. Has anyone found a good solution to this? I found a few posts which talk about increasingly the max number of files in linux but it doesn't seem to help how much we jack it up. Can anyone comment on this issue?
    Thanks

    Code:
    javax.imageio.IIOException: Can't create output stream![INFO]  at javax.imageio.ImageIO.write(ImageIO.java:1560)
    [INFO]  at com.google.gwt.resources.rg.ImageBundleBuilder.createImageBytes(ImageBundleBuilder.java:558)
    [INFO]  at com.google.gwt.resources.rg.ImageBundleBuilder.toPng(ImageBundleBuilder.java:544)
    [INFO]  at com.google.gwt.resources.rg.ImageResourceGenerator.reencodeToTempFile(ImageResourceGenerator.java:641)
    [INFO]  at com.google.gwt.resources.rg.ImageResourceGenerator.prepare(ImageResourceGenerator.java:567)
    [INFO]  at com.google.gwt.resources.rebind.context.AbstractClientBundleGenerator.initAndPrepare(AbstractClientBundleGenerator.java:1043)
    [INFO]  at com.google.gwt.resources.rebind.context.AbstractClientBundleGenerator.initAndPrepare(AbstractClientBundleGenerator.java:1069)
    [INFO]  at com.google.gwt.resources.rebind.context.AbstractClientBundleGenerator.generateIncrementally(AbstractClientBundleGenerator.java:412)
    [INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
    [INFO]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
    [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
    [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
    [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:257)
    [INFO]  at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)
    [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)
    [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(AbstractCompiler.java:254)
    [INFO]  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
    [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:173)
    [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:288)
    [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$400(AbstractCompiler.java:139)
    [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java:588)
    [INFO]  at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclarations(BasicWebModeCompiler.java:97)
    [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDeclarations(WebModeCompilerFrontEnd.java:52)
    [INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:569)
    [INFO]  at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
    [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)
    [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)
    [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
    [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:232)
    [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:198)
    [INFO]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
    [INFO]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
    [INFO]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
    [INFO]  at com.google.gwt.dev.Compiler.main(Compiler.java:177)
    [INFO] Caused by: javax.imageio.IIOException: Can't create cache file!
    [INFO]  at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:397)
    [INFO]  at javax.imageio.ImageIO.write(ImageIO.java:1558)
    [INFO]  ... 33 more
    [INFO] Caused by: java.io.IOException: Too many open files
    [INFO]  at java.io.UnixFileSystem.createFileExclusively(Native Method)
    [INFO]  at java.io.File.checkAndCreate(File.java:1704)
    [INFO]  at java.io.File.createTempFile(File.java:1792)
    [INFO]  at javax.imageio.stream.FileCacheImageOutputStream.<init>(FileCacheImageOutputStream.java:71)
    [INFO]  at com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:50)
    [INFO]  at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:393)
    [INFO]  ... 34 more

  2. I've filed this as http://code.google.com/p/google-web-...&ts=1357248530 and have a code review at http://gwt-code-reviews.appspot.com/1880803/. If you are able, apply the patch and build GWT (should apply to trunk or 2.5.0), and test again. I'll see about making a mavenized build of this that you can test from for those that would be helped by this.

    As mentioned in the issue, I'm not totally convinced that there isn't a nicer way to mop up, and am open to any suggestions.