Scala compiler 2.13.4 breaks with JDK 21 after JDK-8292275
envgap__jacoco__jacoco-1431
01 / FAILURE SIGNATURE
As reported upstream
error: scala.reflect.internal.FatalError:
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
25594b2c01d5b76a4f76cf2de967aa70258c84c0- Manifest
org.jacoco.core.test.validation.scala/pom.xml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
jacoco/jacoco #1431 · read the original issue
Since commit https://github.com/openjdk/jdk/commit/b3dbf28bc0614bee2f7137af95389134155c9511 our Scala integration test fails with the following error message:
```
error: scala.reflect.internal.FatalError:
bad constant pool index: 0 at pos: 47919
while compiling: <no file>
during phase: globalPhase=<no phase>, enteringPhase=<some phase>
library version: version 2.13.4
compiler version: version 2.13.4
reconstructed args: -bootclasspath /m2repo/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4.jar -classpath /m2repo/org/scala-sbt/compiler-interface/1.3.5/compiler-interface-1.3.5.jar:/m2repo/org/jline/jline/3.16.0/jline-3.16.0.jar:/m2repo/org/scala-lang/scala-reflect/2.13.4/scala-reflect-2.13.4.jar:/m2repo/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar:/m2repo/com/google/protobuf/protobuf-java/3.7.0/protobuf-java-3.7.0.jar:/m2repo/org/scala-sbt/util-interface/1.3.0/util-interface-1.3.0.jar:/m2repo/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar:/m2repo/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar:/m2repo/org/scala-lang/scala-reflect/2.13.4/scala-reflect-2.13.4.jar:/m2repo/org/jline/jline/3.16.0/jline-3.16.0.jar:/m2repo/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar:/m2repo/org/scala-lang/scala-reflect/2.13.4/scala-reflect-2.13.4.jar -d /tmp/scala-maven-plugin-compiler-bridge-classes13526635291236778617
last tree to typer: EmptyTree
tree position: <unknown>
tree tpe: <notype>
symbol: null
call site: <none> in <none>
== Source file context for tree position ==
at scala.reflect.internal.Reporting.abort(Reporting.scala:69)
at scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:407)
at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:262)
at scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:852)
at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:858)
at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$6(ClassfileParser.scala:935)
at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:935)
at scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:634)
at scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:547)
at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:174)
at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:159)
at scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:142)
at scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:341)
at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.$anonfun$complete$2(SymbolLoaders.scala:248)
at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:246)
at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1559)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1531)
at scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:47)
at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1260)
at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1260)
at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1581)
at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1563)
at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1594)
at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1594)
at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1650)
at scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
at scala.tools.nsc.Driver.doCompile(Driver.scala:47)
at scala.tools.nsc.MainClass.doCompile(Main.scala:30)
at scala.tools.nsc.Driver.process(Driver.scala:68)
at scala.tools.nsc.Main.process(Main.scala)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at sbt.internal.inc.RawCompiler.getReporter$1(RawCompiler.scala:56)
at sbt.internal.inc.RawCompiler.apply(RawCompiler.scala:77)
at sbt_inc.SbtIncrementalCompiler.getCompiledBridgeJar(SbtIncrementalCompiler.java:235)
at sbt_inc.SbtIncrementalCompiler.<init>(SbtIncrementalCompiler.java:78)
at scala_maven.ScalaCompilerSupport.incrementalCompile(ScalaCompilerSupport.java:282)
at scala_maven.ScalaCompilerSupport.compile(ScalaCompilerSupport.java:110)
at scala_maven.ScalaCompilerSupport.doExecute(ScalaCompilerSupport.java:92)
at scala_maven.ScalaMojoSupport.execute(ScalaMojoSupport.java:557)
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:103)
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)
```04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]