I get the following error(stack trace at the end) when I try to compile my Scala project in Eclipse. It says that assertion failed on a Java class TransportConf (which is in a project spark-network-common which is specified in the Java Build Path). I checked the target folder and the TransportConf.class exists

Possible cause for issue as it was working before:

  • I was merging code from upstream/master into my project and new dependencies were introduced. I normally run sbt {reload, eclipse with-source=true} and then refresh my eclipse projects. Is this the right approach?

Things I have done: - Update the spark-network-common compilation level to 1.6 as somehow the compilation level was set to 1.4 and I was getting errors for Java generics.

eclipse.buildId=3.0.3-20140327-1716-Typesafe
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/rajivabraham/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/rajivabraham/.eclipse_keyring -showlocation

Error
Thu Nov 27 07:52:19 EST 2014
Error in Scala compiler

java.lang.AssertionError: assertion failed: TransportConf
    at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1212)
    at scala.reflect.internal.Symbols$Symbol.baseTypeSeqLength$1(Symbols.scala:1628)
    at scala.reflect.internal.Symbols$Symbol.isLess(Symbols.scala:1631)
    at scala.reflect.internal.Types$Type.baseTypeIndex(Types.scala:992)
    at scala.reflect.internal.Types$CompoundType.baseType(Types.scala:1655)
    at scala.reflect.internal.Types$ClassTypeRef$class.baseType(Types.scala:2186)
    at scala.reflect.internal.Types$TypeRef$$anon$6.baseType(Types.scala:2544)
    at scala.reflect.internal.Types$class.firstTry$1(Types.scala:6043)
    at scala.reflect.internal.Types$class.isSubType2(Types.scala:6207)
    at scala.reflect.internal.Types$class.isSubType(Types.scala:5816)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:13)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:872)
    at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1160)
    at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1102)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5660)
    at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3042)
    at scala.tools.nsc.typechecker.Typers$Typer.loop$1(Typers.scala:3069)
    at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:3074)
    at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$handleMonomorphicCall$1(Typers.scala:3354)
    at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3398)
    at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4627)
    at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4659)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5564)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5721)
    at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:5808)
    at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:834)
    at scala.tools.nsc.typechecker.Namers$Namer.valDefSig(Namers.scala:1315)
    at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1457)
    at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1466)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:731)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1499)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:729)
    at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1614)
    at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1622)
    at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1612)
    at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1231)
    at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1374)
    at scala.tools.nsc.typechecker.MethodSynthesis$MethodSynth$class.addDerivedTrees(MethodSynthesis.scala:225)
    at scala.tools.nsc.typechecker.Namers$Namer.addDerivedTrees(Namers.scala:55)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1856)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1853)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1759)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5583)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2928)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
    at scala.collection.immutable.List.loop$1(List.scala:170)
    at scala.collection.immutable.List.mapConserve(List.scala:186)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
    at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5301)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5587)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5704)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:99)
    at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:91)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
    at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:123)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:99)
    at xsbt.CompilerInterface.run(CompilerInterface.scala:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:48)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply$mcV$sp(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile.sbt$compiler$AggressiveCompile$$timed(AggressiveCompile.scala:166)
    at sbt.compiler.AggressiveCompile$$anonfun$3.compileScala$1(AggressiveCompile.scala:98)
    at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:143)
    at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:87)
    at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:39)
    at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:37)
    at sbt.inc.IncrementalCommon.cycle(Incremental.scala:99)
    at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:38)
    at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:37)
    at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:65)
    at sbt.inc.Incremental$.compile(Incremental.scala:37)
    at sbt.inc.IncrementalCompile$.apply(Compile.scala:27)
    at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:157)
    at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:71)
    at sbt.compiler.AggressiveCompile.apply(AggressiveCompile.scala:46)
    at sbt.compiler.IC$.compile(IncrementalCompiler.scala:22)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.runCompiler(EclipseSbtBuildManager.scala:133)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.update(EclipseSbtBuildManager.scala:124)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.build(EclipseSbtBuildManager.scala:178)
    at scala.tools.eclipse.ScalaProject.build(ScalaProject.scala:666)
    at scala.tools.eclipse.ScalaBuilder.build(ScalaBuilder.scala:119)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:733)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:514)
    at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:423)
    at org.eclipse.jdt.internal.ui.util.CoreUtility$BuildJob.run(CoreUtility.java:162)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
3

There are 3 answers

1
Iulian Dragos On

It's hard to give an answer here, and there's too many questions to put in comments, so my attempt is more a request for for information than a real answer.

This is most likely a bug in the Scala compiler. What Scala version are you using, and what version of Scala IDE are you using? Does the build work fine in Sbt?

Is your dependent project a Java project, or a Scala one? Does it build without errors?

If not already using 4.0-RC2, I would upgrade the Scala plugin to that version. I'm assuming your project is on some version in the Scala 2.10 range, so make sure you Set the Scala installation to the right version (4.0-RC2 is only published for 2.11, but has multi-version support).

0
RAbraham On

Doing a mvn clean fixed the above error. I had done a build with mvn before and then also used sbt.

0
Thilina Piyadasun On

Clean your maven project by using mvn clean.(this error does not pop up as long as you have an internet connection)