dragos / dragos-vscode-scala

Other
253 stars 39 forks source link

NoClassDefFoundError AnalyzerPlugins$AnalyzerPlugin #74

Closed caente closed 6 years ago

caente commented 6 years ago

I'm seeing this very strange error when ensime starts... the weirdest part is that it works perfectly well on atom... with the same conf in my global.sbt

ensimeRepositoryUrls in ThisBuild += "https://oss.sonatype.org/content/repositories/snapshots/"

ensimeServerVersion in ThisBuild := "3.0.0-SNAPSHOT"

ensimeProjectServerVersion in ThisBuild := "3.0.0-SNAPSHOT"

ensimeScalaVersion in ThisBuild := "2.11.11"

Any suggestion on where should look further?

[2017-11-07 11:09:19,451] INFO org.github.dragos.vscode.ensime.EnsimeProjectServer - Analyzer is ready!
[2017-11-07 11:09:19,451] INFO org.github.dragos.vscode.ensime.EnsimeProjectServer - Analyzer is ready!
[2017-11-07 11:09:21,359] ERROR akka.actor.OneForOneStrategy - scala/tools/nsc/typechecker/AnalyzerPlugins$AnalyzerPlugin$class
akka.actor.ActorInitializationException: akka://ENSIME/user/server/ensimeProject/project/scalac/$a: exception during creation
    at akka.actor.ActorInitializationException$.apply(Actor.scala:191)
    at akka.actor.ActorCell.create(ActorCell.scala:608)
    at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:462)
    at akka.actor.ActorCell.systemInvoke(ActorCell.scala:484)
    at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:282)
    at akka.dispatch.Mailbox.run(Mailbox.scala:223)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at scala.tools.nsc.plugins.Plugin$.instantiate(Plugin.scala:190)
    at scala.tools.nsc.plugins.Plugins.$anonfun$loadRoughPluginsList$9(Plugins.scala:47)
    at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList(Plugins.scala:47)
    at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList$(Plugins.scala:27)
    at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.roughPluginsList(Plugins.scala:50)
    at scala.tools.nsc.plugins.Plugins.roughPluginsList$(Plugins.scala:50)
    at scala.tools.nsc.Global.roughPluginsList$lzycompute(Global.scala:36)
    at scala.tools.nsc.Global.roughPluginsList(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.loadPlugins(Plugins.scala:86)
    at scala.tools.nsc.plugins.Plugins.loadPlugins$(Plugins.scala:56)
    at scala.tools.nsc.Global.loadPlugins(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.plugins(Plugins.scala:102)
    at scala.tools.nsc.plugins.Plugins.plugins$(Plugins.scala:102)
    at scala.tools.nsc.Global.plugins$lzycompute(Global.scala:36)
    at scala.tools.nsc.Global.plugins(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.computePluginPhases(Plugins.scala:113)
    at scala.tools.nsc.plugins.Plugins.computePluginPhases$(Plugins.scala:112)
    at scala.tools.nsc.Global.computePluginPhases(Global.scala:36)
    at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:680)
    at scala.tools.nsc.Global.phaseDescriptors$lzycompute(Global.scala:685)
    at scala.tools.nsc.Global.phaseDescriptors(Global.scala:685)
    at scala.tools.nsc.Global$Run.<init>(Global.scala:1176)
    at scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1309)
    at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1332)
    at scala.tools.nsc.interactive.Global.<init>(Global.scala:286)
    at org.ensime.core.RichPresentationCompiler.<init>(RichPresentationCompiler.scala:294)
    at org.ensime.core.Analyzer.makeScalaCompiler(Analyzer.scala:124)
    at org.ensime.core.Analyzer.preStart(Analyzer.scala:112)
    at akka.actor.Actor.aroundPreStart(Actor.scala:521)
    at akka.actor.Actor.aroundPreStart$(Actor.scala:521)
    at org.ensime.core.Analyzer.aroundPreStart(Analyzer.scala:50)
    at akka.actor.ActorCell.create(ActorCell.scala:591)
    ... 9 common frames omitted
Caused by: java.lang.NoClassDefFoundError: scala/tools/nsc/typechecker/AnalyzerPlugins$AnalyzerPlugin$class
    at org.scalamacros.paradise.typechecker.AnalyzerPlugins$AnalyzerPlugin$.<init>(AnalyzerPlugins.scala:17)
    at org.scalamacros.paradise.Plugin.AnalyzerPlugin$lzycompute(Plugin.scala:8)
    at org.scalamacros.paradise.Plugin.AnalyzerPlugin(Plugin.scala:8)
    at org.scalamacros.paradise.Plugin.<init>(Plugin.scala:14)
    ... 46 common frames omitted
