Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.ExceptionInInitializerError when Run mill __.compile with Java 21 #153

Closed
He-Pin opened this issue Nov 27, 2024 · 4 comments · Fixed by #154
Closed

java.lang.ExceptionInInitializerError when Run mill __.compile with Java 21 #153

He-Pin opened this issue Nov 27, 2024 · 4 comments · Fixed by #154

Comments

@He-Pin
Copy link
Contributor

He-Pin commented Nov 27, 2024

Java version: java 21.0.5 2024-10-15 LTS
Platform : Macbook m3

when run mill __.compile I get:

hepin@Mac cask % mill __.compile
============================== __.compile ==============================
========================================================================
[5898/5898] ============================== __.compile ==============================
====================================================================================
3 tasks failed
example.twirl.app[2.12.17].compileTwirl java.lang.reflect.InvocationTargetException
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.NoClassDefFoundError: Could not initialize class play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.ExceptionInInitializerError: Exception scala.reflect.internal.FatalError: 
  bad constant pool index: 0 at pos: 49842
     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 :/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar:/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4.jar -Ymacro-expand:discard

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

 [in thread "pool-2-thread-6"]
    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:407)
    scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:262)
    scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:852)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:858)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$6(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:634)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:547)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:174)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:159)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:142)
    scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:341)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.$anonfun$complete$2(SymbolLoaders.scala:248)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:246)
    scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1559)
    scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1531)
    scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:47)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1581)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1563)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1650)
    scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
    scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1328)
    scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1351)
    scala.tools.nsc.interactive.Global.<init>(Global.scala:294)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler$lzycompute(TwirlCompiler.scala:648)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler(TwirlCompiler.scala:619)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$.<clinit>(TwirlCompiler.scala:688)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
example.twirl.app[2.13.10].compileTwirl java.lang.reflect.InvocationTargetException
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.NoClassDefFoundError: Could not initialize class play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.ExceptionInInitializerError: Exception scala.reflect.internal.FatalError: 
  bad constant pool index: 0 at pos: 49842
     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 :/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar:/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4.jar -Ymacro-expand:discard

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

 [in thread "pool-2-thread-6"]
    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:407)
    scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:262)
    scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:852)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:858)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$6(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:634)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:547)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:174)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:159)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:142)
    scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:341)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.$anonfun$complete$2(SymbolLoaders.scala:248)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:246)
    scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1559)
    scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1531)
    scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:47)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1581)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1563)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1650)
    scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
    scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1328)
    scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1351)
    scala.tools.nsc.interactive.Global.<init>(Global.scala:294)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler$lzycompute(TwirlCompiler.scala:648)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler(TwirlCompiler.scala:619)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$.<clinit>(TwirlCompiler.scala:688)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
example.twirl.app[3.3.4].compileTwirl java.lang.reflect.InvocationTargetException
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.NoClassDefFoundError: Could not initialize class play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)
java.lang.ExceptionInInitializerError: Exception scala.reflect.internal.FatalError: 
  bad constant pool index: 0 at pos: 49842
     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 :/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar:/Users/hepin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4.jar -Ymacro-expand:discard

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

 [in thread "pool-2-thread-6"]
    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:407)
    scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:262)
    scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:852)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:858)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$6(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:935)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:634)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:547)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:174)
    scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:159)
    scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:142)
    scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:341)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.$anonfun$complete$2(SymbolLoaders.scala:248)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:246)
    scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1559)
    scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1531)
    scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:47)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1260)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1581)
    scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1563)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1594)
    scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1650)
    scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
    scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1328)
    scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1351)
    scala.tools.nsc.interactive.Global.<init>(Global.scala:294)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler$lzycompute(TwirlCompiler.scala:648)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler(TwirlCompiler.scala:619)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$.<clinit>(TwirlCompiler.scala:688)
    play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:529)
    play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:423)
    play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:481)
    play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:254)
    play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:192)
    play.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.scala)
    play.japi.twirl.compiler.TwirlCompiler.compile(TwirlCompiler.java:43)
    java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    java.base/java.lang.reflect.Method.invoke(Method.java:580)
    mill.twirllib.TwirlWorker$$anon$1.compileTwirl(TwirlWorker.scala:115)
    mill.twirllib.TwirlWorker.$anonfun$compile$3(TwirlWorker.scala:167)
    mill.twirllib.TwirlWorker.$anonfun$compile$3$adapted(TwirlWorker.scala:157)
    scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    mill.twirllib.TwirlWorker.compileTwirlDir$1(TwirlWorker.scala:157)
    mill.twirllib.TwirlWorker.$anonfun$compile$4(TwirlWorker.scala:172)
    mill.twirllib.TwirlWorker.$anonfun$compile$4$adapted(TwirlWorker.scala:172)
    scala.collection.immutable.Vector.foreach(Vector.scala:2125)
    mill.twirllib.TwirlWorker.compile(TwirlWorker.scala:172)
    mill.twirllib.TwirlModule.$anonfun$compileTwirl$2(TwirlModule.scala:91)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:215)

@jodersky
Copy link
Member

jodersky commented Nov 27, 2024

This is probably related to twirl not building on JDK 21. You could try:

  • upgrading twirl in the example which fails to compile
  • not compiling the example (but everything else, which should work with JDK 21)
  • building with jdk 17 for the time being

@He-Pin
Copy link
Contributor Author

He-Pin commented Nov 27, 2024

I tried twirl version 1.6.7, the problem is the same.

@jodersky
Copy link
Member

jodersky commented Nov 27, 2024

Hmm, maybe the 2.x series work? https://github.com/playframework/twirl/releases/tag/2.0.7

If they don't then I think we should seriously consider dropping the twirl example, since it blocks a java 21 build, which is required for virtual thread support (#125)

@He-Pin
Copy link
Contributor Author

He-Pin commented Nov 27, 2024

There are more errors when compiling with Java 21, I think we need first make the project compiles successfully with Java 21.

jodersky added a commit that referenced this issue Nov 27, 2024
It appears that it actually wasn't twirl that was preventing a build
under jdk 21. Upgrading the various scala patch versions seems to fix
it.

I've tested this manually on my machine. In the future, it could be
interesting to also include a CI workflow that uses jdk 21.

Fixes #153
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants