-
Notifications
You must be signed in to change notification settings - Fork 397
Closed
Labels
bugConfirmed bug. Needs to be fixed.Confirmed bug. Needs to be fixed.
Milestone
Description
full example code xuwei-k/scala-js-1-20-0-crash@a84a17b
Main.scala
package example
object Main {
def main(args: Array[String]): Unit = {
println(foo(Array(1, 2, 3), 5L))
}
def foo: (Array[Int], Long) => Long = { (array, z) =>
array.foldRight(z)(_ - _)
}
}
build.sbt
scalaVersion := "3.3.6"
enablePlugins(ScalaJSPlugin)
scalaJSUseMainModuleInitializer := true
project/build.properties
sbt.version=1.11.5
project/plugin.sbt
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.20.0")
sbt run
result
[error] org.scalajs.linker.frontend.optimizer.OptimizerCore$OptimizeException: The Scala.js optimizer crashed while optimizing example.Main$.foo;Lscala.Function2: java.lang.AssertionError: rolled-back RuntimeLong inlining at Position(file:/home/runner/work/scala-js-1-20-0-crash/scala-js-1-20-0-crash/Main.scala,8,42)
[error] Methods attempted to inline:
[error] * private static example.Main$.foo$$anonfun$adapted$1;Ljava.lang.Object;Ljava.lang.Object;J
[error] * private static example.Main$.foo$$anonfun$1;[I;J;J
[error] * org.scalajs.linker.runtime.RuntimeLong.lo;I
[error] * org.scalajs.linker.runtime.RuntimeLong.hi;I
[error] * scala.Predef$.intArrayOps;[I;Ljava.lang.Object
[error] * scala.Function2.$init$;V
[error] * scala.collection.ArrayOps$.foldRight$extension;Ljava.lang.Object;Ljava.lang.Object;Lscala.Function2;Ljava.lang.Object
[error] * private static scala.collection.ArrayOps$.f$3;Ljava.lang.Object;Lscala.Function2;Ljava.lang.Object;Ljava.lang.Object
[error] * scala.scalajs.runtime.AnonFunction2.$$Lambda$1a8112ad760bd31301975c22c9537bb38341e0c2.apply;Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object
[error] * private static example.Main$.foo$$anonfun$1$$anonfun$adapted$1;Ljava.lang.Object;Ljava.lang.Object;J
[error] * private static example.Main$.foo$$anonfun$1$$anonfun$1;I;J;J
[error] * static org.scalajs.linker.runtime.RuntimeLong.fromInt;I;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * org.scalajs.linker.runtime.RuntimeLong$.fromInt;I;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * static org.scalajs.linker.runtime.RuntimeLong.sub;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * org.scalajs.linker.runtime.RuntimeLong$.sub;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * private static scala.collection.ArrayOps$.f$mIc$sp$2;[I;Lscala.Function2;Ljava.lang.Object;Ljava.lang.Object
[error]
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.optimize(OptimizerCore.scala:178)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$MethodImpl.doProcess(IncOptimizer.scala:1688)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$MethodImpl.doProcess(IncOptimizer.scala:1626)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$Processable.process(IncOptimizer.scala:1561)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer.$anonfun$processAllTaggedMethods$3(IncOptimizer.scala:411)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer.$anonfun$processAllTaggedMethods$3$adapted(IncOptimizer.scala:411)
[error] at scala.collection.parallel.mutable.ParArray$ParArrayIterator.foreach(ParArray.scala:145)
[error] at scala.collection.parallel.ParIterableLike$Foreach.leaf(ParIterableLike.scala:982)
[error] at scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] at scala.util.control.Breaks$$anon$1.catchBreak(Breaks.scala:67)
[error] at scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
[error] at scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
[error] at scala.collection.parallel.ParIterableLike$Foreach.tryLeaf(ParIterableLike.scala:979)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal(Tasks.scala:170)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal$(Tasks.scala:157)
[error] at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.internal(Tasks.scala:440)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:150)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
[error] at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
[error] at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
[error] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[error] at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
[error] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
[error] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
[error] Caused by: java.lang.AssertionError: rolled-back RuntimeLong inlining at Position(file:/home/runner/work/scala-js-1-20-0-crash/scala-js-1-20-0-crash/Main.scala,8,42)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$expandLongValue$3(OptimizerCore.scala:3626)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.buildInner$1(OptimizerCore.scala:1385)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.pretransformAssign(OptimizerCore.scala:1398)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$transform$3(OptimizerCore.scala:343)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$3(OptimizerCore.scala:5853)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$3(OptimizerCore.scala:5853)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$pretransformApplyTypedClosure$1(OptimizerCore.scala:2566)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.pretransformSelectCommon(OptimizerCore.scala:1244)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$pretransformSelectCommon$1(OptimizerCore.scala:1211)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$pretransformExpr$1(OptimizerCore.scala:934)
[error] at scala.util.control.TailCalls$TailRec.result(TailCalls.scala:81)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:377)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformStat(OptimizerCore.scala:300)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformList$1(OptimizerCore.scala:860)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformBlock(OptimizerCore.scala:867)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:332)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformStat(OptimizerCore.scala:300)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:440)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformStat(OptimizerCore.scala:300)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.pretransformList$1(OptimizerCore.scala:1126)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$pretransformBlock$2(OptimizerCore.scala:1120)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withBinding$1(OptimizerCore.scala:5768)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.withDedicatedVar$1(OptimizerCore.scala:5852)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$1(OptimizerCore.scala:5861)
[error] at scala.util.control.TailCalls$TailRec.result(TailCalls.scala:81)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:588)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformList$1(OptimizerCore.scala:846)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$transformBlock$3(OptimizerCore.scala:853)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withBinding$1(OptimizerCore.scala:5768)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$1(OptimizerCore.scala:5873)
[error] at scala.util.control.TailCalls$TailRec.result(TailCalls.scala:81)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformList$1(OptimizerCore.scala:850)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformBlock(OptimizerCore.scala:867)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:332)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$inlineBody$6(OptimizerCore.scala:2792)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withBindings$1(OptimizerCore.scala:5758)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$2(OptimizerCore.scala:5791)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$2(OptimizerCore.scala:5791)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.withNewLocalDefs(OptimizerCore.scala:5796)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$1(OptimizerCore.scala:5792)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$1(OptimizerCore.scala:5873)
[error] at scala.util.control.TailCalls$TailRec.result(TailCalls.scala:81)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:526)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$inlineBody$6(OptimizerCore.scala:2792)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withBindings$1(OptimizerCore.scala:5758)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$2(OptimizerCore.scala:5791)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$2(OptimizerCore.scala:5791)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.withNewLocalDefs(OptimizerCore.scala:5796)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDefs$1(OptimizerCore.scala:5792)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$withNewLocalDef$1(OptimizerCore.scala:5873)
[error] at scala.util.control.TailCalls$TailRec.result(TailCalls.scala:81)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:526)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformExpr(OptimizerCore.scala:312)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformCapturingBody(OptimizerCore.scala:827)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformClosureCommon(OptimizerCore.scala:757)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$transform$35(OptimizerCore.scala:692)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.pretransformExprs(OptimizerCore.scala:885)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$transform$34(OptimizerCore.scala:690)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.trampoline(OptimizerCore.scala:5983)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:690)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformExpr(OptimizerCore.scala:312)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.$anonfun$transform$14(OptimizerCore.scala:498)
[error] at scala.collection.immutable.List.map(List.scala:293)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transform(OptimizerCore.scala:498)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.transformMethodDefBody(OptimizerCore.scala:5517)
[error] at org.scalajs.linker.frontend.optimizer.OptimizerCore.optimize(OptimizerCore.scala:166)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$MethodImpl.doProcess(IncOptimizer.scala:1688)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$MethodImpl.doProcess(IncOptimizer.scala:1626)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer$Processable.process(IncOptimizer.scala:1561)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer.$anonfun$processAllTaggedMethods$3(IncOptimizer.scala:411)
[error] at org.scalajs.linker.frontend.optimizer.IncOptimizer.$anonfun$processAllTaggedMethods$3$adapted(IncOptimizer.scala:411)
[error] at scala.collection.parallel.mutable.ParArray$ParArrayIterator.foreach(ParArray.scala:145)
[error] at scala.collection.parallel.ParIterableLike$Foreach.leaf(ParIterableLike.scala:982)
[error] at scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] at scala.util.control.Breaks$$anon$1.catchBreak(Breaks.scala:67)
[error] at scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
[error] at scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
[error] at scala.collection.parallel.ParIterableLike$Foreach.tryLeaf(ParIterableLike.scala:979)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal(Tasks.scala:170)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal$(Tasks.scala:157)
[error] at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.internal(Tasks.scala:440)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:150)
[error] at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
[error] at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
[error] at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
[error] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[error] at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
[error] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
[error] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
[error] (Compile / fastLinkJS) org.scalajs.linker.frontend.optimizer.OptimizerCore$OptimizeException: The Scala.js optimizer crashed while optimizing example.Main$.foo;Lscala.Function2: java.lang.AssertionError: rolled-back RuntimeLong inlining at Position(file:/home/runner/work/scala-js-1-20-0-crash/scala-js-1-20-0-crash/Main.scala,8,42)
[error] Methods attempted to inline:
[error] * private static example.Main$.foo$$anonfun$adapted$1;Ljava.lang.Object;Ljava.lang.Object;J
[error] * private static example.Main$.foo$$anonfun$1;[I;J;J
[error] * org.scalajs.linker.runtime.RuntimeLong.lo;I
[error] * org.scalajs.linker.runtime.RuntimeLong.hi;I
[error] * scala.Predef$.intArrayOps;[I;Ljava.lang.Object
[error] * scala.Function2.$init$;V
[error] * scala.collection.ArrayOps$.foldRight$extension;Ljava.lang.Object;Ljava.lang.Object;Lscala.Function2;Ljava.lang.Object
[error] * private static scala.collection.ArrayOps$.f$3;Ljava.lang.Object;Lscala.Function2;Ljava.lang.Object;Ljava.lang.Object
[error] * scala.scalajs.runtime.AnonFunction2.$$Lambda$1a8112ad760bd31301975c22c9537bb38341e0c2.apply;Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object
[error] * private static example.Main$.foo$$anonfun$1$$anonfun$adapted$1;Ljava.lang.Object;Ljava.lang.Object;J
[error] * private static example.Main$.foo$$anonfun$1$$anonfun$1;I;J;J
[error] * static org.scalajs.linker.runtime.RuntimeLong.fromInt;I;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * org.scalajs.linker.runtime.RuntimeLong$.fromInt;I;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * static org.scalajs.linker.runtime.RuntimeLong.sub;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * org.scalajs.linker.runtime.RuntimeLong$.sub;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong;Lorg.scalajs.linker.runtime.RuntimeLong
[error] * private static scala.collection.ArrayOps$.f$mIc$sp$2;[I;Lscala.Function2;Ljava.lang.Object;Ljava.lang.Object
Metadata
Metadata
Assignees
Labels
bugConfirmed bug. Needs to be fixed.Confirmed bug. Needs to be fixed.