auto: Intermittent `Stream closed` exception after upgrading to 1.10.2

Hello!

We recently started observing an intermittent error after upgrading from 1.8.2 to 1.10.2 (https://github.com/GoogleCloudPlatform/DataflowTemplates/pull/929).

I suspect it might be related to some racing/concurrency issues, as it happens sporadically and we are running Maven using multiple threads (mvn -T8 ...). It is either very hard to get when running in a single thread (I tried a bunch of times and it didn’t repro), or parallelism is actually the issue.

Build https://github.com/GoogleCloudPlatform/DataflowTemplates/actions/runs/5734638367/job/15541176096?pr=934

Full stacktrace:

Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile (default-compile) on project pubsub-to-redis: Fatal error compiling: autovalue.shaded.com.google.escapevelocity.EvaluationException: In expression on line 192 of autovalue.vm: java.io.IOException: Stream closed -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile (default-compile) on project pubsub-to-redis: Fatal error compiling
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:963)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:158)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Caused by: org.codehaus.plexus.compiler.CompilerException: autovalue.shaded.com.google.escapevelocity.EvaluationException: In expression on line 192 of autovalue.vm: java.io.IOException: Stream closed
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:173)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:952)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:158)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Caused by: java.lang.RuntimeException: autovalue.shaded.com.google.escapevelocity.EvaluationException: In expression on line 192 of autovalue.vm: java.io.IOException: Stream closed
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:163)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:952)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:158)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Caused by: autovalue.shaded.com.google.escapevelocity.EvaluationException: In expression on line 192 of autovalue.vm: java.io.IOException: Stream closed
    at autovalue.shaded.com.google.escapevelocity.Node.evaluationException (Node.java:59)
    at autovalue.shaded.com.google.escapevelocity.ParseNode.render (ParseNode.java:65)
    at autovalue.shaded.com.google.escapevelocity.Node$Cons.render (Node.java:91)
    at autovalue.shaded.com.google.escapevelocity.DirectiveNode$IfNode.render (DirectiveNode.java:103)
    at autovalue.shaded.com.google.escapevelocity.Node$Cons.render (Node.java:91)
    at autovalue.shaded.com.google.escapevelocity.Template.render (Template.java:189)
    at autovalue.shaded.com.google.escapevelocity.Template.evaluate (Template.java:179)
    at com.google.auto.value.processor.TemplateVars.toText (TemplateVars.java:99)
    at com.google.auto.value.processor.AutoValueProcessor.processType (AutoValueProcessor.java:274)
    at com.google.auto.value.processor.AutoValueishProcessor.process (AutoValueishProcessor.java:441)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:985)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:901)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1227)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1340)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1254)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:952)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:158)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Caused by: java.io.IOException: Stream closed
    at java.util.zip.InflaterInputStream.ensureOpen (InflaterInputStream.java:68)
    at java.util.zip.InflaterInputStream.read (InflaterInputStream.java:143)
    at java.io.FilterInputStream.read (FilterInputStream.java:133)
    at sun.nio.cs.StreamDecoder.readBytes (StreamDecoder.java:284)
    at sun.nio.cs.StreamDecoder.implRead (StreamDecoder.java:326)
    at sun.nio.cs.StreamDecoder.read (StreamDecoder.java:178)
    at java.io.InputStreamReader.read (InputStreamReader.java:181)
    at java.io.BufferedReader.fill (BufferedReader.java:161)
    at java.io.BufferedReader.read (BufferedReader.java:182)
    at java.io.LineNumberReader.read (LineNumberReader.java:126)
    at autovalue.shaded.com.google.escapevelocity.Parser.next (Parser.java:144)
    at autovalue.shaded.com.google.escapevelocity.Parser.skipSpace (Parser.java:171)
    at autovalue.shaded.com.google.escapevelocity.Parser.expect (Parser.java:189)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseIfOrElseIf (Parser.java:418)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseDirective (Parser.java:370)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseNode (Parser.java:271)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseToStop (Parser.java:223)
    at autovalue.shaded.com.google.escapevelocity.Parser.skipNewlineAndParseToStop (Parser.java:251)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseForEach (Parser.java:476)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseDirective (Parser.java:378)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseNode (Parser.java:271)
    at autovalue.shaded.com.google.escapevelocity.Parser.parseToStop (Parser.java:223)
    at autovalue.shaded.com.google.escapevelocity.Parser.parse (Parser.java:128)
    at autovalue.shaded.com.google.escapevelocity.Template.parseFrom (Template.java:147)
    at autovalue.shaded.com.google.escapevelocity.ParseNode.render (ParseNode.java:62)
    at autovalue.shaded.com.google.escapevelocity.Node$Cons.render (Node.java:91)
    at autovalue.shaded.com.google.escapevelocity.DirectiveNode$IfNode.render (DirectiveNode.java:103)
    at autovalue.shaded.com.google.escapevelocity.Node$Cons.render (Node.java:91)
    at autovalue.shaded.com.google.escapevelocity.Template.render (Template.java:189)
    at autovalue.shaded.com.google.escapevelocity.Template.evaluate (Template.java:179)
    at com.google.auto.value.processor.TemplateVars.toText (TemplateVars.java:99)
    at com.google.auto.value.processor.AutoValueProcessor.processType (AutoValueProcessor.java:274)
    at com.google.auto.value.processor.AutoValueishProcessor.process (AutoValueishProcessor.java:441)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:985)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:901)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1227)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1340)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1254)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:952)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:158)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:200)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:196)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:829)
Error:  
Error:  Re-run Maven using the -X switch to enable full debug logging.
Error:  
Error:  For more information about the errors and possible solutions, please read the following articles:
Error:  [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Error:  
Error:  After correcting the problems, you can resume the build with the command
Error:    mvn <goals> -rf :pubsub-to-redis

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 16 (12 by maintainers)

Commits related to this issue

Most upvoted comments

I made it so that we no longer ever use JarURLConnection to read the resources (template files) that AutoValue needs. Instead, we always open the jar where the AutoValue code lives explicitly, and read the resources out of it. That’s probably a bit more expensive, but only happens once per template and per compilation.