linkedin / cruise-control

Cruise-control is the first of its kind to fully automate the dynamic workload rebalance and self-healing of a Kafka cluster. It provides great value to Kafka users by simplifying the operation of Kafka clusters.
https://github.com/linkedin/cruise-control/tags
BSD 2-Clause "Simplified" License
2.68k stars 574 forks source link

compile fails with java 21 #2138

Closed slaupster closed 5 hours ago

slaupster commented 3 months ago

When compiling using java 21, compileScala fails with:

116.0 > Task :cruise-control:compileScala
116.0 error:
116.0   bad constant pool index: 0 at pos: 48461
116.0      while compiling: <no file>
116.0         during phase: globalPhase=<no phase>, enteringPhase=<some phase>
116.0      library version: version 2.13.10
116.0     compiler version: version 2.13.10
116.0   reconstructed args: -bootclasspath /home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar -nowarn -classpath /home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.13.10/b0f3373b9d37bad4a7e8858912e4b709d41eaf76/scala-compiler-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-bridge_2.13/1.9.3/f209697417427c3a239f809d1a0fb2e8614a1875/compiler-bridge_2.13-1.9.3-sources.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-interface/1.9.3/b882061aec6f9de3093e777c28022eec82a1e802/compiler-interface-1.9.3.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.13.10/f19c2a5fc93a63398a5cfc56a14f0abf1d28d27c/scala-reflect-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/io.github.java-diff-utils/java-diff-utils/4.12/1a712a91324d566eef39817fc5c9980eb10c21db/java-diff-utils-4.12.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.jline/jline/3.21.0/2bf6f2311356f309fda0412e9389d2499346b5a1/jline-3.21.0.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/5.9.0/8f503e6d9b500ceff299052d6be75b38c7257758/jna-5.9.0.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/util-interface/1.9.2/b696783ce958ebdf061c53fa173a67f9f1b88754/util-interface-1.9.2.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-bridge_2.13/1.9.3/f209697417427c3a239f809d1a0fb2e8614a1875/compiler-bridge_2.13-1.9.3-sources.jar -d /tmp/sbt_11b8cdfe -Xmaxwarns 0
116.0
116.0   last tree to typer: EmptyTree
116.0        tree position: <unknown>
116.0             tree tpe: <notype>
116.0               symbol: null
116.0            call site: <none> in <none>
116.0
116.0 == Source file context for tree position ==
116.0
116.0 error: scala.reflect.internal.FatalError:
116.0   bad constant pool index: 0 at pos: 48461
116.0      while compiling: <no file>
116.0         during phase: globalPhase=<no phase>, enteringPhase=<some phase>
116.0      library version: version 2.13.10
116.0     compiler version: version 2.13.10
116.0   reconstructed args: -bootclasspath /home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar -nowarn -classpath /home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.13.10/b0f3373b9d37bad4a7e8858912e4b709d41eaf76/scala-compiler-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-bridge_2.13/1.9.3/f209697417427c3a239f809d1a0fb2e8614a1875/compiler-bridge_2.13-1.9.3-sources.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-interface/1.9.3/b882061aec6f9de3093e777c28022eec82a1e802/compiler-interface-1.9.3.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.13.10/f19c2a5fc93a63398a5cfc56a14f0abf1d28d27c/scala-reflect-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.10/67c1afabaea9ba51321159e70a78515647e1b73d/scala-library-2.13.10.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/io.github.java-diff-utils/java-diff-utils/4.12/1a712a91324d566eef39817fc5c9980eb10c21db/java-diff-utils-4.12.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.jline/jline/3.21.0/2bf6f2311356f309fda0412e9389d2499346b5a1/jline-3.21.0.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/5.9.0/8f503e6d9b500ceff299052d6be75b38c7257758/jna-5.9.0.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/util-interface/1.9.2/b696783ce958ebdf061c53fa173a67f9f1b88754/util-interface-1.9.2.jar:/home/gradle/.gradle/caches/modules-2/files-2.1/org.scala-sbt/compiler-bridge_2.13/1.9.3/f209697417427c3a239f809d1a0fb2e8614a1875/compiler-bridge_2.13-1.9.3-sources.jar -d /tmp/sbt_11b8cdfe -Xmaxwarns 0
116.0
116.0   last tree to typer: EmptyTree
116.0        tree position: <unknown>
116.0             tree tpe: <notype>
116.0               symbol: null
116.0            call site: <none> in <none>
116.0
116.0 == Source file context for tree position ==
116.0
116.0
116.0   at scala.reflect.internal.Reporting.abort(Reporting.scala:69)
116.0   at scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
116.0   at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
116.0   at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:408)
...

This appears to be lack of support in scala for certain java 21 compiled classes.