Skip to content

Nondeterministic compiler crash on clean compile (ClassCastException: PolyType, CachedTermRef) #16884

Closed
@hnaderi

Description

@hnaderi

Compiler version

I tried with these versions
3.2.2 ,3.2.1, 3.2.0

Minimized code

I couldn't reproduce an independent minimized code yet, as it is hard to check whether the issue is gone or is not appearing due to some other change.

Output (click arrow to expand)

[error] java.lang.ClassCastException: dotty.tools.dotc.core.Types$CachedTermRef cannot be cast to dotty.tools.dotc.core.Types$PolyType [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:352) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:324) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:323) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1406) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformSelect(PostTyper.scala:207) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:356) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:324) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1406) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformSelect(PostTyper.scala:207) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:356) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:324) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1434) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:283) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transformSub(Trees.scala:1511) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1432) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1478) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform$$anonfun$5(PostTyper.scala:384) [error] dotty.tools.dotc.transform.SuperAccessors.wrapDefDef(SuperAccessors.scala:223) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:384) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformBlock(tpd.scala:1230) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1426) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:323) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1478) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform$$anonfun$5(PostTyper.scala:384) [error] dotty.tools.dotc.transform.SuperAccessors.wrapDefDef(SuperAccessors.scala:223) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:384) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformBlock(tpd.scala:1230) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1426) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:323) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1478) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform$$anonfun$5(PostTyper.scala:384) [error] dotty.tools.dotc.transform.SuperAccessors.wrapDefDef(SuperAccessors.scala:223) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:384) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformBlock(tpd.scala:1230) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1426) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:323) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformBlock$$anonfun$1$$anonfun$1(tpd.scala:1230) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1212) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformBlock(tpd.scala:1230) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1426) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:49) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform$$anonfun$1(Trees.scala:1507) [error] scala.collection.immutable.List.mapConserve(List.scala:472) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1507) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:323) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.app1$1(PostTyper.scala:324) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:337) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1227) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:47) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform$$anonfun$4$$anonfun$1(PostTyper.scala:371) [error] dotty.tools.dotc.transform.SuperAccessors.wrapTemplate(SuperAccessors.scala:208) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform$$anonfun$4(PostTyper.scala:371) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.withNoCheckNews(PostTyper.scala:104) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:373) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1480) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:411) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1227) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1488) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.loop$2(tpd.scala:1225) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1225) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformStats(PostTyper.scala:474) [error] dotty.tools.dotc.ast.tpd$TreeMapWithPreciseStatContexts.transformStats(tpd.scala:1227) [error] dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1488) [error] dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:40) [error] dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:465) [error] dotty.tools.dotc.transform.MacroTransform.run(MacroTransform.scala:18) [error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:316) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:320) [error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:238) [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:1321) [error] dotty.tools.dotc.Run.runPhases$1(Run.scala:249) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:257) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:266) [error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68) [error] dotty.tools.dotc.Run.compileUnits(Run.scala:266) [error] dotty.tools.dotc.Run.compileSources(Run.scala:190) [error] dotty.tools.dotc.Run.compile(Run.scala:174) [error] dotty.tools.dotc.Driver.doCompile(Driver.scala:35) [error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88) [error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22) [error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193) [error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) [error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163) [error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) [error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163) [error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:179) [error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:177) [error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:463) [error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) [error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) [error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) [error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263) [error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:418) [error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506) [error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:405) [error] sbt.internal.inc.Incremental$.apply(Incremental.scala:171) [error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488) [error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) [error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425) [error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) [error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2363) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2313) [error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:30) [error] sbt.internal.io.Retry$.apply(Retry.scala:46) [error] sbt.internal.io.Retry$.apply(Retry.scala:28) [error] sbt.internal.io.Retry$.apply(Retry.scala:23) [error] sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:30) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2311) [error] scala.Function1.$anonfun$compose$1(Function1.scala:49) [error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62) [error] sbt.std.Transform$$anon$4.work(Transform.scala:68) [error] sbt.Execute.$anonfun$submit$2(Execute.scala:282) [error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) [error] sbt.Execute.work(Execute.scala:291) [error] sbt.Execute.$anonfun$submit$1(Execute.scala:282) [error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) [error] sbt.CompletionService$$anon$2.call(CompletionService.scala:64) [error] java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] java.lang.Thread.run(Thread.java:750) [error] (clientJS / Test / compileIncremental) java.lang.ClassCastException: dotty.tools.dotc.core.Types$CachedTermRef cannot be cast to dotty.tools.dotc.core.Types$PolyType

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions