Skip to content

semanticdb: assertion failed in runMacro test #8970

Closed
@bishabosha

Description

@bishabosha

To Reproduce

Add "-Ysemanticdb" to checkOptions in compiler/test/dotty/tools/vulpix/TestConfiguration.scala and test dotty.tools.dotc.BootstrappedOnlyCompilationTests.runMacros

Output (click arrow to expand)

Fatal compiler crash when compiling: tests/run-macros/i8530:
assertion failed
dotty.DottyPredef$.assertFail(DottyPredef.scala:16)
dotty.tools.dotc.util.Spans$Span$.start$extension(Spans.scala:44)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.computeLocalIdx$1(ExtractSemanticDB.scala:341)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.localIdx$2$$anonfun$1(ExtractSemanticDB.scala:349)
dotty.runtime.function.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:12)
scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:440)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.localIdx$1(ExtractSemanticDB.scala:349)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.addSymName(ExtractSemanticDB.scala:355)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.symbolName(ExtractSemanticDB.scala:362)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.registerUse(ExtractSemanticDB.scala:471)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.registerUseGuarded(ExtractSemanticDB.scala:468)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:222)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1436)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:238)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1400)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:238)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$1(Trees.scala:1360)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:168)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:164)
scala.collection.immutable.List.foldLeft(List.scala:79)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1360)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1398)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:238)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$1(Trees.scala:1360)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:168)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:164)
scala.collection.immutable.List.foldLeft(List.scala:79)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1360)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1392)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:238)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1443)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:181)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse$$anonfun$12(ExtractSemanticDB.scala:195)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
scala.collection.immutable.List.foreach(List.scala:333)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:195)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1478)
dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1447)
dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1479)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:181)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse$$anonfun$1(ExtractSemanticDB.scala:139)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
scala.collection.immutable.List.foreach(List.scala:333)
dotty.tools.dotc.semanticdb.ExtractSemanticDB$Extractor.traverse(ExtractSemanticDB.scala:139)
dotty.tools.dotc.semanticdb.ExtractSemanticDB.run(ExtractSemanticDB.scala:45)
dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:318)
scala.collection.immutable.List.map(List.scala:246)
dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:319)
dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:165)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
dotty.tools.dotc.Run.runPhases$5(Run.scala:175)
dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:183)
dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
dotty.tools.dotc.Run.compileUnits(Run.scala:190)
dotty.tools.dotc.Run.compileSources(Run.scala:127)
dotty.tools.dotc.Run.compile(Run.scala:110)
dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
dotty.tools.dotc.Driver.process(Driver.scala:194)
dotty.tools.dotc.Driver.process(Driver.scala:163)
dotty.tools.vulpix.ParallelTesting$Test.compile(ParallelTesting.scala:477)
dotty.tools.vulpix.ParallelTesting$CompilationLogic.compileTestSource$$anonfun$2$$anonfun$1(ParallelTesting.scala:208)
scala.collection.immutable.List.map(List.scala:250)
dotty.tools.vulpix.ParallelTesting$CompilationLogic.compileTestSource$$anonfun$1(ParallelTesting.scala:208)
scala.util.Try$.apply(Try.scala:210)
dotty.tools.vulpix.ParallelTesting$CompilationLogic.dotty$tools$vulpix$ParallelTesting$CompilationLogic$$compileTestSource(ParallelTesting.scala:209)
dotty.tools.vulpix.ParallelTesting$$anon$2.checkTestSource$$anonfun$1(ParallelTesting.scala:252)
dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
dotty.tools.vulpix.ParallelTesting$Test.tryCompile(ParallelTesting.scala:420)
dotty.tools.vulpix.ParallelTesting$$anon$2.checkTestSource(ParallelTesting.scala:255)
dotty.tools.vulpix.ParallelTesting$Test$LoggedRunnable.run(ParallelTesting.scala:323)
dotty.tools.vulpix.ParallelTesting$$anon$2.run(ParallelTesting.scala:250)
java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions