-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
area:erasureitype:bugitype:crashstat:needs minimizationNeeds a self contained minimizationNeeds a self contained minimization
Description
Compiler version
3.8.1
Minimized code
Not minimized yet, but crash is in my public s3torch repo (a spin-off from storch adding type-safety for tensors). The line causing the crash is EmbeddingSpec.scala:55 (in the multidevice-crash branch):
// [ ... ]
it("can run on the GPU") {
val emb = Embedding(NumEmbeddings, EmbeddingDim).to(CUDA)
val in = Tensor((1, 2, 1)).to(CUDA)
// This seems to compile fine:
val res = emb(in)
val r = res.to(CPU)
// Yet. Scala 3.8.1 crashes on this line:
// java.lang.AssertionError: assertion failed: no owner from <none>/ <none> in emb.apply[net.ypmania.s3torch.Dim.Static[(3L : Long)] *: EmptyTuple,
// net.ypmania.s3torch.DType.Int32.type](in).<none>
val r2 = emb(in).to(CPU)
}Output for "sbt test" (click arrow to expand)
Details
unhandled exception while running erasure on /home/jan/workspace/s3torch/src/test/scala/net/ypmania/s3torch/nn/EmbeddingSpec.scala
An unhandled exception was thrown in the compiler.
Please file a crash report here:
https://github.com/scala/scala3/issues/new/choose
For non-enriched exceptions, compile with -Xno-enrich-error-messages.
while compiling: /home/jan/workspace/s3torch/src/test/scala/net/ypmania/s3torch/nn/EmbeddingSpec.scala
during phase: erasure
mode: Mode(ImplicitsEnabled)
library version: version 3.8.1
compiler version: version 3.8.1
settings: -classpath /home/jan/workspace/s3torch/target/scala-3.8.1/test-classes:/home/jan/workspace/s3torch/target/scala-3.8.1/classes:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.8.1/scala3-library_3-3.8.1.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/pytorch/2.1.2-1.5.10/pytorch-2.1.2-1.5.10.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/pytorch/2.1.2-1.5.10/pytorch-2.1.2-1.5.10-linux-x86_64-gpu.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10-linux-x86_64.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/cuda/12.3-8.9-1.5.10/cuda-12.3-8.9-1.5.10.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/cuda/12.3-8.9-1.5.10/cuda-12.3-8.9-1.5.10-linux-x86_64.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/cuda/12.3-8.9-1.5.10/cuda-12.3-8.9-1.5.10-linux-x86_64-redist.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest_3/3.2.19/scalatest_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1/scala-library-3.8.1.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/javacpp/1.5.10/javacpp-1.5.10.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-core_3/3.2.19/scalatest-core_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-featurespec_3/3.2.19/scalatest-featurespec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-flatspec_3/3.2.19/scalatest-flatspec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-freespec_3/3.2.19/scalatest-freespec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-funsuite_3/3.2.19/scalatest-funsuite_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-funspec_3/3.2.19/scalatest-funspec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-propspec_3/3.2.19/scalatest-propspec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-refspec_3/3.2.19/scalatest-refspec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-wordspec_3/3.2.19/scalatest-wordspec_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-diagrams_3/3.2.19/scalatest-diagrams_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-matchers-core_3/3.2.19/scalatest-matchers-core_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-shouldmatchers_3/3.2.19/scalatest-shouldmatchers_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-mustmatchers_3/3.2.19/scalatest-mustmatchers_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalactic/scalactic_3/3.2.19/scalactic_3-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest-compatible/3.2.19/scalatest-compatible-3.2.19.jar:/home/jan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_3/2.1.0/scala-xml_3-2.1.0.jar -d /home/jan/workspace/s3torch/target/scala-3.8.1/test-classes -deprecation true -explain true -explain-cyclic true -feature true -language List(implicitConversions)
[error] ## Exception when compiling 8 sources to /home/jan/workspace/s3torch/target/scala-3.8.1/test-classes
[error] java.lang.AssertionError: assertion failed: no owner from <none>/ <none> in emb.apply[net.ypmania.s3torch.Dim.Static[(3L : Long)] *: EmptyTuple,
[error] net.ypmania.s3torch.DType.Int32.type](in).<none>
[error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:10)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedSelect(Erasure.scala:684)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3686)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3804)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedTypeApply(Erasure.scala:785)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3731)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedApply(Erasure.scala:818)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3711)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2997)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedValDef(Erasure.scala:889)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3690)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3804)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3919)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3965)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1045)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1534)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1538)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3719)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.typer.Typer.$anonfun$67(Typer.scala:3058)
[error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:256)
[error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:3058)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedDefDef(Erasure.scala:937)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3693)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3804)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3919)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3965)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1045)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1534)
[error] dotty.tools.dotc.typer.ReTyper.typedInlined(ReTyper.scala:99)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedInlined(Erasure.scala:879)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3734)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1541)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3719)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.typer.Typer.$anonfun$67(Typer.scala:3058)
[error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:256)
[error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:3058)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedDefDef(Erasure.scala:937)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3693)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3804)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3919)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3965)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1045)
[error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1534)
[error] dotty.tools.dotc.typer.ReTyper.typedInlined(ReTyper.scala:99)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedInlined(Erasure.scala:879)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3734)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3946)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3965)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1045)
[error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:3360)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1021)
[error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3699)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3703)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3804)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3919)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3965)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1045)
[error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:3495)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3745)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3805)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3892)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3897)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:4008)
[error] dotty.tools.dotc.transform.Erasure.run(Erasure.scala:139)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:386)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.immutable.List.foreach(List.scala:327)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:379)
[error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:380)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1324)
[error] dotty.tools.dotc.Run.runPhases$1(Run.scala:373)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1$$anonfun$2(Run.scala:420)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1$$anonfun$adapted$1(Run.scala:420)
[error] scala.Function0.apply$mcV$sp(Function0.scala:42)
[error] dotty.tools.dotc.Run.showProgress(Run.scala:482)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:420)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:432)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:69)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:432)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:319)
[error] dotty.tools.dotc.Run.compile(Run.scala:304)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
[error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:141)
[error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:erasureitype:bugitype:crashstat:needs minimizationNeeds a self contained minimizationNeeds a self contained minimization