2.11 build broken?

117 views
Skip to first unread message

Simon Schäfer

unread,
Jul 7, 2014, 1:57:25 PM7/7/14
to scala-...@googlegroups.com
I get some weird errors in all my Scala projects due to binary
incompatibilities after I installed a current 2.11 build. sbt is
constantly crashing with something like:

java.lang.NoSuchMethodError:
scala.tools.nsc.Global$Run.allConditionalWarnings()Lscala/collection/immutable/List;
at
xsbt.CachedCompiler0.processUnreportedWarnings(CompilerInterface.scala:151)

After taking a look to my eclipse/plugins directory I found a directory
with the name org.scala-ide.scala210.jars_4.0.0.201407071604, shouldn't
this named something like scala211?

iulian dragos

unread,
Jul 8, 2014, 4:28:08 AM7/8/14
to scala-ide-dev, Adriaan Moors
Hi Simon,

We noticed some issues, and we're looking into it. There were some changes in reporting, merged yesterday: https://github.com/scala/scala/pull/3820

iulian




--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-ide-dev/53BADF84.8080401%40antoras.de.
For more options, visit https://groups.google.com/d/optout.



--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

Jerzy Müller

unread,
Jul 8, 2014, 4:51:54 AM7/8/14
to scala-...@googlegroups.com, adri...@gmail.com
I also have problems with 2.11 builds, strangely they appear on all our branches without any changes from our side.


On Tuesday, July 8, 2014 10:28:08 AM UTC+2, Iulian Dragos wrote:
Hi Simon,

We noticed some issues, and we're looking into it. There were some changes in reporting, merged yesterday: https://github.com/scala/scala/pull/3820

iulian
On Mon, Jul 7, 2014 at 7:57 PM, Simon Schäfer <ma...@antoras.de> wrote:
I get some weird errors in all my Scala projects due to binary incompatibilities after I installed a current 2.11 build. sbt is constantly crashing with something like:

java.lang.NoSuchMethodError: scala.tools.nsc.Global$Run.allConditionalWarnings()Lscala/collection/immutable/List;
    at xsbt.CachedCompiler0.processUnreportedWarnings(CompilerInterface.scala:151)

After taking a look to my eclipse/plugins directory I found a directory with the name org.scala-ide.scala210.jars_4.0.0.201407071604, shouldn't this named something like scala211?


--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.

Adriaan Moors

unread,
Jul 8, 2014, 5:01:15 AM7/8/14
to Jerzy Müller, scala-...@googlegroups.com
Hi,

The NoSuchMethodError implies the sbt compiler interface you're using wasn't recompiled.
The PR was merged only after IDE validation passed, so it seems unlikely we broke the IDE.

cheers
adriaan

iulian dragos

unread,
Jul 8, 2014, 5:09:50 AM7/8/14
to scala-ide-dev, Jerzy Müller
On Tue, Jul 8, 2014 at 11:00 AM, Adriaan Moors <adr...@typesafe.com> wrote:
Hi,

The NoSuchMethodError implies the sbt compiler interface you're using wasn't recompiled.

Simon, can you check the compiler-interface store inside your workspace? You should fined it inside <workspace>/.metadata/.plugins/org.scala-ide.sdt.core/compiler-interfaces/

You should have something like this:

drwxr-xr-x  3 dragos  staff  102 May 23 13:08 2.10.5.-20140407-165700-ec05aeb3d6
drwxr-xr-x  3 dragos  staff  102 Jul  8 11:06 2.10.5.-20140704-092819-d74da160b0
drwxr-xr-x  3 dragos  staff  102 May 15 14:10 2.11.1.-20140513-211750-c763d8413b
drwxr-xr-x  3 dragos  staff  102 May 26 14:40 2.11.1.-20140521-142247-6c99037952
drwxr-xr-x  3 dragos  staff  102 Jun  3 14:50 2.11.2.-20140602-092741-20609cda7a
drwxr-xr-x  3 dragos  staff  102 Jul  8 11:06 2.11.2.-20140706-234733-75ac225015


 
The PR was merged only after IDE validation passed, so it seems unlikely we broke the IDE.

For some reason, it's broken for me as well. I get a different crash, though. It seems the stack trace is completely inside the compiler+reflect:

java.lang.AbstractMethodError
at scala.reflect.internal.Reporter.warning(Reporting.scala:81)
at scala.tools.nsc.Reporting$PerRunReporting$ConditionalWarning.warn(Reporting.scala:33)
at scala.tools.nsc.Reporting$PerRunReporting.featureWarning(Reporting.scala:56)
at scala.tools.nsc.Reporting$PerRunReporting.featureWarning(Reporting.scala:89)
at scala.tools.nsc.typechecker.Contexts$Context.featureWarning(Contexts.scala:602)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$action$1(Typers.scala:749)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$checkFeature$1.apply$mcV$sp(Typers.scala:756)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$apply$1.apply(Analyzer.scala:104)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$apply$1.apply(Analyzer.scala:104)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:104)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:410)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:94)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:93)
at scala.collection.Iterator$class.foreach(Iterator.scala:743)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1177)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1557)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1542)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1537)
at scala.tools.nsc.Global$Run.compile(Global.scala:1644)
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)

 

cheers
adriaan


On Tue, Jul 8, 2014 at 10:51 AM, Jerzy Müller <sidus....@gmail.com> wrote:
I also have problems with 2.11 builds, strangely they appear on all our branches without any changes from our side.


On Tuesday, July 8, 2014 10:28:08 AM UTC+2, Iulian Dragos wrote:
Hi Simon,

We noticed some issues, and we're looking into it. There were some changes in reporting, merged yesterday: https://github.com/scala/scala/pull/3820

iulian


On Mon, Jul 7, 2014 at 7:57 PM, Simon Schäfer <ma...@antoras.de> wrote:
I get some weird errors in all my Scala projects due to binary incompatibilities after I installed a current 2.11 build. sbt is constantly crashing with something like:

java.lang.NoSuchMethodError: scala.tools.nsc.Global$Run.allConditionalWarnings()Lscala/collection/immutable/List;
    at xsbt.CachedCompiler0.processUnreportedWarnings(CompilerInterface.scala:151)

After taking a look to my eclipse/plugins directory I found a directory with the name org.scala-ide.scala210.jars_4.0.0.201407071604, shouldn't this named something like scala211?


--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.



--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Adriaan Moors

unread,
Jul 8, 2014, 5:13:04 AM7/8/14
to scala-...@googlegroups.com, Jerzy Müller
That one sounds like incompatible versions of scala-reflect and scala-compiler.


iulian dragos

unread,
Jul 8, 2014, 5:21:22 AM7/8/14
to scala-ide-dev, Jerzy Müller
On Tue, Jul 8, 2014 at 11:12 AM, Adriaan Moors <adr...@typesafe.com> wrote:
That one sounds like incompatible versions of scala-reflect and scala-compiler.

Sure. But how can that be? I am not excluding a bug on our side, but the command line used by sbt looks like this:

Calling Scala compiler with arguments  (CompilerInterface):

-javabootclasspath

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/JObjC.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/System/Library/Java/Extensions/AppleScriptEngine.jar:/System/Library/Java/Extensions/dns_sd.jar:/System/Library/Java/Extensions/j3daudio.jar:/System/Library/Java/Extensions/j3dcore.jar:/System/Library/Java/Extensions/j3dutils.jar:/System/Library/Java/Extensions/jai_codec.jar:/System/Library/Java/Extensions/jai_core.jar:/System/Library/Java/Extensions/mlibwrapper_jai.jar:/System/Library/Java/Extensions/MRJToolkit.jar:/System/Library/Java/Extensions/QTJava.zip:/System/Library/Java/Extensions/vecmath.jar

-javaextdirs

 

-bootclasspath

/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-lang.scala-library_2.11.2.v20140706-234733-75ac225015.jar

-Xlint

-feature

-Xplugin-disable:continuations

-Ypresentation-debug

-Ypresentation-verbose

-encoding

UTF-8

-classpath

/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.expressions_3.4.501.v20131118-1915.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.filesystem_1.4.0.v20130514-1240.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.resources_3.8.101.v20130717-0806.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.runtime_3.9.100.v20131218-1515.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/javax.annotation_1.1.0.v201209060031.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/javax.inject_1.0.0.v20091030.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.osgi_3.9.1.v20140110-1610.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.equinox.weaving.hook_1.0.200.v20120524-1707.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.jobs_3.5.300.v20130429-1813.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.runtime.compatibility.registry_3.5.200.v20130514-1256/runtime_registry_compatibility.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.equinox.registry_3.5.301.v20130717-1549.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.equinox.preferences_3.5.100.v20130422-1538.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.contenttype_3.4.200.v20130326-1255.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.equinox.app_1.3.100.v20130327-1442.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.debug.core_3.8.0.v20130514-0954.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.debug.ui_3.9.0.v20130516-1713.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.help_3.6.0.v20130326-1254.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.core_3.9.2.v20140114-1555.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.compiler.apt_1.0.600.v20130530-1010.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.compiler.tool_1.0.200.v20130530-1010.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.core.manipulation_1.5.0.v20130605-1748.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.debug_3.8.0.v20130514-0841/jdi.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.debug_3.8.0.v20130514-0841/jdimodel.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.debug.ui_3.6.200.v20130514-0841.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.junit_3.7.200.v20130514-0733.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.junit.core_3.7.200.v20130514-1154.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.launching_3.7.1.v20131218-1102.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jdt.ui_3.9.2.v20131106-1600.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jface.text_3.8.101.v20130802-1147.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.text_3.5.300.v20130515-1451.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ltk.core.refactoring_3.6.100.v20130605-1748.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ltk.ui.refactoring_3.7.100.v20130605-1748.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.search_3.9.1.v20131121-1346.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui_3.105.0.v20130522-1122.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.swt_3.102.1.v20140206-1334.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.102.1.v20140206-1358.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.jface_3.9.1.v20130725-1141.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.commands_3.6.100.v20130515-1857.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.workbench_3.105.2.v20140211-1711.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.e4.ui.workbench3_0.12.0.v20130515-1857.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.console_3.5.200.v20130514-0954.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.editors_3.8.100.v20130513-1637.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.core.filebuffers_3.5.300.v20130225-1821.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.forms_3.6.1.v20130822-1117.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.ide_3.9.2.v20131004-0923.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.navigator_3.5.300.v20130517-0139.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.navigator.resources_3.4.501.v20131021-1545.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.views_3.6.100.v20130326-1250.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.workbench.texteditor_3.8.101.v20130729-1318.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.pde.core_3.9.1.v20130628-1111.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.pde.ui_3.8.0.v20130515-1659.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.pde.launching_3.6.101.v20130807-1445.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-lang.scala-actors_2.11.2.v20140706-234733-75ac225015.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-lang.scala-reflect_2.11.2.v20140706-234733-75ac225015.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-lang.scala-compiler_2.11.2.v20140706-234733-75ac225015.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-refactoring.library_0.6.3.2_11-201405200612-4d6c57f.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-lang.modules.scala-xml_1.0.1.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-ide.sbt.full.library_0.13.2.olocal-2_11-20140707-1613.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-ide.sbt.compiler.interface_0.13.2.olocal-20140707-1613.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-ide.scala210.jars_4.0.0.201407071414:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/scalariform_0.1.5.2_11-201405200612-5c73eb0.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.ui.browser_3.4.100.v20130527-1656.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.eclipse.nebula.widgets.tablecombo_1.0.0.201406170952.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/com.ibm.icu_50.1.1.v201304230130.jar:/Volumes/Thunderbolt_SSD/dragos/Applications/eclipse-kepler-211/plugins/org.scala-ide.sdt.aspects_4.0.0.olocal-2_11-201407071415-13557c3.jar:/Volumes/Thunderbolt_SSD/dragos/workspace/plugin/dragos-scala-ide/org.scala-ide.sdt.core/target/classes:/Volumes/Thunderbolt_SSD/dragos/workspace/plugin/dragos-scala-ide/org.scala-ide.sdt.core/target/lib/miglayout-3.7.4.jar:/Volumes/Thunderbolt_SSD/dragos/workspace/plugin/dragos-scala-ide/org.scala-ide.sdt.core/target/lib/log4j-1.2.17.jar

 

For more options, visit https://groups.google.com/d/optout.

Simon Schäfer

unread,
Jul 8, 2014, 5:27:21 AM7/8/14
to scala-...@googlegroups.com

On 07/08/2014 11:09 AM, iulian dragos wrote:



On Tue, Jul 8, 2014 at 11:00 AM, Adriaan Moors <adr...@typesafe.com> wrote:
Hi,

The NoSuchMethodError implies the sbt compiler interface you're using wasn't recompiled.
I notice this error for some days already, but had it only in my test workspaces, so maybe it is related to 2.10/2.11 support.


Simon, can you check the compiler-interface store inside your workspace? You should fined it inside <workspace>/.metadata/.plugins/org.scala-ide.sdt.core/compiler-interfaces/
On my newly created workspace I only get 2.11.2.-20140706-234733-75ac225015 as the directory name.

iulian dragos

unread,
Jul 8, 2014, 10:59:46 AM7/8/14
to scala-ide-dev
I found out what's the problem, and I'll provide a temporary fix shortly.

I still don't understand why it worked before. The problem is caused by OSGi, and the fact that an interface (Reporter) is implemented in one bundle (scala-reflect), some methods are implemented in another bundle (scala-compiler), and other ones in the compiler-interface.jar (which is NOT an OSGi bundle).

When we call the Scala compiler through the builder, we prepare a classloader with compiler/reflect/library jars, and Sbt calls it reflectively. For performance reasons, if the builder Scala versions matches exactly the version used inside Eclipse (which was always the case until M2, when we added multi-version support), we use the OSGi classloader of the sdt.core bundle. This worked fine until yesterday, when reporters were refactored. Unfortunately, the compiler-interface (compiled on the fly for each version of Scala that you build with) is NOT an OSGi bundle, so there's no Import-Package or Require-Bundle that we could add to scala-reflect/compiler.

The fix will be to create a separate class loader (even if the versions match perfectly). This will have an impact on memory consumption and performance (it will take time to warm-up and jit-compile everything again), though I am not sure how big that is. I'd love to find a way to reuse the classloader, though..

iulian





For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages