mill requre jave17 to run correctly
Description:
If run mill will java21, it will get scala.reflect.internal.FatalError
error and fail.
But with set JAVA_HOME to java17, everything is fine.
Additional info:
log when running with java21
Compiling /tmp/build/mill/src/mill/ci/shared.sc
scala.reflect.internal.FatalError:
bad constant pool index: 0 at pos: 48445
while compiling: <no file>
during phase: globalPhase=<no phase>, enteringPhase=<some phase>
library version: version 2.13.10
compiler version: version 2.13.10
reconstructed args: -nowarn -Xmaxwarns 0 -Yresolve-term-conflict:object
last tree to typer: EmptyTree
tree position: <unknown>
tree tpe: <notype>
symbol: null
call site: <none> in <none>
== Source file context for tree position ==
scala.reflect.internal.Reporting.abort(Reporting.scala:69)
scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:408)
scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:263)
scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:842)
scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:848)
scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$6(ClassfileParser.scala:925)
scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:1497)
scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:625)
scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:548)
scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:175)
scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:160)
scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:143)
scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:342)
scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.$anonfun$complete$2(SymbolLoaders.scala:249)
scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:247)
scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1563)
scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1535)
scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:48)
scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1261)
scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1261)
scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1583)
scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1565)
scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1596)
scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1596)
scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1652)
scala.tools.nsc.Global$Run.<init>(Global.scala:1236)
ammonite.compiler.Compiler$$anon$1.<init>(Compiler.scala:243)
ammonite.compiler.Compiler$.apply(Compiler.scala:108)
ammonite.compiler.CompilerLifecycleManager.init(CompilerLifecycleManager.scala:96)
ammonite.compiler.CompilerLifecycleManager.preprocess(CompilerLifecycleManager.scala:64)
ammonite.interp.Interpreter.compileRunBlock$1(Interpreter.scala:526)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$15(Interpreter.scala:587)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$14(Interpreter.scala:584)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$12(Interpreter.scala:581)
scala.Option.getOrElse(Option.scala:201)
ammonite.interp.Interpreter.loop$1(Interpreter.scala:581)
ammonite.interp.Interpreter.processAllScriptBlocks(Interpreter.scala:619)
ammonite.interp.Interpreter.$anonfun$processModule$6(Interpreter.scala:414)
ammonite.util.Catching.flatMap(Res.scala:115)
ammonite.interp.Interpreter.$anonfun$processModule$5(Interpreter.scala:405)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.processModule(Interpreter.scala:395)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$6(Interpreter.scala:186)
ammonite.util.Res$.$anonfun$map$1(Res.scala:43)
ammonite.util.Res$.$anonfun$fold$1(Res.scala:32)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:183)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:179)
scala.collection.immutable.List.foldLeft(List.scala:79)
ammonite.util.Res$.fold(Res.scala:30)
ammonite.util.Res$.map(Res.scala:43)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$5(Interpreter.scala:183)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$4(Interpreter.scala:175)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.resolveSingleImportHook(Interpreter.scala:174)
ammonite.interp.Interpreter.$anonfun$resolveImportHooks$1(Interpreter.scala:227)
ammonite.util.Res$.$anonfun$map$1(Res.scala:43)
ammonite.util.Res$.$anonfun$fold$1(Res.scala:32)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:183)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:179)
scala.collection.immutable.List.foldLeft(List.scala:79)
ammonite.util.Res$.fold(Res.scala:30)
ammonite.util.Res$.map(Res.scala:43)
ammonite.interp.Interpreter.resolveImportHooks(Interpreter.scala:227)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$14(Interpreter.scala:585)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$12(Interpreter.scala:581)
scala.Option.getOrElse(Option.scala:201)
ammonite.interp.Interpreter.loop$1(Interpreter.scala:581)
ammonite.interp.Interpreter.processAllScriptBlocks(Interpreter.scala:619)
ammonite.interp.Interpreter.$anonfun$processModule$6(Interpreter.scala:414)
ammonite.util.Catching.flatMap(Res.scala:115)
ammonite.interp.Interpreter.$anonfun$processModule$5(Interpreter.scala:405)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.processModule(Interpreter.scala:395)
mill.main.RunScript$.$anonfun$evaluateRootModule$1(RunScript.scala:160)
ammonite.util.Res$Success.flatMap(Res.scala:62)
mill.main.RunScript$.evaluateRootModule(RunScript.scala:152)
mill.main.RunScript$.runScript(RunScript.scala:71)
mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
mill.main.MainRunner.runScript(MainRunner.scala:92)
mill.MillMain$.main0(MillMain.scala:320)
mill.MillMain$.main(MillMain.scala:52)
mill.MillMain.main(MillMain.scala)
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
java.lang.reflect.Method.invoke(Method.java:580)
mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
mill.main.client.MillClientMain.main(MillClientMain.java:64)
Steps to reproduce:
- build mill for any project with latest java.