Caused by: java.lang.ClassNotFoundException: scala.tools.nsc.typechecker.AnalyzerPlugins$AnalyzerPlugin$class
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 50 common frames omitted
[2017-11-07 11:09:21,360] ERROR akka.actor.OneForOneStrategy - scala/tools/nsc/typechecker/AnalyzerPlugins$AnalyzerPlugin$class
akka.actor.ActorInitializationException: akka://ENSIME/user/server/ensimeProject/project/scalac/resolver_compile: exception during creation
    at akka.actor.ActorInitializationException$.apply(Actor.scala:191)
    at akka.actor.ActorCell.create(ActorCell.scala:608)
    at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:462)
    at akka.actor.ActorCell.systemInvoke(ActorCell.scala:484)
    at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:282)
    at akka.dispatch.Mailbox.run(Mailbox.scala:223)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at scala.tools.nsc.plugins.Plugin$.instantiate(Plugin.scala:190)
    at scala.tools.nsc.plugins.Plugins.$anonfun$loadRoughPluginsList$9(Plugins.scala:47)
    at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList(Plugins.scala:47)
    at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList$(Plugins.scala:27)
    at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.roughPluginsList(Plugins.scala:50)
    at scala.tools.nsc.plugins.Plugins.roughPluginsList$(Plugins.scala:50)
    at scala.tools.nsc.Global.roughPluginsList$lzycompute(Global.scala:36)
    at scala.tools.nsc.Global.roughPluginsList(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.loadPlugins(Plugins.scala:86)
    at scala.tools.nsc.plugins.Plugins.loadPlugins$(Plugins.scala:56)
    at scala.tools.nsc.Global.loadPlugins(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.plugins(Plugins.scala:102)
    at scala.tools.nsc.plugins.Plugins.plugins$(Plugins.scala:102)
    at scala.tools.nsc.Global.plugins$lzycompute(Global.scala:36)
    at scala.tools.nsc.Global.plugins(Global.scala:36)
    at scala.tools.nsc.plugins.Plugins.computePluginPhases(Plugins.scala:113)
    at scala.tools.nsc.plugins.Plugins.computePluginPhases$(Plugins.scala:112)
    at scala.tools.nsc.Global.computePluginPhases(Global.scala:36)
    at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:680)
    at scala.tools.nsc.Global.phaseDescriptors$lzycompute(Global.scala:685)
    at scala.tools.nsc.Global.phaseDescriptors(Global.scala:685)
    at scala.tools.nsc.Global$Run.<init>(Global.scala:1176)
    at scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1309)
    at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1332)
    at scala.tools.nsc.interactive.Global.<init>(Global.scala:286)
    at org.ensime.core.RichPresentationCompiler.<init>(RichPresentationCompiler.scala:294)
    at org.ensime.core.Analyzer.makeScalaCompiler(Analyzer.scala:124)
    at org.ensime.core.Analyzer.preStart(Analyzer.scala:112)
    at akka.actor.Actor.aroundPreStart(Actor.scala:521)
    at akka.actor.Actor.aroundPreStart$(Actor.scala:521)
    at org.ensime.core.Analyzer.aroundPreStart(Analyzer.scala:50)
    at akka.actor.ActorCell.create(ActorCell.scala:591)
    ... 9 common frames omitted
Caused by: java.lang.NoClassDefFoundError: scala/tools/nsc/typechecker/AnalyzerPlugins$AnalyzerPlugin$class
    at org.scalamacros.paradise.typechecker.AnalyzerPlugins$AnalyzerPlugin$.<init>(AnalyzerPlugins.scala:17)
    at org.scalamacros.paradise.Plugin.AnalyzerPlugin$lzycompute(Plugin.scala:8)
    at org.scalamacros.paradise.Plugin.AnalyzerPlugin(Plugin.scala:8)
    at org.scalamacros.paradise.Plugin.<init>(Plugin.scala:14)
    ... 46 common frames omitted
Caused by: java.lang.ClassNotFoundException: scala.tools.nsc.typechecker.AnalyzerPlugins$AnalyzerPlugin$class
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 50 common frames omitted
dragos commented 6 years ago

I guess we only support 2.12 since #65

caente commented 6 years ago

and that's the issue then? I tried this

ensimeScalaVersion in ThisBuild := "2.12.4"

ensimeIgnoreScalaMismatch in ThisBuild := true

since my projects are not in scala 2.12, and cannot be, but got the same error.

does this mean that this plugin can only be used for projects on scala 2.12?

caente commented 6 years ago

@dragos could you please clarify the above? what

I guess we only support 2.12

actually mean? that the project must be using scala 2.12, or that there plugin must use scala 2.12 and there is something that I can do to make the project use it...?

dragos commented 6 years ago

Sorry for not being clear. It's the latter: the project must be using Scala 2.12.

Support for 2.12 shouldn't be too hard, assuming we can cross-compile to 2.11, but won't have much time to dedicate to this right now. If anyone feels motivated, I'd be more than happy to merge a PR.