Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8295021

java.lang.ClassCastException: class com.sun.tools.javac.tree.JCTree$JCLiteral cannot be cast to class com.sun.tools.javac.tree.JCTree$JCCaseLabel

XMLWordPrintable

    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      Mac OSX, M2 Air, JDK 19

      A DESCRIPTION OF THE PROBLEM :
      An exception has occurred in the compiler (19). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program, the following diagnostic, and the parameters passed to the Java compiler in your report. Thank you.
      java.lang.ClassCastException: class com.sun.tools.javac.tree.JCTree$JCLiteral cannot be cast to class com.sun.tools.javac.tree.JCTree$JCCaseLabel (com.sun.tools.javac.tree.JCTree$JCLiteral and com.sun.tools.javac.tree.JCTree$JCCaseLabel are in module jdk.compiler of loader 'app')
      at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
      at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1932)
      at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:280)
      at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1932)
      at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
      at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
      at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
      at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.handleSwitch(Attr.java:1692)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.visitSwitch(Attr.java:1604)
      at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCSwitch.accept(JCTree.java:1287)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:687)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:761)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStats(Attr.java:780)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1463)
      at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1082)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:687)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:761)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1253)
      at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:912)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:687)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:761)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5601)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5492)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5316)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:995)
      at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:810)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:687)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:761)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5601)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5492)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5316)
      at jdk.compiler/com.sun.tools.javac.comp.Attr.attrib(Attr.java:5255)
      at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1317)
      at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:946)
      at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
      at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
      at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
      at jdk.compiler/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:1134)
      at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:187)
      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.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
      at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
      at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
      at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

      REGRESSION : Last worked in version 18.0.2.1

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Project dependencies:

      <parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.7.4</version>
          </parent>

          <properties>
              <java.version>19</java.version>
              <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
              <revision>1.0.0-SNAPSHOT</revision>
              <grpc.version>1.47.0</grpc.version>

              <cucumber.version>6.8.1</cucumber.version>
          </properties>

          <dependencies>
              <!-- Configuration processor -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-configuration-processor</artifactId>
                  <optional>true</optional>
              </dependency>
              <!-- Spring boot includes -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-web</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-validation</artifactId>
              </dependency>
              <!-- To fix CVE-2022-25857. Remove once spring-boot-dependencies version matches or exceeds this version -->
              <dependency>
                  <groupId>org.yaml</groupId>
                  <artifactId>snakeyaml</artifactId>
                  <version>1.31</version>
              </dependency>

              
              <!-- ProtoStuff used for De/Serialisation -->
              <dependency>
                  <groupId>io.protostuff</groupId>
                  <artifactId>protostuff-core</artifactId>
                  <version>1.8.0</version>
              </dependency>
              <dependency>
                  <groupId>io.protostuff</groupId>
                  <artifactId>protostuff-runtime</artifactId>
                  <version>1.8.0</version>
              </dependency>
              <!-- Generally helpful -->
              <dependency>
                  <groupId>org.ehcache</groupId>
                  <artifactId>ehcache</artifactId>
                  <version>3.10.0</version>
              </dependency>

              <dependency>
                  <groupId>org.projectlombok</groupId>
                  <artifactId>lombok</artifactId>
                  <version>1.18.24</version>
                  <scope>provided</scope>
              </dependency>

              <dependency>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-lang3</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-pool2</artifactId>
                  <version>2.11.1</version>
              </dependency>
              <!-- A starter and helpers gRPC -->
              <dependency>
                  <groupId>io.github.lognet</groupId>
                  <artifactId>grpc-spring-boot-starter</artifactId>
                  <version>4.7.0</version>
                  <exclusions>
                      <exclusion>
                          <groupId>com.google.protobuf</groupId>
                          <artifactId>protobuf-java</artifactId>
                      </exclusion>
                  </exclusions>
              </dependency>
              <dependency>
                  <groupId>io.grpc</groupId>
                  <artifactId>grpc-core</artifactId>
                  <version>${grpc.version}</version>
              </dependency>
              <dependency>
                  <groupId>io.grpc</groupId>
                  <artifactId>grpc-okhttp</artifactId>
                  <version>${grpc.version}</version>
              </dependency>
              <dependency>
                  <groupId>io.grpc</groupId>
                  <artifactId>grpc-services</artifactId>
                  <version>${grpc.version}</version>
              </dependency>
              <dependency>
                  <groupId>io.grpc</groupId>
                  <artifactId>grpc-netty-shaded</artifactId>
                  <version>${grpc.version}</version>
              </dependency>
              <dependency>
                  <groupId>com.google.guava</groupId>
                  <artifactId>guava</artifactId>
                  <version>31.1-jre</version>
              </dependency>
              <dependency>
                  <groupId>javax.annotation</groupId>
                  <artifactId>javax.annotation-api</artifactId>
                  <version>1.3.2</version>
              </dependency>
              <!-- Test Dependencies -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-test</artifactId>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>org.junit.vintage</groupId>
                  <artifactId>junit-vintage-engine</artifactId>
                  <version>5.8.2</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-devtools</artifactId>
                  <optional>true</optional>
              </dependency>
              <dependency>
                  <groupId>net.bytebuddy</groupId>
                  <artifactId>byte-buddy</artifactId>
                  <version>1.12.10</version>
              </dependency>

              <!-- Cucumber dependencies -->
              <dependency>
                  <groupId>io.cucumber</groupId>
                  <artifactId>cucumber-core</artifactId>
                  <version>${cucumber.version}</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>io.cucumber</groupId>
                  <artifactId>cucumber-java</artifactId>
                  <version>${cucumber.version}</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>io.cucumber</groupId>
                  <artifactId>cucumber-junit</artifactId>
                  <version>${cucumber.version}</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>io.cucumber</groupId>
                  <artifactId>cucumber-spring</artifactId>
                  <version>${cucumber.version}</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>com.carrotsearch</groupId>
                  <artifactId>junit-benchmarks</artifactId>
                  <version>0.7.2</version>
                  <scope>test</scope>
              </dependency>
          </dependencies>

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      To compile
      ACTUAL -
      No compile

      FREQUENCY : always


            adev Anupam Dev
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: