Exception while compiling with 2.9.2

18 views
Skip to first unread message

Rostic

unread,
May 22, 2012, 1:56:16 PM5/22/12
to scala-user
Hi All,

I've recently introduced a few Scala tests into a large java code
base. I've been experiencing an issue compiling the code. The
compiler behavior seems non-deterministic and my attempts to produce a
test case are failing so far. The behavior seems very similar to the
following JIRA ticket https://issues.scala-lang.org/browse/SI-2940 .

The exception happens on various platforms and in various
environments, but sporadically (mac, windows, eclipse plugin, command
line). The java interface that is listed in the exception is a part
of an extensive generics+inheritance hierarchy. Here is the stack
trace.

Exception thrown while creating override indicators for XXXTest.scala

java.lang.AssertionError: assertion failed: unsatisfiable cyclic
dependency in 'trait XXXXX-MY-JAVA-INTERFACE-HERE'
at
scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:
69)
at scala.tools.nsc.symtab.SymbolLoaders
$ClassfileLoader.doComplete(SymbolLoaders.scala:308)
at scala.tools.nsc.symtab.SymbolLoaders
$SymbolLoader.complete(SymbolLoaders.scala:111)
at scala.tools.nsc.symtab.SymbolLoaders
$SymbolLoader.load(SymbolLoaders.scala:130)
at scala.tools.nsc.symtab.Symbols
$Symbol.typeParams(Symbols.scala:913)
at scala.tools.nsc.symtab.Types
$TypeMap.mapOver(Types.scala:3117)
at scala.tools.nsc.symtab.Types
$SubstSymMap.apply(Types.scala:3607)
at scala.tools.nsc.symtab.Types
$SubstSymMap.apply(Types.scala:3592)
at scala.tools.nsc.symtab.Types
$TypeMap.mapOver(Types.scala:3160)
at scala.tools.nsc.symtab.Types
$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types
$SubstSymMap.apply(Types.scala:3611)
at scala.tools.nsc.symtab.Types
$Type.substSym(Types.scala:593)
at scala.tools.nsc.symtab.Types$$anonfun
$typeParamsToExistentials$1.apply(Types.scala:3341)
at scala.tools.nsc.symtab.Types$$anonfun
$typeParamsToExistentials$1.apply(Types.scala:3341)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.symtab.Types
$class.typeParamsToExistentials(Types.scala:3341)
at
scala.tools.nsc.symtab.SymbolTable.typeParamsToExistentials(SymbolTable.scala:
13)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.processClassType
$1(ClassfileParser.scala:763)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.sig2type
$1(ClassfileParser.scala:777)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.sig2typeBounds
$1(ClassfileParser.scala:822)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.scala$tools$nsc$symtab
$classfile$ClassfileParser$$sigToType(ClassfileParser.scala:837)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute
$1(ClassfileParser.scala:883)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:
1092)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:
560)
at
scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:
99)
at scala.tools.nsc.symtab.SymbolLoaders
$ClassfileLoader.doComplete(SymbolLoaders.scala:308)
at scala.tools.nsc.symtab.SymbolLoaders
$SymbolLoader.complete(SymbolLoaders.scala:111)
at scala.tools.nsc.symtab.SymbolLoaders
$SymbolLoader.complete(SymbolLoaders.scala:85)
at scala.tools.nsc.symtab.Symbols
$Symbol.info(Symbols.scala:730)
at scala.tools.nsc.symtab.Types
$TypeRef.baseTypeSeq(Types.scala:1943)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:869)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:909)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:909)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getClassParts$1(Implicits.scala:872)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:903)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$2.apply(Implicits.scala:922)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$2.apply(Implicits.scala:922)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:922)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch
$$anonfun$getParts$1$1.apply(Implicits.scala:910)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.getParts$1(Implicits.scala:910)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.companionImplicitMap(Implicits.scala:937)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$
$implicitsOfExpectedType(Implicits.scala:1036)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.implicitManifestOrOfExpectedType(Implicits.scala:1154)
at scala.tools.nsc.typechecker.Implicits
$ImplicitSearch.bestImplicit(Implicits.scala:1181)
at scala.tools.nsc.typechecker.Implicits
$class.inferImplicit(Implicits.scala:67)
at scala.tools.nsc.Global$analyzer
$.inferImplicit(Global.scala:351)
at scala.tools.nsc.typechecker.Typers
$Typer.wrapImplicit$1(Typers.scala:168)
at scala.tools.nsc.typechecker.Typers
$Typer.inferView(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers
$Typer.adaptToMember(Typers.scala:992)
at scala.tools.nsc.typechecker.Typers$Typer.doAdapt
$1(Typers.scala:1013)
at scala.tools.nsc.typechecker.Typers
$Typer.adaptToArguments(Typers.scala:1023)
at scala.tools.nsc.typechecker.Typers
$Typer.tryTypedApply$1(Typers.scala:3334)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply
$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:4106)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers
$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers
$Typer.typedArgToPoly$1(Typers.scala:2479)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$32.apply(Typers.scala:2487)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$32.apply(Typers.scala:2487)
at scala.Tuple2$Zipped$$anonfun$map
$1.apply(Tuple2.scala:65)
at scala.Tuple2$Zipped$$anonfun$map
$1.apply(Tuple2.scala:63)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.Tuple2$Zipped.map(Tuple2.scala:63)
at scala.tools.nsc.typechecker.Typers
$Typer.doTypedApply(Typers.scala:2487)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply
$1(Typers.scala:3373)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:4106)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers
$Typer.typedQualifier(Typers.scala:4352)
at scala.tools.nsc.typechecker.Typers
$Typer.typedQualifier(Typers.scala:4358)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:4146)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$typedApply$1$1.apply(Typers.scala:3355)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$typedApply$1$1.apply(Typers.scala:3355)
at scala.tools.nsc.typechecker.Typers
$Typer.silent(Typers.scala:624)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply
$1(Typers.scala:3355)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:4106)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers
$Typer.typedBlock(Typers.scala:1920)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:3953)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers
$Typer.transformedOrTyped(Typers.scala:4430)
at scala.tools.nsc.typechecker.Typers
$Typer.typedDefDef(Typers.scala:1760)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:3921)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat
$1(Typers.scala:2100)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$24.apply(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$24.apply(Typers.scala:2184)
at scala.collection.immutable.List.loop$1(List.scala:
148)
at
scala.collection.immutable.List.mapConserve(List.scala:164)
at scala.tools.nsc.typechecker.Typers
$Typer.typedStats(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers
$Typer.typedTemplate(Typers.scala:1512)
at scala.tools.nsc.typechecker.Typers
$Typer.typedClassDef(Typers.scala:1278)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:3912)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat
$1(Typers.scala:2100)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$24.apply(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun
$24.apply(Typers.scala:2184)
at scala.collection.immutable.List.loop$1(List.scala:
148)
at
scala.collection.immutable.List.mapConserve(List.scala:164)
at scala.tools.nsc.typechecker.Typers
$Typer.typedStats(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers
$Typer.typed1(Typers.scala:3908)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4273)
at scala.tools.nsc.typechecker.Typers
$Typer.typed(Typers.scala:4333)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$
$anon$3.apply(Analyzer.scala:94)
at scala.tools.nsc.Global
$GlobalPhase.applyPhase(Global.scala:329)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun
$applyPhase$1.apply(Global.scala:1054)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun
$applyPhase$1.apply(Global.scala:1054)
at
scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:95)
at scala.tools.nsc.interactive.Global
$TyperRun.applyPhase(Global.scala:1054)
at scala.tools.nsc.interactive.Global
$TyperRun.typeCheck(Global.scala:1047)
at scala.tools.nsc.interactive.Global.scala$tools$nsc
$interactive$Global$$typeCheck(Global.scala:556)
at scala.tools.nsc.interactive.Global$$anonfun
$backgroundCompile$5$$anonfun$apply$7.apply(Global.scala:473)
at scala.tools.nsc.interactive.Global$$anonfun
$backgroundCompile$5.apply(Global.scala:469)
at scala.tools.nsc.interactive.Global$$anonfun
$backgroundCompile$5.apply(Global.scala:469)
at scala.collection.TraversableLike$WithFilter$$anonfun
$foreach$1.apply(TraversableLike.scala:743)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:
76)
at scala.collection.TraversableLike
$WithFilter.foreach(TraversableLike.scala:742)
at
scala.tools.nsc.interactive.Global.backgroundCompile(Global.scala:469)
at
scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:
25)

Help or pointers are appreciated.

Thank you

Rostic

Josh Suereth

unread,
May 22, 2012, 2:02:37 PM5/22/12
to Rostic, scala-user
It's hard to offer any advice without some code, perhaps a small reproducible test case?
Reply all
Reply to author
Forward
0 new messages