I'm mopemope.
mopemope / meghanada-server Goto Github PK
View Code? Open in Web Editor NEWA Java IDE Server for your editor. Java IDE-like features to your favourite text editor.
License: GNU General Public License v3.0
A Java IDE Server for your editor. Java IDE-like features to your favourite text editor.
License: GNU General Public License v3.0
The idea is to create the .meghanada
directory in a path different form te project root so that destructive commands like git clean -fdx
won't cause problems.
Let's say the project is located in ~/Projects/javaproject
, absolute path /home/user1/Projects/javaproject
.
What I propose is to have the .meghanada
directory be located at ~/.cache/meghanada/home/user1/Projects/javaproject
. Another option would be /tmp/meghanada/home/user1/Projects/javaproject
.
This is how I imagine it:
(setq meghanada-directory-in-project t)
which by default is t
to control this behaviour.(setq meghanada-direcotry-path "~/cache/meghanada")
that controlls the location of the direcotry. Default location TBD.--dir-in-project
with values true or false which controlls the behaviour on the server.--dir-path
with te path of the directory in case 3. is false.I would love for this behaviour to be the default but because of 5) controlling this behaviour from my emacs config seems reasonable.
I am willing to submit PR's with the implementation. But note that I am not an emacs/java expert so it will take some time and it will need some carefull reviews.
Sometimes jumpDeclaration fails and reports a WARN message as following:
[2017-05-31 17:09:25,116][WARN ][Session : 635] jumpDeclaration - missing location path=/path/to/MakeRentable.java line=101 column=9 symbol=TOwnerLockRelBiz .
Can you check and fix this problem? Thanks.
4.0.0
<artifactId>backend_consumer</artifactId>
<name>backend_consumer</name>
<description>Backend consumer project for Spring Boot</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M3</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.M1</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Executing Optimize import in the following example code will insert a new package line below the existed one.
I have also tested it in another file with some import statements and it worked well(This file has all needed import and Optimize import would report "Buffer is already formatted" ).
package com.heping.cmserver.pojo;
/**
* Describe class CMServerConfigBean here.
*
*
* Created: Sun Jan 22 20:37:27 2017
*
* @author <a href="mailto:[email protected]">่ตต็บช้ณ</a>
* @version 1.0
*/
public class CMServerConfigBean {
private String cardFileDir;
/**
* Creates a new <code>CMServerConfigBean</code> instance.
*
*/
public CMServerConfigBean() {
}
public final String getCardFileDir() {
return cardFileDir;
}
public final void setCardFileDir(final String cardFileDir) {
this.cardFileDir = cardFileDir;
}
}
When I invoke meghanada-server for my Java project, it uses all of my 4 cores for 21.77 minutes while analyzing the project. Unfortunately that means I can almost never enable it while running on battery on my laptop or else it will be depleted very quickly.
Is there any way to speed this up? Or, could the analysis be cached somehow so it doesn't have to re-analyze when I restart Emacs?
I'm happy to provide the entire log, if that helps, the final message is:
[2016-10-03 14:00:38,267][INFO ][CacheEventSubs: 66] on - project analyzed elapsed:21.77 min
On Linux, the JVM prefers to listen on IPv6 which your emacs isn't able to connect to. My workaround is to set following environment variable before running meghanada-server:
_JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true
It would be best if the server listened on IPv4 by default. But ideally, on Linux/OSX it should simply use a Unix domain socket for communication.
It just not work,no error,a warning : end of file.
I was using Emacs with spacemacs config.
My emacs version is 25.3
Meghanada reported the following error when I opened a java file. I'm using meghanada 0.7.10 and openjdk 1.8.0.
[2017-05-27 17:46:41,873][INFO ][CacheEventSubs: 52] analyze - start analyze sources ...
[2017-05-27 17:46:47,684][ERROR][Project : 294] compileJava - Catching
java.util.NoSuchElementException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_131]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_131]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_131]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:735) ~[?:1.8.0_131]
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:1.8.0_131]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:1.8.0_131]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_131]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_131]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583) ~[?:1.8.0_131]
at meghanada.analyze.TreeAnalyzer.analyze(TreeAnalyzer.java:1943) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.JavaAnalyzer.runAnalyzeAndCompile(JavaAnalyzer.java:163) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.JavaAnalyzer.analyzeAndCompile(JavaAnalyzer.java:105) ~[meghanada-0.7.10.jar:?]
at meghanada.project.Project.compileJava(Project.java:279) ~[meghanada-0.7.10.jar:?]
at meghanada.project.gradle.GradleProject.compileJava(GradleProject.java:421) ~[meghanada-0.7.10.jar:?]
at meghanada.project.gradle.GradleProject.compileJava(GradleProject.java:411) ~[meghanada-0.7.10.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.lambda$analyze$1(CacheEventSubscriber.java:57) ~[meghanada-0.7.10.jar:?]
at meghanada.config.Config.timeItF(Config.java:111) [meghanada-0.7.10.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.analyze(CacheEventSubscriber.java:53) [meghanada-0.7.10.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:33) [meghanada-0.7.10.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [meghanada-0.7.10.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [meghanada-0.7.10.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [meghanada-0.7.10.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.util.NoSuchElementException: No value present
at java.util.Optional.get(Optional.java:135) ~[?:1.8.0_131]
at meghanada.analyze.TreeAnalyzer.analyzeIdent(TreeAnalyzer.java:1714) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeParsedTree(TreeAnalyzer.java:568) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeFieldAccess(TreeAnalyzer.java:1467) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeParsedTree(TreeAnalyzer.java:543) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeFieldAccess(TreeAnalyzer.java:1467) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeParsedTree(TreeAnalyzer.java:543) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeCompilationUnitTree(TreeAnalyzer.java:438) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeUnit(TreeAnalyzer.java:1980) ~[meghanada-0.7.10.jar:?]
at meghanada.analyze.TreeAnalyzer.lambda$analyze$40(TreeAnalyzer.java:1946) ~[meghanada-0.7.10.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIOConsumer$2(FunctionUtils.java:34) ~[meghanada-0.7.10.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_131]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_131]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_131]
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) ~[?:1.8.0_131]
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks(ForkJoinPool.java:1040) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1058) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_131]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[?:1.8.0_131]
[2017-05-27 17:46:47,796][WARN ][CacheEventSubs: 71] lambda$analyze$1 - Compile Error : null
[2017-05-27 17:46:47,796][INFO ][Config : 115] timeItF - analyzed and compiled. elapsed:5.922 s
It will be better if you can give some details prompt instead of catching this.
I don't yet have a consistent way to reproduce, but some stack traces are available:
[2017-04-14 13:20:32,284][INFO ][MavenProject : 73] parseProject - running maven. resolve dependencies ...
[2017-04-14 13:20:36,469][ERROR][Session : 374] changeProject - Catching
meghanada.project.ProjectParseException: meghanada.project.ProjectParseException: meghanada.project.ProjectParseException: java.io.IOException: Is a directory
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:128) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.loadProject(Session.java:169) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.searchAndChangeProject(Session.java:266) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.changeProject(Session.java:364) ~[meghanada-0.7.4.jar:?]
at meghanada.server.CommandHandler.changeProject(CommandHandler.java:43) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$3(EmacsServer.java:157) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:277) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.7.4.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: meghanada.project.ProjectParseException: meghanada.project.ProjectParseException: java.io.IOException: Is a directory
at meghanada.project.maven.POMParser.parsePom(POMParser.java:109) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:93) ~[meghanada-0.7.4.jar:?]
... 15 more
Caused by: meghanada.project.ProjectParseException: java.io.IOException: Is a directory
at meghanada.project.maven.POMParser.parsePom(POMParser.java:109) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.POMParser.parsePom(POMParser.java:62) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:93) ~[meghanada-0.7.4.jar:?]
... 15 more
Caused by: java.io.IOException: Is a directory
at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:1.8.0_121]
at sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:46) ~[?:1.8.0_121]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[?:1.8.0_121]
at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[?:1.8.0_121]
at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:159) ~[?:1.8.0_121]
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65) ~[?:1.8.0_121]
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109) ~[?:1.8.0_121]
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103) ~[?:1.8.0_121]
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[?:1.8.0_121]
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:1.8.0_121]
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:1.8.0_121]
at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:1.8.0_121]
at java.io.BufferedReader.read1(BufferedReader.java:210) ~[?:1.8.0_121]
at java.io.BufferedReader.read(BufferedReader.java:286) ~[?:1.8.0_121]
at org.codehaus.plexus.util.xml.pull.MXParser.fillBuf(MXParser.java:3026) ~[meghanada-0.7.4.jar:?]
at org.codehaus.plexus.util.xml.pull.MXParser.more(MXParser.java:3080) ~[meghanada-0.7.4.jar:?]
at org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1451) ~[meghanada-0.7.4.jar:?]
at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1436) ~[meghanada-0.7.4.jar:?]
at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1131) ~[meghanada-0.7.4.jar:?]
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:3849) ~[meghanada-0.7.4.jar:?]
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:595) ~[meghanada-0.7.4.jar:?]
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:609) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.POMParser.parsePom(POMParser.java:53) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.POMParser.parsePom(POMParser.java:62) ~[meghanada-0.7.4.jar:?]
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:93) ~[meghanada-0.7.4.jar:?]
... 15 more
[2017-04-14 13:20:36,475][INFO ][EmacsServer : 279] dispatch - receive command [pc, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/BundleInfo.java]. elapsed:4.194 s
[2017-04-14 13:20:36,498][INFO ][Project : 238] compileJava - project lucene-search-plugin compile and analyze (java) 0 files. force:false elapsed:21.44 ms
[2017-04-14 13:20:36,499][INFO ][EmacsServer : 279] dispatch - receive command [di, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/BundleInfo.java]. elapsed:23.77 ms
[2017-04-14 13:29:24,338][INFO ][EmacsServer : 279] dispatch - receive command [pc, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/Parser.java]. elapsed:4.895 ms
[2017-04-14 13:29:24,377][INFO ][EmacsServer : 279] dispatch - receive command [di, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/Parser.java]. elapsed:5.341 ms
[2017-04-14 13:29:24,889][INFO ][Config : 114] timeItF - create class index. read 60 jars. elapsed:551.4 ms
[2017-04-14 13:29:24,890][INFO ][CacheEventSubs: 51] analyze - start analyze sources ...
[2017-04-14 13:29:24,891][INFO ][Config : 114] timeItF - analyzed and compiled. elapsed:96.94 ฮผs
[2017-04-14 13:29:24,899][ERROR][Session : 32] lambda$new$0 - null
java.lang.NullPointerException: null
at meghanada.reflect.asm.CachedASMReflector.addClasspath(CachedASMReflector.java:160) ~[meghanada-0.7.4.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.analyze(CacheEventSubscriber.java:68) ~[meghanada-0.7.4.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:34) ~[meghanada-0.7.4.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[meghanada-0.7.4.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[meghanada-0.7.4.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [meghanada-0.7.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[2017-04-14 13:38:11,264][ERROR][Session : 374] changeProject - Catching
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:4154) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.GlobalCache.getSource(GlobalCache.java:176) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.changeProject(Session.java:370) ~[meghanada-0.7.4.jar:?]
at meghanada.server.CommandHandler.changeProject(CommandHandler.java:43) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$3(EmacsServer.java:157) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:277) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.7.4.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NullPointerException
at meghanada.project.Project.parseFile(Project.java:323) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:109) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:22) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) ~[meghanada-0.7.4.jar:?]
... 17 more
[2017-04-14 13:38:11,265][INFO ][EmacsServer : 279] dispatch - receive command [pc, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/SymbolicName.java]. elapsed:5.636 ms
[2017-04-14 13:38:11,282][INFO ][EmacsServer : 279] dispatch - receive command [di, /home/rgrinberg/nci/protege/protege-launcher/src/main/java/org/protege/osgi/framework/SymbolicName.java]. elapsed:1.510 ms
[2017-04-14 13:38:18,914][ERROR][CommandHandler: 288] showDeclaration - Catching
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:4154) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.GlobalCache.getSource(GlobalCache.java:176) ~[meghanada-0.7.4.jar:?]
at meghanada.utils.FileUtils.getSource(FileUtils.java:374) ~[meghanada-0.7.4.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:221) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:634) ~[meghanada-0.7.4.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$17(EmacsServer.java:245) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:277) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.7.4.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NullPointerException
at meghanada.project.Project.parseFile(Project.java:323) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:109) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:22) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) ~[meghanada-0.7.4.jar:?]
... 19 more
[2017-04-14 13:38:18,918][ERROR][EmacsServer : 138] lambda$acceptConnectio - Catching
meghanada.server.CommandException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:289) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$17(EmacsServer.java:245) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.4.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:277) ~[meghanada-0.7.4.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.7.4.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:4154) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.GlobalCache.getSource(GlobalCache.java:176) ~[meghanada-0.7.4.jar:?]
at meghanada.utils.FileUtils.getSource(FileUtils.java:374) ~[meghanada-0.7.4.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:221) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:634) ~[meghanada-0.7.4.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.4.jar:?]
... 11 more
Caused by: java.lang.NullPointerException
at meghanada.project.Project.parseFile(Project.java:323) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:109) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:22) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:4154) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) ~[meghanada-0.7.4.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) ~[meghanada-0.7.4.jar:?]
at meghanada.cache.GlobalCache.getSource(GlobalCache.java:176) ~[meghanada-0.7.4.jar:?]
at meghanada.utils.FileUtils.getSource(FileUtils.java:374) ~[meghanada-0.7.4.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:221) ~[meghanada-0.7.4.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:634) ~[meghanada-0.7.4.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.4.jar:?]
... 11 more
[2017-04-14 13:38:18,920][INFO ][EmacsServer : 145] lambda$acceptConnectio - client disconnect
When trying to use Meghanada on a Maven project, starting the server fails with an IndexOutOfBoundsException
:
[2017-10-05 10:11:21,740][INFO ][Main : 125] main - Meghanada-Server Version:0.8.3-507f400
[2017-10-05 10:11:22,406][ERROR][EmacsServer : 311] startServer - Catching
java.lang.ExceptionInInitializerError: null
at jetbrains.exodus.env.StoreImpl.<init>(StoreImpl.java:53) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.createStore(EnvironmentImpl.java:469) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.openStoreImpl(EnvironmentImpl.java:672) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.openStore(EnvironmentImpl.java:162) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.openStore(EnvironmentImpl.java:45) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl$2.compute(PersistentEntityStoreImpl.java:205) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl$2.compute(PersistentEntityStoreImpl.java:201) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.computeInTransaction(PersistentEntityStoreImpl.java:576) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.init(PersistentEntityStoreImpl.java:201) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.<init>(PersistentEntityStoreImpl.java:181) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStores.newInstance(PersistentEntityStores.java:41) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStores.newInstance(PersistentEntityStores.java:47) ~[meghanada-0.8.3.jar:?]
at jetbrains.exodus.entitystore.PersistentEntityStores.newInstance(PersistentEntityStores.java:57) ~[meghanada-0.8.3.jar:?]
at meghanada.store.ProjectDatabase.open(ProjectDatabase.java:341) ~[meghanada-0.8.3.jar:?]
at meghanada.store.ProjectDatabase.<init>(ProjectDatabase.java:74) ~[meghanada-0.8.3.jar:?]
at meghanada.store.ProjectDatabase.getInstance(ProjectDatabase.java:96) ~[meghanada-0.8.3.jar:?]
at meghanada.store.ProjectDatabaseHelper.loadProject(ProjectDatabaseHelper.java:205) ~[meghanada-0.8.3.jar:?]
at meghanada.project.Project.loadProject(Project.java:129) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.loadProject(Session.java:160) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.findProject(Session.java:121) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.createSession(Session.java:97) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.createSession(Session.java:92) ~[meghanada-0.8.3.jar:?]
at meghanada.server.emacs.EmacsServer.startServer(EmacsServer.java:306) [meghanada-0.8.3.jar:?]
at meghanada.Main.main(Main.java:127) [meghanada-0.8.3.jar:?]
Caused by: java.lang.IndexOutOfBoundsException: Indexed access out of bounds: 1, 1
at java.util.Objects.outOfBounds(Objects.java:365) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:436) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:388) ~[?:?]
at java.util.ArrayList.get(ArrayList.java:435) ~[?:?]
at jetbrains.exodus.util.StringInterner.<clinit>(StringInterner.kt:55) ~[meghanada-0.8.3.jar:?]
... 24 more
[2017-10-05 10:11:22,419][INFO ][Main : 69] lambda$main$0 - shutdown server
When I try to jump to the declaration of a private member of a class, meghanada server reports an exception, and the client loses the connection to the server.
Following is the stacktrace:
[2017-05-18 12:45:19,562][ERROR][CommandHandler: 203] jumpDeclaration - Catching
com.github.javaparser.ParseProblemException: (line 25,col 92) Parse error. Found "null", expected one of "!=" "%" "%=" "&" "&&" "&=" ")" "" "=" "+" "+=" "," "-" "-=" "->" "/" "/=" "::" "<" "<<=" "<=" "=" "==" ">" ">=" ">>=" ">>>=" "?" "^" "^=" "instanceof" "|" "|=" "||"
Problem stacktrace :
com.github.javaparser.GeneratedJavaParser.generateParseException(GeneratedJavaParser.java:9873)
com.github.javaparser.GeneratedJavaParser.jj_consume_token(GeneratedJavaParser.java:9729)
com.github.javaparser.GeneratedJavaParser.Arguments(GeneratedJavaParser.java:3440)
com.github.javaparser.GeneratedJavaParser.AllocationExpression(GeneratedJavaParser.java:3521)
com.github.javaparser.GeneratedJavaParser.PrimaryPrefix(GeneratedJavaParser.java:3145)
com.github.javaparser.GeneratedJavaParser.PrimaryExpression(GeneratedJavaParser.java:2862)
com.github.javaparser.GeneratedJavaParser.PostfixExpression(GeneratedJavaParser.java:2766)
com.github.javaparser.GeneratedJavaParser.UnaryExpressionNotPlusMinus(GeneratedJavaParser.java:2751)
com.github.javaparser.GeneratedJavaParser.UnaryExpression(GeneratedJavaParser.java:2658)
com.github.javaparser.GeneratedJavaParser.MultiplicativeExpression(GeneratedJavaParser.java:2549)
com.github.javaparser.GeneratedJavaParser.AdditiveExpression(GeneratedJavaParser.java:2511)
com.github.javaparser.GeneratedJavaParser.ShiftExpression(GeneratedJavaParser.java:2475)
com.github.javaparser.GeneratedJavaParser.RelationalExpression(GeneratedJavaParser.java:2425)
com.github.javaparser.GeneratedJavaParser.InstanceOfExpression(GeneratedJavaParser.java:2405)
com.github.javaparser.GeneratedJavaParser.EqualityExpression(GeneratedJavaParser.java:2367)
com.github.javaparser.GeneratedJavaParser.AndExpression(GeneratedJavaParser.java:2345)
com.github.javaparser.GeneratedJavaParser.ExclusiveOrExpression(GeneratedJavaParser.java:2324)
com.github.javaparser.GeneratedJavaParser.InclusiveOrExpression(GeneratedJavaParser.java:2303)
com.github.javaparser.GeneratedJavaParser.ConditionalAndExpression(GeneratedJavaParser.java:2282)
com.github.javaparser.GeneratedJavaParser.ConditionalOrExpression(GeneratedJavaParser.java:2261)
com.github.javaparser.GeneratedJavaParser.ConditionalExpression(GeneratedJavaParser.java:2242)
com.github.javaparser.GeneratedJavaParser.Expression(GeneratedJavaParser.java:2075)
com.github.javaparser.GeneratedJavaParser.VariableInitializer(GeneratedJavaParser.java:1019)
com.github.javaparser.GeneratedJavaParser.VariableDeclarator(GeneratedJavaParser.java:940)
com.github.javaparser.GeneratedJavaParser.FieldDeclaration(GeneratedJavaParser.java:912)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBodyDeclaration(GeneratedJavaParser.java:856)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBody(GeneratedJavaParser.java:783)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceDeclaration(GeneratedJavaParser.java:436)
com.github.javaparser.GeneratedJavaParser.CompilationUnit(GeneratedJavaParser.java:195)
com.github.javaparser.JavaParser.parse(JavaParser.java:125)
com.github.javaparser.JavaParser.simplifiedParse(JavaParser.java:393)
com.github.javaparser.JavaParser.parse(JavaParser.java:252)
meghanada.location.LocationSearcher.searchLocationFromFile(LocationSearcher.java:87)
meghanada.location.LocationSearcher.searchLocationFromDecompileFile(LocationSearcher.java:636)
meghanada.location.LocationSearcher.lambda$getLocationFromSrcOrDecompile$22(LocationSearcher.java:577)
meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24)
java.util.Optional.orElseGet(Optional.java:267)
meghanada.location.LocationSearcher.getLocationFromSrcOrDecompile(LocationSearcher.java:576)
meghanada.location.LocationSearcher.searchFromDependency(LocationSearcher.java:551)
meghanada.location.LocationSearcher.lambda$null$18(LocationSearcher.java:479)
meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24)
java.util.Optional.orElseGet(Optional.java:267)
meghanada.location.LocationSearcher.lambda$getFQCNLocation$19(LocationSearcher.java:479)
meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24)
java.util.Optional.orElseGet(Optional.java:267)
meghanada.location.LocationSearcher.getFQCNLocation(LocationSearcher.java:474)
meghanada.location.LocationSearcher.lambda$searchLocalVariable$1(LocationSearcher.java:277)
java.util.Optional.map(Optional.java:215)
meghanada.location.LocationSearcher.searchLocalVariable(LocationSearcher.java:266)
meghanada.location.LocationSearcher.lambda$searchDeclarationLocation$4(LocationSearcher.java:313)
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351)
java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
meghanada.location.LocationSearcher.searchDeclarationLocation(LocationSearcher.java:315)
meghanada.session.Session.jumpDeclaration(Session.java:605)
meghanada.server.CommandHandler.jumpDeclaration(CommandHandler.java:197)
meghanada.server.emacs.EmacsServer.lambda$dispatch$13(EmacsServer.java:176)
com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45)
com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40)
com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118)
meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:226)
meghanada.server.emacs.EmacsServer.lambda$acceptConnection$22(EmacsServer.java:306)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
at com.github.javaparser.JavaParser.simplifiedParse(JavaParser.java:397) ~[meghanada-0.7.6.jar:?]
at com.github.javaparser.JavaParser.parse(JavaParser.java:252) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.searchLocationFromFile(LocationSearcher.java:87) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.searchLocationFromDecompileFile(LocationSearcher.java:636) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.lambda$getLocationFromSrcOrDecompile$22(LocationSearcher.java:577) ~[meghanada-0.7.6.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_121]
at meghanada.location.LocationSearcher.getLocationFromSrcOrDecompile(LocationSearcher.java:576) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.searchFromDependency(LocationSearcher.java:551) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.lambda$null$18(LocationSearcher.java:479) ~[meghanada-0.7.6.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_121]
at meghanada.location.LocationSearcher.lambda$getFQCNLocation$19(LocationSearcher.java:479) ~[meghanada-0.7.6.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIO$1(FunctionUtils.java:24) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_121]
at meghanada.location.LocationSearcher.getFQCNLocation(LocationSearcher.java:474) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.lambda$searchLocalVariable$1(LocationSearcher.java:277) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_121]
at meghanada.location.LocationSearcher.searchLocalVariable(LocationSearcher.java:266) ~[meghanada-0.7.6.jar:?]
at meghanada.location.LocationSearcher.lambda$searchDeclarationLocation$4(LocationSearcher.java:313) ~[meghanada-0.7.6.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_121]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_121]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:1.8.0_121]
at meghanada.location.LocationSearcher.searchDeclarationLocation(LocationSearcher.java:315) ~[meghanada-0.7.6.jar:?]
at meghanada.session.Session.jumpDeclaration(Session.java:605) ~[meghanada-0.7.6.jar:?]
at meghanada.server.CommandHandler.jumpDeclaration(CommandHandler.java:197) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$13(EmacsServer.java:176) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:226) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$22(EmacsServer.java:306) ~[meghanada-0.7.6.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
I tried to build the project from the release tarball, but since that doesn't include the .git folder it breaks when building through gradle.
Because line 18 relies on getting the version from git through grgit
:
https://github.com/mopemope/meghanada-server/blob/master/build.gradle#L18
I think this should be optional, so it is possible to build from the releases.
I have a problem when trying to compile using the meghanada-server:
[2017-10-12 17:06:13,203][INFO ][Main : 125] main - Meghanada-Server Version:0.8.3-507f400
[2017-10-12 17:06:24,076][INFO ][Session : 164] loadProject - load project from cache. projectRoot:root
[2017-10-12 17:06:24,178][INFO ][EmacsServer : 308] startServer - Start server Listen localhost:55555
[2017-10-12 17:06:24,182][INFO ][EmacsServer : 329] accept - client connected
[2017-10-12 17:06:24,565][INFO ][Config : 115] timeItF - create class index ... read 2 jars. elapsed:382.9 ms
[2017-10-12 17:06:24,577][INFO ][CacheEventSubs: 66] analyze - start analyze sources ...
[2017-10-12 17:06:25,708][ERROR][Project : 310] compileJava - Catching
java.util.NoSuchElementException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_101]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_101]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:735) ~[?:1.8.0_101]
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:1.8.0_101]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:1.8.0_101]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_101]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_101]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583) ~[?:1.8.0_101]
at meghanada.analyze.TreeAnalyzer.analyze(TreeAnalyzer.java:456) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.JavaAnalyzer.runAnalyzeAndCompile(JavaAnalyzer.java:172) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.JavaAnalyzer.analyzeAndCompile(JavaAnalyzer.java:126) ~[meghanada-0.8.3.jar:?]
at meghanada.project.Project.compileJava(Project.java:295) ~[meghanada-0.8.3.jar:?]
at meghanada.project.gradle.GradleProject.compileJava(GradleProject.java:473) ~[meghanada-0.8.3.jar:?]
at meghanada.project.gradle.GradleProject.compileJava(GradleProject.java:463) ~[meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.lambda$analyze$3(CacheEventSubscriber.java:71) ~[meghanada-0.8.3.jar:?]
at meghanada.config.Config.timeItF(Config.java:111) [meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.analyze(CacheEventSubscriber.java:67) [meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:31) [meghanada-0.8.3.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [meghanada-0.8.3.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [meghanada-0.8.3.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [meghanada-0.8.3.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.util.NoSuchElementException: No value present
at java.util.Optional.get(Optional.java:135) ~[?:1.8.0_101]
at meghanada.analyze.TreeAnalyzer.analyzeIdent(TreeAnalyzer.java:1543) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeParsedTree(TreeAnalyzer.java:637) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeParsedTree(TreeAnalyzer.java:861) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeTopLevelClass(TreeAnalyzer.java:506) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeCompilationUnitTree(TreeAnalyzer.java:430) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeUnit(TreeAnalyzer.java:486) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.tryAnalyzeUnit(TreeAnalyzer.java:466) ~[meghanada-0.8.3.jar:?]
at meghanada.analyze.TreeAnalyzer.lambda$analyze$5(TreeAnalyzer.java:456) ~[meghanada-0.8.3.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_101]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_101]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_101]
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) ~[?:1.8.0_101]
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks(ForkJoinPool.java:1040) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1058) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_101]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[?:1.8.0_101]
[2017-10-12 17:06:25,778][WARN ][CacheEventSubs: 85] lambda$analyze$3 - compile message null
It seems like the problem arises from:
Where there is no check for if currentClass has a value.
Is this a bug in the implementation, or is it me who are using the tool wrong?
I have a project with a large number of gradle modules, is there a way I can tell meghanada-server only to parse/focus on a single module or set of modules, and ignore the others?
I ran into this when starting meghanada-server in https://github.com/elastic/elasticsearch due to the large number of gradle modules, my CPUs spin at 100% for an hour while meghanada is processing all the modules.
Here's an example of the output (only 10 minutes worth of processing):
[2017-03-09 10:46:44,527][DEBUG][Main : 75] main - set verbose flag(DEBUG)
[2017-03-09 10:46:44,530][DEBUG][Main : 113] main - set port:55555, projectRoot:./, output:sexp
[2017-03-09 10:46:44,530][INFO ][Main : 116] main - Meghanada-Server Version:0.6.6-4f907bd
[2017-03-09 10:46:44,535][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main/java/org/elasticsearch/action/bulk' ...
[2017-03-09 10:46:44,535][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main/java/org/elasticsearch/action' ...
[2017-03-09 10:46:44,535][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main/java/org/elasticsearch' ...
[2017-03-09 10:46:44,536][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main/java/org' ...
[2017-03-09 10:46:44,536][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main/java' ...
[2017-03-09 10:46:44,536][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src/main' ...
[2017-03-09 10:46:44,536][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core/src' ...
[2017-03-09 10:46:44,536][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core' ...
[2017-03-09 10:46:44,537][DEBUG][Session : 90] findProject - find gradle project /home/hinmanm/es/elasticsearch/core/build.gradle
[2017-03-09 10:46:44,575][DEBUG][Config : 57] <init> - home:/home/hinmanm/.emacs.d/meghanada
[2017-03-09 10:46:44,575][DEBUG][Config : 58] <init> - java-home:/opt/java/jdk1.8.0_111/jre
[2017-03-09 10:46:44,575][DEBUG][Config : 59] <init> - java-version:1.8
[2017-03-09 10:46:44,576][DEBUG][Config : 60] <init> - user-home:/home/hinmanm
[2017-03-09 10:46:44,576][DEBUG][Config : 61] <init> - project-root-dir:/home/hinmanm/es/elasticsearch/core
[2017-03-09 10:46:44,576][DEBUG][Config : 62] <init> - project-setting-dir:/home/hinmanm/es/elasticsearch/core/.meghanada
[2017-03-09 10:46:44,576][DEBUG][Config : 63] <init> - fast-boot:true
[2017-03-09 10:46:44,576][DEBUG][Config : 64] <init> - class-fuzzy-search:false
[2017-03-09 10:46:44,888][DEBUG][GradleProject : 311] getProjectConnection - use gradle version:'3.3'
[2017-03-09 10:47:40,247][DEBUG][GradleProject : 443] getDependency - find module dependency name=framework
[2017-03-09 10:47:40,248][DEBUG][GradleProject : 443] getDependency - find module dependency name=rest
[2017-03-09 10:47:40,253][DEBUG][GradleProject : 180] parseIdeaModule - sources [/home/hinmanm/es/elasticsearch/core/src/main/java]
[2017-03-09 10:47:40,254][DEBUG][GradleProject : 181] parseIdeaModule - resources [/home/hinmanm/es/elasticsearch/core/src/main/resources]
[2017-03-09 10:47:40,254][DEBUG][GradleProject : 182] parseIdeaModule - output /home/hinmanm/es/elasticsearch/core/build/classes/main
[2017-03-09 10:47:40,255][DEBUG][GradleProject : 183] parseIdeaModule - test sources [/home/hinmanm/es/elasticsearch/core/src/test/java]
[2017-03-09 10:47:40,255][DEBUG][GradleProject : 184] parseIdeaModule - test resources [/home/hinmanm/es/elasticsearch/core/src/test/resources]
[2017-03-09 10:47:40,256][DEBUG][GradleProject : 185] parseIdeaModule - test output /home/hinmanm/es/elasticsearch/core/build/classes/test
[2017-03-09 10:47:40,257][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.google.jimfs:jimfs:1.1, scope=TEST, version=1.1, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/8fbd0579dc68aba6186935cc1bee21d2f3e7ec1c/jimfs-1.1.jar}
[2017-03-09 10:47:40,258][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-test-framework:6.5.0-snapshot-d00c5ca, scope=TEST, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-test-framework/6.5.0-snapshot-d00c5ca/601c6cf5fbbf4653629aad7f983030d7e5a2d7b2/lucene-test-framework-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,260][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.locationtech.spatial4j:spatial4j:0.6, scope=COMPILE, version=0.6, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.locationtech.spatial4j/spatial4j/0.6/21b15310bddcfd8c72611c180f20cf23279809a3/spatial4j-0.6.jar}
[2017-03-09 10:47:40,260][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.tdunning:t-digest:3.0, scope=COMPILE, version=3.0, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.tdunning/t-digest/3.0/84ccf145ac2215e6bfa63baa3101c0af41017cfc/t-digest-3.0.jar}
[2017-03-09 10:47:40,260][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-grouping:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-grouping/6.5.0-snapshot-d00c5ca/f15775571fb5762dfc92e00c3909cb8db8ff1d53/lucene-grouping-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,261][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.fasterxml.jackson.core:jackson-core:2.8.6, scope=COMPILE, version=2.8.6, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.8.6/2ef7b1cc34de149600f5e75bc2d5bf40de894e60/jackson-core-2.8.6.jar}
[2017-03-09 10:47:40,261][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-spatial3d:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-spatial3d/6.5.0-snapshot-d00c5ca/69a3a86e9d045f872408793ea411d49e0c577268/lucene-spatial3d-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,261][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.google.guava:guava:18.0, scope=TEST, version=18.0, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/18.0/cce0823396aa693798f8882e64213b1772032b09/guava-18.0.jar}
[2017-03-09 10:47:40,261][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-spatial:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-spatial/6.5.0-snapshot-d00c5ca/693bc4cb0e2e4465e0173c67ed0818071c4b460b/lucene-spatial-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,261][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpcore:4.4.5, scope=TEST, version=4.4.5, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.5/e7501a1b34325abb00d17dde96150604a0658b54/httpcore-4.4.5.jar}
[2017-03-09 10:47:40,262][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.logging.log4j:log4j-1.2-api:2.7, scope=COMPILE, version=2.7, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-1.2-api/2.7/39f4e6c2d68d4ef8fd4b0883d165682dedd5be52/log4j-1.2-api-2.7.jar}
[2017-03-09 10:47:40,262][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.elasticsearch:mocksocket:1.1, scope=TEST, version=1.1, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.elasticsearch/mocksocket/1.1/681186430f906cf733cc0fd2e9643ada193d0cd2/mocksocket-1.1.jar}
[2017-03-09 10:47:40,262][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.hamcrest:hamcrest-all:1.3, scope=TEST, version=1.3, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-all/1.3/63a21ebc981131004ad02e0434e799fd7f3a8d5a/hamcrest-all-1.3.jar}
[2017-03-09 10:47:40,262][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=commons-codec:commons-codec:1.10, scope=TEST, version=1.10, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar}
[2017-03-09 10:47:40,262][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-sandbox:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-sandbox/6.5.0-snapshot-d00c5ca/a311a7d9f3e9a8fbf3a367a4e2731f9d4579732b/lucene-sandbox-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,263][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=commons-logging:commons-logging:1.1.3, scope=TEST, version=1.1.3, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar}
[2017-03-09 10:47:40,263][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-backward-codecs:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-backward-codecs/6.5.0-snapshot-d00c5ca/c6a940eff8a87df40262b752ed7b135e448b7873/lucene-backward-codecs-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,263][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=net.sf.jopt-simple:jopt-simple:5.0.2, scope=COMPILE, version=5.0.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.2/98cafc6081d5632b61be2c9e60650b64ddbc637c/jopt-simple-5.0.2.jar}
[2017-03-09 10:47:40,263][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-misc:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-misc/6.5.0-snapshot-d00c5ca/f5d90756dbeda1218d723b7bea0799c88d621adb/lucene-misc-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,263][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpclient:4.5.2, scope=TEST, version=4.5.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.2/733db77aa8d9b2d68015189df76ab06304406e50/httpclient-4.5.2.jar}
[2017-03-09 10:47:40,264][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.logging.log4j:log4j-api:2.7, scope=COMPILE, version=2.7, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.7/8de00e382a817981b737be84cb8def687d392963/log4j-api-2.7.jar}
[2017-03-09 10:47:40,264][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-join:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-join/6.5.0-snapshot-d00c5ca/5bc4cba55670c14ea812ff5de65edad4c312fdf6/lucene-join-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,264][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpasyncclient:4.1.2, scope=TEST, version=4.1.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpasyncclient/4.1.2/95aa3e6fb520191a0970a73cf09f62948ee614be/httpasyncclient-4.1.2.jar}
[2017-03-09 10:47:40,264][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-core:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-core/6.5.0-snapshot-d00c5ca/6ef5ad88141760c00ea041da1535f3ffc364d67d/lucene-core-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,264][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-spatial-extras:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-spatial-extras/6.5.0-snapshot-d00c5ca/326f31e63c76d476c23488c7354265cf915350f/lucene-spatial-extras-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,265][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-suggest:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-suggest/6.5.0-snapshot-d00c5ca/fabc05ca175150171cf60370877276b933716bcd/lucene-suggest-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,265][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.elasticsearch:securemock:1.2, scope=TEST, version=1.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.elasticsearch/securemock/1.2/98201d4ad5ac93f6b415ae9172d52b5e7cda490e/securemock-1.2.jar}
[2017-03-09 10:47:40,265][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.carrotsearch:hppc:0.7.1, scope=COMPILE, version=0.7.1, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.carrotsearch/hppc/0.7.1/8b5057f74ea378c0150a1860874a3ebdcb713767/hppc-0.7.1.jar}
[2017-03-09 10:47:40,265][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.8.6, scope=COMPILE, version=2.8.6, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.dataformat/jackson-dataformat-smile/2.8.6/71590ad45cee21249774e2f93e5eca66e446cef3/jackson-dataformat-smile-2.8.6.jar}
[2017-03-09 10:47:40,265][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.8.6, scope=COMPILE, version=2.8.6, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/2.8.6/b88721371cfa2d7242bb5e52fe70861aa061c050/jackson-dataformat-cbor-2.8.6.jar}
[2017-03-09 10:47:40,266][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.logging.log4j:log4j-core:2.7, scope=COMPILE, version=2.7, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.7/a3f2b4e64c61a7fc1ed8f1e5ba371933404ed98a/log4j-core-2.7.jar}
[2017-03-09 10:47:40,266][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.yaml:snakeyaml:1.15, scope=COMPILE, version=1.15, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.15/3b132bea69e8ee099f416044970997bde80f4ea6/snakeyaml-1.15.jar}
[2017-03-09 10:47:40,267][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-memory:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-memory/6.5.0-snapshot-d00c5ca/68cf08bcd8414a57493debf3a6a509d78a9abb56/lucene-memory-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,268][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.hdrhistogram:HdrHistogram:2.1.9, scope=COMPILE, version=2.1.9, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.hdrhistogram/HdrHistogram/2.1.9/e4631ce165eb400edecfa32e03d3f1be53dee754/HdrHistogram-2.1.9.jar}
[2017-03-09 10:47:40,268][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-analyzers-common:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-analyzers-common/6.5.0-snapshot-d00c5ca/9ad2a7bd252cbdb76ac121287e670d75f4db2cd3/lucene-analyzers-common-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,269][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-queries:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-queries/6.5.0-snapshot-d00c5ca/9298e7d1ed96e7beb63d7ccdce1a4502eb0fe484/lucene-queries-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,269][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpcore-nio:4.4.5, scope=TEST, version=4.4.5, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore-nio/4.4.5/f4be009e7505f6ceddf21e7960c759f413f15056/httpcore-nio-4.4.5.jar}
[2017-03-09 10:47:40,270][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.vividsolutions:jts:1.13, scope=COMPILE, version=1.13, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.vividsolutions/jts/1.13/3ccfb9b60f04d71add996a666ceb8902904fd805/jts-1.13.jar}
[2017-03-09 10:47:40,270][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-queryparser:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-queryparser/6.5.0-snapshot-d00c5ca/918de18963607af69dff38e4773c0bde89c73ae3/lucene-queryparser-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,270][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-highlighter:6.5.0-snapshot-d00c5ca, scope=COMPILE, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-highlighter/6.5.0-snapshot-d00c5ca/51d793aa64257beead4ccc7432eb5df81d17f23/lucene-highlighter-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,270][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=net.java.dev.jna:jna:4.2.2, scope=COMPILE, version=4.2.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.2.2/5012450aee579c3118ff09461d5ce210e0cdc2a9/jna-4.2.2.jar}
[2017-03-09 10:47:40,270][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=junit:junit:4.11, scope=TEST, version=4.11, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar}
[2017-03-09 10:47:40,271][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=joda-time:joda-time:2.9.5, scope=COMPILE, version=2.9.5, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.9.5/5f01da7306363fad2028b916f3eab926262de928/joda-time-2.9.5.jar}
[2017-03-09 10:47:40,271][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.lucene:lucene-codecs:6.5.0-snapshot-d00c5ca, scope=TEST, version=6.5.0-snapshot-d00c5ca, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.lucene/lucene-codecs/6.5.0-snapshot-d00c5ca/2b198c65109b5ee09512e5903ee6454dc0d081d8/lucene-codecs-6.5.0-snapshot-d00c5ca.jar}
[2017-03-09 10:47:40,271][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.6, scope=COMPILE, version=2.8.6, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.8.6/8bd44d50f9a6cdff9c7578ea39d524eb519e35ab/jackson-dataformat-yaml-2.8.6.jar}
[2017-03-09 10:47:40,271][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.4.0, scope=TEST, version=2.4.0, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.carrotsearch.randomizedtesting/randomizedtesting-runner/2.4.0/222eb23dd6f45541acf6a5ac69cd9e9bdce25d2/randomizedtesting-runner-2.4.0.jar}
[2017-03-09 10:47:40,271][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.elasticsearch:securesm:1.1, scope=COMPILE, version=1.1, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.elasticsearch/securesm/1.1/1e423447d020041534be94c0f31a49fbdc1f2950/securesm-1.1.jar}
[2017-03-09 10:48:08,470][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/test/framework' ...
[2017-03-09 10:48:08,470][DEBUG][Session : 90] findProject - find gradle project /home/hinmanm/es/elasticsearch/test/framework/build.gradle
[2017-03-09 10:48:08,480][DEBUG][GradleProject : 311] getProjectConnection - use gradle version:'3.3'
[2017-03-09 10:54:14,866][DEBUG][GradleProject : 443] getDependency - find module dependency name=core
[2017-03-09 10:54:14,866][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/core' ...
[2017-03-09 10:54:14,867][DEBUG][Session : 90] findProject - find gradle project /home/hinmanm/es/elasticsearch/core/build.gradle
[2017-03-09 10:54:15,029][DEBUG][GradleProject : 300] lambda$loadModule$0 - load module dependency name=core
[2017-03-09 10:54:15,029][DEBUG][GradleProject : 443] getDependency - find module dependency name=rest
[2017-03-09 10:54:15,029][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/client/rest' ...
[2017-03-09 10:54:15,030][DEBUG][Session : 90] findProject - find gradle project /home/hinmanm/es/elasticsearch/client/rest/build.gradle
[2017-03-09 10:54:15,031][DEBUG][GradleProject : 311] getProjectConnection - use gradle version:'3.3'
[2017-03-09 10:57:07,053][DEBUG][GradleProject : 443] getDependency - find module dependency name=client-test
[2017-03-09 10:57:07,053][DEBUG][GradleProject : 180] parseIdeaModule - sources [/home/hinmanm/es/elasticsearch/client/rest/src/main/java]
[2017-03-09 10:57:07,053][DEBUG][GradleProject : 181] parseIdeaModule - resources [/home/hinmanm/es/elasticsearch/client/rest/src/main/resources]
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 182] parseIdeaModule - output /home/hinmanm/es/elasticsearch/client/rest/build/classes/main
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 183] parseIdeaModule - test sources [/home/hinmanm/es/elasticsearch/client/rest/src/test/java]
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 184] parseIdeaModule - test resources [/home/hinmanm/es/elasticsearch/client/rest/src/test/resources]
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 185] parseIdeaModule - test output /home/hinmanm/es/elasticsearch/client/rest/build/classes/test
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.elasticsearch:mocksocket:1.1, scope=TEST, version=1.1, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.elasticsearch/mocksocket/1.1/681186430f906cf733cc0fd2e9643ada193d0cd2/mocksocket-1.1.jar}
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.codehaus.mojo:animal-sniffer-annotations:1.15, scope=TEST, version=1.15, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.15/3f19b51588ad71482ce4c169f54f697b6181d1b4/animal-sniffer-annotations-1.15.jar}
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.hamcrest:hamcrest-all:1.3, scope=TEST, version=1.3, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-all/1.3/63a21ebc981131004ad02e0434e799fd7f3a8d5a/hamcrest-all-1.3.jar}
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.elasticsearch:securemock:1.2, scope=TEST, version=1.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.elasticsearch/securemock/1.2/98201d4ad5ac93f6b415ae9172d52b5e7cda490e/securemock-1.2.jar}
[2017-03-09 10:57:07,054][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpclient:4.5.2, scope=COMPILE, version=4.5.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.2/733db77aa8d9b2d68015189df76ab06304406e50/httpclient-4.5.2.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpasyncclient:4.1.2, scope=COMPILE, version=4.1.2, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpasyncclient/4.1.2/95aa3e6fb520191a0970a73cf09f62948ee614be/httpasyncclient-4.1.2.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpcore-nio:4.4.5, scope=COMPILE, version=4.4.5, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore-nio/4.4.5/f4be009e7505f6ceddf21e7960c759f413f15056/httpcore-nio-4.4.5.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=junit:junit:4.11, scope=TEST, version=4.11, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=commons-logging:commons-logging:1.1.3, scope=COMPILE, version=1.1.3, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=commons-codec:commons-codec:1.10, scope=COMPILE, version=1.10, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.4.0, scope=TEST, version=2.4.0, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/com.carrotsearch.randomizedtesting/randomizedtesting-runner/2.4.0/222eb23dd6f45541acf6a5ac69cd9e9bdce25d2/randomizedtesting-runner-2.4.0.jar}
[2017-03-09 10:57:07,055][DEBUG][GradleProject : 188] parseIdeaModule - dependency ProjectDependency{id=org.apache.httpcomponents:httpcore:4.4.5, scope=COMPILE, version=4.4.5, file=/home/hinmanm/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.5/e7501a1b34325abb00d17dde96150604a0658b54/httpcore-4.4.5.jar}
[2017-03-09 10:57:38,814][DEBUG][Session : 79] findProject - finding project from '/home/hinmanm/es/elasticsearch/test' ...
[2017-03-09 10:57:38,814][DEBUG][Session : 90] findProject - find gradle project /home/hinmanm/es/elasticsearch/test/build.gradle
[2017-03-09 10:57:38,823][DEBUG][GradleProject : 311] getProjectConnection - use gradle version:'3.3'
... etc etc for all the other gradle modules ...
Trying to instatiate meghanada-server with java 9 gives:
java.lang.IllegalArgumentException: Could not determine java version from '9.0.1'.
at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:70) ~[meghanada-0.8.3.jar:?]
at org.gradle.api.JavaVersion.current(JavaVersion.java:80) ~[meghanada-0.8.3.jar:?]
at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29) ~[meghanada-0.8.3.jar:?]
at org.gradle.tooling.internal.consumer.ConnectorServices.checkJavaVersion(ConnectorServices.java:57) ~[meghanada-0.8.3.jar:?]
at org.gradle.tooling.internal.consumer.ConnectorServices.createConnector(ConnectorServices.java:35) ~[meghanada-0.8.3.jar:?]
at org.gradle.tooling.GradleConnector.newConnector(GradleConnector.java:85) ~[meghanada-0.8.3.jar:?]
at meghanada.project.gradle.GradleProject.getProjectConnection(GradleProject.java:308) ~[meghanada-0.8.3.jar:?]
at meghanada.project.gradle.GradleProject.parseProject(GradleProject.java:138) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.loadProject(Session.java:188) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.findProject(Session.java:118) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.createSession(Session.java:97) ~[meghanada-0.8.3.jar:?]
at meghanada.session.Session.createSession(Session.java:92) ~[meghanada-0.8.3.jar:?]
at meghanada.server.emacs.EmacsServer.startServer(EmacsServer.java:306) [meghanada-0.8.3.jar:?]
at meghanada.Main.main(Main.java:127) [meghanada-0.8.3.jar:?]
Here's the stacktrace from the server buffer:
[2017-02-02 16:16:55,464][ERROR][EmacsServer : 138] lambda$acceptConnectio - Catching
java.lang.RuntimeException: java.lang.NullPointerException
at meghanada.server.CommandHandler.autocomplete(CommandHandler.java:101) ~[meghanada-0.5.0.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$5(EmacsServer.java:169) ~[meghanada-0.5.0.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.5.0.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.5.0.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.5.0.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:271) ~[meghanada-0.5.0.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.5.0.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.NullPointerException
at meghanada.utils.ClassNameUtils.getSimpleName(ClassNameUtils.java:169) ~[meghanada-0.5.0.jar:?]
at meghanada.reflect.FieldDescriptor.getDisplayDeclaration(FieldDescriptor.java:49) ~[meghanada-0.5.0.jar:?]
at meghanada.server.formatter.SexpOutputFormatter.lambda$autocomplete$1(SexpOutputFormatter.java:88) ~[meghanada-0.5.0.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_111]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_111]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_111]
at meghanada.server.formatter.SexpOutputFormatter.autocomplete(SexpOutputFormatter.java:91) ~[meghanada-0.5.0.jar:?]
at meghanada.server.CommandHandler.autocomplete(CommandHandler.java:97) ~[meghanada-0.5.0.jar:?]
... 11 more
[2017-02-02 16:16:55,469][INFO ][EmacsServer : 145] lambda$acceptConnectio - client disconnect
Dear,
I have created a pull request and implemented CamelCase auto completion.
This works for both class members, methods.
Both the follow two pull requests support this feature
Thanks :)
When I try to load up my project with megahanada, I get the following stacktrace from the server:
[2017-11-27 14:15:01,987][INFO ][Main : 125] main - Meghanada-Server Version:0.8.3-507f400
[2017-11-27 14:15:03,639][INFO ][GradleProject : 139] parseProject - loading gradle project:/home/hinmanm/es/elasticsearch/core/build.gradle
Downloading https://services.gradle.org/distributions/gradle-4.0.1-bin.zip
................................................................
Unzipping /home/hinmanm/.gradle/wrapper/dists/gradle-4.0.1-bin/82ajq2mkcvzmyzskx3tahg8op/gradle-4.0.1-bin.zip to /home/hinmanm/.gradle/wrapper/dists/gradle-4.0.1-bin/82ajq2mkcvzmyzskx3tahg8op
Set executable permissions for: /home/hinmanm/.gradle/wrapper/dists/gradle-4.0.1-bin/82ajq2mkcvzmyzskx3tahg8op/gradle-4.0.1/bin/gradle
[2017-11-27 14:17:17,655][INFO ][Session : 192] loadProject - loaded project:/home/hinmanm/es/elasticsearch/core elapsed:2.234 min
[2017-11-27 14:17:17,853][INFO ][EmacsServer : 308] startServer - Start server Listen localhost:55555
[2017-11-27 14:17:17,860][INFO ][EmacsServer : 329] accept - client connected
[2017-11-27 14:17:17,924][INFO ][GradleProject : 139] parseProject - loading gradle project:/home/hinmanm/es/elasticsearch/core/cli/build.gradle
[2017-11-27 14:17:25,435][INFO ][Session : 192] loadProject - loaded project:/home/hinmanm/es/elasticsearch/core/cli elapsed:7.512 s
[2017-11-27 14:17:25,436][INFO ][ProjectDepende: 157] lambda$getProjectOutpu - skip build project core-cli
[2017-11-27 14:17:25,438][INFO ][ProjectDepende: 157] lambda$getProjectOutpu - skip build project core-cli
[2017-11-27 14:17:25,498][INFO ][GradleProject : 139] parseProject - loading gradle project:/home/hinmanm/es/elasticsearch/client/rest/build.gradle
[2017-11-27 14:17:35,450][INFO ][Session : 192] loadProject - loaded project:/home/hinmanm/es/elasticsearch/client/rest elapsed:9.952 s
[2017-11-27 14:17:35,451][INFO ][ProjectDepende: 157] lambda$getProjectOutpu - skip build project client-rest
[2017-11-27 14:17:35,736][INFO ][GradleProject : 139] parseProject - loading gradle project:/home/hinmanm/es/elasticsearch/test/framework/build.gradle
[2017-11-27 14:17:41,215][INFO ][Session : 192] loadProject - loaded project:/home/hinmanm/es/elasticsearch/test/framework elapsed:5.480 s
[2017-11-27 14:17:41,224][INFO ][ProjectDepende: 157] lambda$getProjectOutpu - skip build project test-framework
[2017-11-27 14:17:41,232][INFO ][ProjectDepende: 157] lambda$getProjectOutpu - skip build project core-cli
[2017-11-27 14:17:41,753][INFO ][Config : 115] timeItF - create class index ... read 79 jars. elapsed:517.0 ms
[2017-11-27 14:17:41,766][ERROR][Session : 34] lambda$new$0 - java.lang.IllegalArgumentException
java.lang.RuntimeException: java.lang.IllegalArgumentException
at meghanada.config.Config.timeItF(Config.java:113) ~[meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.analyze(CacheEventSubscriber.java:55) ~[meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:31) ~[meghanada-0.8.3.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[meghanada-0.8.3.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[meghanada-0.8.3.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [meghanada-0.8.3.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[meghanada-0.8.3.jar:?]
at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[meghanada-0.8.3.jar:?]
at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[meghanada-0.8.3.jar:?]
at meghanada.reflect.asm.ASMReflector.readClassIndex(ASMReflector.java:146) ~[meghanada-0.8.3.jar:?]
at meghanada.reflect.asm.ASMReflector.lambda$getClasses$4(ASMReflector.java:310) ~[meghanada-0.8.3.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIOConsumer$2(FunctionUtils.java:34) ~[meghanada-0.8.3.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_111]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) ~[?:1.8.0_111]
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1870) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinPool.externalHelpComplete(ForkJoinPool.java:2467) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:324) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:405) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583) ~[?:1.8.0_111]
at meghanada.reflect.asm.ASMReflector.getClasses(ASMReflector.java:297) ~[meghanada-0.8.3.jar:?]
at meghanada.reflect.asm.CachedASMReflector.lambda$createClassIndexes$1(CachedASMReflector.java:150) ~[meghanada-0.8.3.jar:?]
at meghanada.utils.FunctionUtils.lambda$wrapIOConsumer$2(FunctionUtils.java:34) ~[meghanada-0.8.3.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_111]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) ~[?:1.8.0_111]
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1870) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinPool.externalHelpComplete(ForkJoinPool.java:2467) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:324) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:405) ~[?:1.8.0_111]
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583) ~[?:1.8.0_111]
at meghanada.reflect.asm.CachedASMReflector.createClassIndexes(CachedASMReflector.java:132) ~[meghanada-0.8.3.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.lambda$analyze$2(CacheEventSubscriber.java:59) ~[meghanada-0.8.3.jar:?]
at meghanada.config.Config.timeItF(Config.java:111) ~[meghanada-0.8.3.jar:?]
... 12 more
Sorry it's not much to go on, the only thing I've done was meghanada-client-connect
After I press the < m - .> show Declaration , emacs crash, 100% CPU.
I want to goto declaration interface.
[2017-03-24 16:36:01,051][ERROR][CommandHandler: 288] showDeclaration - Catching
java.lang.NullPointerException: null
at meghanada.utils.ClassNameUtils.vaArgsToArray(ClassNameUtils.java:435) ~[meghanada-0.7.0.jar:?]
at meghanada.utils.ClassName.(ClassName.java:16) ~[meghanada-0.7.0.jar:?]
at meghanada.reflect.asm.CachedASMReflector.reflect(CachedASMReflector.java:342) ~[meghanada-0.7.0.jar:?]
at meghanada.reflect.asm.CachedASMReflector.reflectMethodStream(CachedASMReflector.java:376) ~[meghanada-0.7.0.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchMethodCall$7(DeclarationSearcher.java:120) ~[meghanada-0.7.0.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_111]
at meghanada.docs.declaration.DeclarationSearcher.searchMethodCall(DeclarationSearcher.java:115) ~[meghanada-0.7.0.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$null$12(DeclarationSearcher.java:218) ~[meghanada-0.7.0.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_111]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_111]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:1.8.0_111]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchDeclaration$13(DeclarationSearcher.java:220) ~[meghanada-0.7.0.jar:?]
at java.util.Optional.flatMap(Optional.java:241) ~[?:1.8.0_111]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:217) ~[meghanada-0.7.0.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:595) ~[meghanada-0.7.0.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.0.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$17(EmacsServer.java:245) ~[meghanada-0.7.0.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.0.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.0.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.0.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:277) ~[meghanada-0.7.0.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:125) ~[meghanada-0.7.0.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
[2017-03-24 16:36:01,059][ERROR][EmacsServer : 138] lambda$acceptConnectio - Catching
I got another NullPointer exception during my random browsing through my code, not sure at what point showDeclaration
is triggered, but here is my stack trace:
[2017-05-17 16:13:06,396][ERROR][CommandHandler: 292] showDeclaration - Catching
java.lang.NullPointerException: null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.toString(Joiner.java:454) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:106) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:154) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:197) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:187) ~[meghanada-0.7.6.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchMethodCall$8(DeclarationSearcher.java:166) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.searchMethodCall(DeclarationSearcher.java:131) ~[meghanada-0.7.6.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$null$13(DeclarationSearcher.java:258) ~[meghanada-0.7.6.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_121]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_121]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchDeclaration$14(DeclarationSearcher.java:260) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.flatMap(Optional.java:241) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:254) ~[meghanada-0.7.6.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:668) ~[meghanada-0.7.6.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:285) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$14(EmacsServer.java:184) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:226) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$22(EmacsServer.java:306) ~[meghanada-0.7.6.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[2017-05-17 16:13:06,413][ERROR][EmacsServer : 319] lambda$acceptConnectio - Catching
meghanada.server.CommandException: java.lang.NullPointerException
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:293) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$14(EmacsServer.java:184) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) ~[meghanada-0.7.6.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:226) ~[meghanada-0.7.6.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$22(EmacsServer.java:306) ~[meghanada-0.7.6.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.toString(Joiner.java:454) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:106) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:154) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:197) ~[meghanada-0.7.6.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:187) ~[meghanada-0.7.6.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchMethodCall$8(DeclarationSearcher.java:166) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.searchMethodCall(DeclarationSearcher.java:131) ~[meghanada-0.7.6.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$null$13(DeclarationSearcher.java:258) ~[meghanada-0.7.6.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_121]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_121]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_121]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_121]
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchDeclaration$14(DeclarationSearcher.java:260) ~[meghanada-0.7.6.jar:?]
at java.util.Optional.flatMap(Optional.java:241) ~[?:1.8.0_121]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:254) ~[meghanada-0.7.6.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:668) ~[meghanada-0.7.6.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:285) ~[meghanada-0.7.6.jar:?]
... 11 more
[2017-05-17 16:13:06,420][INFO ][EmacsServer : 326] lambda$acceptConnectio - client disconnect
I tried to install meghanada server from emacs and by compiling from source via gradlew - both times it is successfull, but when I try to run java -jar meghanada.jar
I'm getting
sandric@sandric-mac ~/meghanada-server> java -jar build/libs/meghanada.jar
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:459)
at java.util.Properties.setProperty(Properties.java:166)
at java.lang.System.setProperty(System.java:796)
at meghanada.Main.main(Main.java:35)
Here's my java version:
sandric@sandric-mac ~/meghanada-server> java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Formatting incorrect source code will crash.
Dear,
I tried to index a springboot project, all the jars is around 100MB,
The follow exception was thrown by lucene and meghanada-server,
java.io.UncheckedIOException: java.io.IOException: Invalid vInt detected (too many bits)
at meghanada.index.DocumentSearcher.lambda$executeInTransaction$2(DocumentSearcher.java:164) ~[meghanada-1.0.1.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.executeInTransaction(EnvironmentImpl.java:966) ~[meghanada-1.0.1.jar:?]
at jetbrains.exodus.env.EnvironmentImpl.executeInTransaction(EnvironmentImpl.java:253) ~[meghanada-1.0.1.jar:?]
at jetbrains.exodus.env.ContextualEnvironmentImpl.executeInTransaction(ContextualEnvironmentImpl.java:131) ~[meghanada-1.0.1.jar:?]
at meghanada.index.DocumentSearcher.executeInTransaction(DocumentSearcher.java:155) ~[meghanada-1.0.1.jar:?]
at meghanada.index.IndexDatabase.indexObject(IndexDatabase.java:120) ~[meghanada-1.0.1.jar:?]
at meghanada.index.IndexDatabase.on(IndexDatabase.java:161) ~[meghanada-1.0.1.jar:?]
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87) ~[meghanada-1.0.1.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144) ~[meghanada-1.0.1.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72) [meghanada-1.0.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_144]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_144]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Caused by: java.io.IOException: Invalid vInt detected (too many bits)
at org.apache.lucene.store.DataInput.readVInt(DataInput.java:123) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.TermBuffer.read(TermBuffer.java:86) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java:133) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SegmentMergeInfo.next(SegmentMergeInfo.java:72) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:501) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:428) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:108) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4263) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3908) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.SerialMergeScheduler.merge(SerialMergeScheduler.java:37) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2747) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2741) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3553) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:1852) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1812) ~[meghanada-1.0.1.jar:?]
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1776) ~[meghanada-1.0.1.jar:?]
at meghanada.index.DocumentSearcher.closeIndexWriter(DocumentSearcher.java:95) ~[meghanada-1.0.1.jar:?]
at meghanada.index.DocumentSearcher.lambda$executeInTransaction$2(DocumentSearcher.java:161) ~[meghanada-1.0.1.jar:?]
... 15 more
I have tried to delete all the index and caches and start from scratch, but still get this error.
Here is my settings in Emacs:
(require 'meghanada)
(add-hook 'java-mode-hook
(lambda ()
(meghanada-mode t)
(gradle-mode t)
(add-hook 'before-save-hook 'delete-trailing-whitespace)))
(add-hook 'groovy-mode-hook
(lambda ()
(gradle-mode t)))
(global-set-key (kbd "H-r") 'meghanada-reference)
(setq company-meghanada-auto-import t)
(setq company-meghanada-show-annotation t)
(setq meghanada-full-text-search-enable t)
(setq meghanada-server-remote-debug t)
(setq meghanada-debug t)
(setq meghanada-skip-build-subprojects nil)
(setq meghanada-cache-in-project nil)
(setq meghanada-server-jvm-option
"-Xms512m -Xmx1024m -XX:ReservedCodeCacheSize=480m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false")
Is there any possible causing and resolving to this issue?
Thanks.
First of all, meghanada is a great tool, thanks!
But is there any special reason that I should know about this problem?
When I am developing a function and adding a new one and the syntax is temporarily wrong (because I am still editing) it seems the server is crashing with the following error:
Caused by: java.lang.NullPointerException
at meghanada.project.Project.parseFile(Project.java:323) ~[meghanada-0.7.5.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:109) ~[meghanada-0.7.5.jar:?]
at meghanada.cache.JavaSourceLoader.load(JavaSourceLoader.java:22) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:4154) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) ~[meghanada-0.7.5.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) ~[meghanada-0.7.5.jar:?]
at meghanada.cache.GlobalCache.getSource(GlobalCache.java:176) ~[meghanada-0.7.5.jar:?]
at meghanada.utils.FileUtils.getSource(FileUtils.java:374) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:221) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:634) ~[meghanada-0.7.5.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.5.jar:?]
... 11 more
[2017-05-14 10:31:18,587][INFO ][EmacsServer : 145] lambda$acceptConnectio - client disconnect
[2017-05-14 10:25:03,515][INFO ][Main : 114] main - Meghanada-Server Version:0.7.5-d441072
Is this a bug or is it not feasible to have it run during editing, it might be my emacs settings continuously saving the file when I pause for a bit.
I have a project that uses the Bazel/Buck/Please format. Can meghanada-server use this instead of a gradle or maven project? I see that meghanada-server can itself be compiled with Bazel
[2017-03-21 15:42:34,059][DEBUG][Main : 73] main - set verbose flag(DEBUG)
[2017-03-21 15:42:34,061][DEBUG][Main : 111] main - set port:55555, projectRoot:./, output:sexp
[2017-03-21 15:42:34,061][INFO ][Main : 114] main - Meghanada-Server Version:0.7.0-0c49b50
[2017-03-21 15:42:34,070][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src/main/java/com/mindasset/gaia' ...
[2017-03-21 15:42:34,070][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src/main/java/com/mindasset' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src/main/java/com' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src/main/java' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src/main' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia/src' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 80] findProject - finding project from '/Users/lee5hx/Works/java_projects/gaias/gaia' ...
[2017-03-21 15:42:34,071][DEBUG][Session : 94] findProject - find mvn project /Users/lee5hx/Works/java_projects/gaias/gaia/pom.xml
[2017-03-21 15:42:34,115][DEBUG][Config : 57] - home:/Users/lee5hx/emacs-confs/lee5hx/meghanada
[2017-03-21 15:42:34,115][DEBUG][Config : 58] - java-home:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre
[2017-03-21 15:42:34,115][DEBUG][Config : 59] - java-version:1.8
[2017-03-21 15:42:34,115][DEBUG][Config : 60] - user-home:/Users/lee5hx
[2017-03-21 15:42:34,115][DEBUG][Config : 61] - project-root-dir:/Users/lee5hx/Works/java_projects/gaias/gaia
[2017-03-21 15:42:34,115][DEBUG][Config : 62] - fast-boot:true
[2017-03-21 15:42:34,116][DEBUG][Config : 63] - class-fuzzy-search:false
[2017-03-21 15:42:34,388][DEBUG][MavenProject : 156] runMvn - RUN cmd: mvn dependency:resolve
[2017-03-21 15:42:34,397][ERROR][EmacsServer : 70] startServer - Catching
meghanada.project.ProjectParseException: java.io.IOException: Cannot run program "mvn" (in directory "/Users/lee5hx/Works/java_projects/gaias/gaia"): error=2, No such file or directory
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:134) ~[meghanada-0.7.0.jar:?]
at meghanada.session.Session.loadProject(Session.java:165) ~[meghanada-0.7.0.jar:?]
at meghanada.session.Session.findProject(Session.java:95) ~[meghanada-0.7.0.jar:?]
at meghanada.session.Session.createSession(Session.java:71) ~[meghanada-0.7.0.jar:?]
at meghanada.session.Session.createSession(Session.java:66) ~[meghanada-0.7.0.jar:?]
at meghanada.server.emacs.EmacsServer.startServer(EmacsServer.java:65) [meghanada-0.7.0.jar:?]
at meghanada.Main.main(Main.java:116) [meghanada-0.7.0.jar:?]
Caused by: java.io.IOException: Cannot run program "mvn" (in directory "/Users/lee5hx/Works/java_projects/gaias/gaia"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[?:1.8.0_111]
at meghanada.project.maven.MavenProject.runMvn(MavenProject.java:159) ~[meghanada-0.7.0.jar:?]
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:73) ~[meghanada-0.7.0.jar:?]
... 6 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method) ~[?:1.8.0_111]
at java.lang.UNIXProcess.(UNIXProcess.java:247) ~[?:1.8.0_111]
at java.lang.ProcessImpl.start(ProcessImpl.java:134) ~[?:1.8.0_111]
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ~[?:1.8.0_111]
at meghanada.project.maven.MavenProject.runMvn(MavenProject.java:159) ~[meghanada-0.7.0.jar:?]
at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:73) ~[meghanada-0.7.0.jar:?]
... 6 more
[2017-03-21 15:42:34,402][INFO ][Main : 43] lambda$main$1 - shutdown server
Can you guys upload a sample project or extend support for ant projects. The ant projects are popular, and I'm struggling with setting it up.
I work on a project that requires gradle 2.13
due to bugs introduced in later gradle versions, however, when I try to run the server I get:
Caused by: org.gradle.api.GradleException: Gradle 2.13 is required to build elasticsearch
at build_da97v8nh3ew8kq4jfh1zxmavb.run(/home/hinmanm/es/elasticsearch/buildSrc/build.gradle:33)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
... 83 more
Because it uses gradle 3.0 from the wrapper.
It would be great if there were a way to tell meghanada to use gradle
from the $PATH
rather than the gradle from the wrapper, so the version I need to use explicitly will work.
When I do meghanada-jump-declaration
on some idenifiers. For example:
That causes the server to crash.
Note: I've tested with the dev branch and copied the jar to 0.7.5.jar to make things easier
Caused by: java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770) ~[meghanada-0.7.5.jar:?]
at com.google.common.base.Joiner.toString(Joiner.java:454) ~[meghanada-0.7.5.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:106) ~[meghanada-0.7.5.jar:?]
at com.google.common.base.Joiner.appendTo(Joiner.java:154) ~[meghanada-0.7.5.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:197) ~[meghanada-0.7.5.jar:?]
at com.google.common.base.Joiner.join(Joiner.java:187) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchMethodCall$8(DeclarationSearcher.java:141) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher$$Lambda$289/1849122699.apply(Unknown Source) ~[?:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_51]
at meghanada.docs.declaration.DeclarationSearcher.searchMethodCall(DeclarationSearcher.java:116) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher$$Lambda$279/516879897.apply(Unknown Source) ~[?:?]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchDeclaration$13(DeclarationSearcher.java:222) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher$$Lambda$283/580245792.apply(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_51]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351) ~[?:1.8.0_51]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_51]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529) ~[?:1.8.0_51]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516) ~[?:1.8.0_51]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_51]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_51]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_51]
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:1.8.0_51]
at meghanada.docs.declaration.DeclarationSearcher.lambda$searchDeclaration$14(DeclarationSearcher.java:224) ~[meghanada-0.7.5.jar:?]
at meghanada.docs.declaration.DeclarationSearcher$$Lambda$282/803597157.apply(Unknown Source) ~[?:?]
at java.util.Optional.flatMap(Optional.java:241) ~[?:1.8.0_51]
at meghanada.docs.declaration.DeclarationSearcher.searchDeclaration(DeclarationSearcher.java:221) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.showDeclaration(Session.java:642) ~[meghanada-0.7.5.jar:?]
at meghanada.server.CommandHandler.showDeclaration(CommandHandler.java:281) ~[meghanada-0.7.5.jar:?]
... 14 more
[2017-05-16 00:48:30,161][INFO ][EmacsServer : 148] lambda$acceptConnectio - client disconnect
Server is crashing with following error:
[2017-05-11 23:30:37,767][INFO ][Main : 114] main - Meghanada-Server Version:0.7.5-d441072 [2017-05-11 23:30:37,835][INFO ][MavenProject : 73] parseProject - running maven. resolve dependencies ... [2017-05-11 23:30:39,866][ERROR][EmacsServer : 70] startServer - Catching java.lang.NullPointerException: request.modelResolver cannot be null (parent POM org.springframework.boot:spring-boot-starter-parent:1.5.3.RELEASE and POM com.alexafshar:springangularone:0.0.1-SNAPSHOT (/home/asqrd/Work/code/java/springangularone/pom.xml)) at org.apache.commons.lang3.Validate.notNull(Validate.java:225) ~[meghanada-0.7.5.jar:?] at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1045) ~[meghanada-0.7.5.jar:?] at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:829) ~[meghanada-0.7.5.jar:?] at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:331) ~[meghanada-0.7.5.jar:?] at meghanada.project.maven.POMParser.parsePom(POMParser.java:64) ~[meghanada-0.7.5.jar:?] at meghanada.project.maven.MavenProject.parseProject(MavenProject.java:93) ~[meghanada-0.7.5.jar:?] at meghanada.session.Session.loadProject(Session.java:169) ~[meghanada-0.7.5.jar:?] at meghanada.session.Session.findProject(Session.java:99) ~[meghanada-0.7.5.jar:?] at meghanada.session.Session.createSession(Session.java:75) ~[meghanada-0.7.5.jar:?] at meghanada.session.Session.createSession(Session.java:70) ~[meghanada-0.7.5.jar:?] at meghanada.server.emacs.EmacsServer.startServer(EmacsServer.java:65) [meghanada-0.7.5.jar:?] at meghanada.Main.main(Main.java:116) [meghanada-0.7.5.jar:?] [2017-05-11 23:30:39,869][INFO ][Main : 43] lambda$main$1 - shutdown server
I am testing a small spring-boot app, here is the pom.xml:
<groupId>com.alexafshar</groupId>
<artifactId>springangularone</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springangularone</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>angularjs</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.ensime.maven.plugins</groupId>
<artifactId>ensime-maven</artifactId>
<version>1.1.0</version>
</plugin>
</plugins>
</build>
</project>
`
Gradle is working fantastic (last update really sped up indexing, so cheers for that!), so I am also including a snippet of my zshrc file:
`export MEGHANADA_MAVEN_PATH=$HOME/.sdkman/candidates/maven/current/bin/mvn
export PATH=$PATH:$MEGHANADA_MAVEN_PATH`
Please let me know if anyone has similiar issue, or you can identify mine. And thanks for this project, It is my best bet for kicking intellij to the curb!
I've noticed that sometimes when I invoke gradle
at the command line to run a test, or do something else, it seems to mess with the gradle that meghanada is running, cleaning up build files or something, which causes the server to crash.
Here's an example log I saw today:
java.io.UncheckedIOException: meghanada.project.ProjectParseException: java.lang.RuntimeException: org.gradle.tooling.BuildException: Could not fetch model of type 'IdeaProject' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.3-bin.zip'.
at meghanada.project.ProjectDependency.getDependencyFilePath(ProjectDependency.java:148) ~[meghanada-0.7.5.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.lambda$analyze$3(CacheEventSubscriber.java:74) ~[meghanada-0.7.5.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_111]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_111]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_111]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_111]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_111]
at meghanada.session.subscribe.CacheEventSubscriber.analyze(CacheEventSubscriber.java:73) ~[meghanada-0.7.5.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:34) ~[meghanada-0.7.5.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[meghanada-0.7.5.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[meghanada-0.7.5.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [meghanada-0.7.5.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: meghanada.project.ProjectParseException: java.lang.RuntimeException: org.gradle.tooling.BuildException: Could not fetch model of type 'IdeaProject' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.3-bin.zip'.
at meghanada.project.gradle.GradleProject.parseProject(GradleProject.java:104) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.loadProject(Session.java:169) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.findProject(Session.java:96) ~[meghanada-0.7.5.jar:?]
at meghanada.project.ProjectDependency.getDependencyFilePath(ProjectDependency.java:130) ~[meghanada-0.7.5.jar:?]
... 22 more
Caused by: java.lang.RuntimeException: org.gradle.tooling.BuildException: Could not fetch model of type 'IdeaProject' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.3-bin.zip'.
at meghanada.config.Config.debugTimeItF(Config.java:123) ~[meghanada-0.7.5.jar:?]
at meghanada.project.gradle.GradleProject.parseProject(GradleProject.java:86) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.loadProject(Session.java:169) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.findProject(Session.java:96) ~[meghanada-0.7.5.jar:?]
at meghanada.project.ProjectDependency.getDependencyFilePath(ProjectDependency.java:130) ~[meghanada-0.7.5.jar:?]
... 22 more
Caused by: org.gradle.tooling.BuildException: Could not fetch model of type 'IdeaProject' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.3-bin.zip'.
at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51) ~[meghanada-0.7.5.jar:?]
at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29) ~[meghanada-0.7.5.jar:?]
at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41) ~[meghanada-0.7.5.jar:?]
at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46) ~[meghanada-0.7.5.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_111]
at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) ~[meghanada-0.7.5.jar:?]
at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:50) ~[meghanada-0.7.5.jar:?]
at org.gradle.tooling.internal.consumer.DefaultProjectConnection.getModel(DefaultProjectConnection.java:41) ~[meghanada-0.7.5.jar:?]
at meghanada.project.gradle.GradleProject.lambda$parseProject$0(GradleProject.java:87) ~[meghanada-0.7.5.jar:?]
at meghanada.config.Config.debugTimeItF(Config.java:121) ~[meghanada-0.7.5.jar:?]
at meghanada.project.gradle.GradleProject.parseProject(GradleProject.java:86) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.loadProject(Session.java:169) ~[meghanada-0.7.5.jar:?]
at meghanada.session.Session.findProject(Session.java:96) ~[meghanada-0.7.5.jar:?]
at meghanada.project.ProjectDependency.getDependencyFilePath(ProjectDependency.java:130) ~[meghanada-0.7.5.jar:?]
... 22 more
Caused by: org.gradle.internal.exceptions.LocationAwareException: Build file '/home/hinmanm/es/elasticsearch/benchmarks/build.gradle' line: 31
A problem occurred evaluating project ':benchmarks'.
at org.gradle.initialization.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:74) ~[?:?]
at org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:47) ~[?:?]
at org.gradle.initialization.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:30) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:122) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher.getBuildAnalysis(DefaultGradleLauncher.java:107) ~[?:?]
at org.gradle.launcher.exec.GradleBuildController.configure(GradleBuildController.java:79) ~[?:?]
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:52) ~[?:?]
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:43) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:40) ~[?:?]
at org.gradle.internal.Transformers$4.transform(Transformers.java:169) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) ~[?:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40) ~[?:?]
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:75) ~[?:?]
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) ~[?:?]
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41) ~[?:?]
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) ~[?:?]
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75) ~[?:?]
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49) ~[?:?]
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:44) ~[?:?]
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:29) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) ~[?:?]
at org.gradle.util.Swapper.swap(Swapper.java:38) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) ~[?:?]
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) ~[?:?]
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) ~[meghanada-0.7.5.jar:?]
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':benchmarks'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92) ~[?:?]
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:176) ~[?:?]
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77) ~[?:?]
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:181) ~[?:?]
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39) ~[?:?]
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26) ~[?:?]
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) ~[?:?]
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70) ~[?:?]
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$000(LifecycleProjectEvaluator.java:33) ~[?:?]
at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:53) ~[?:?]
at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:50) ~[?:?]
at org.gradle.internal.Transformers$4.transform(Transformers.java:169) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) ~[?:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61) ~[?:?]
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50) ~[?:?]
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:628) ~[?:?]
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:129) ~[?:?]
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35) ~[?:?]
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62) ~[?:?]
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher$1.execute(DefaultGradleLauncher.java:161) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher$1.execute(DefaultGradleLauncher.java:158) ~[?:?]
at org.gradle.internal.Transformers$4.transform(Transformers.java:169) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) ~[?:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:158) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119) ~[?:?]
at org.gradle.initialization.DefaultGradleLauncher.getBuildAnalysis(DefaultGradleLauncher.java:107) ~[?:?]
at org.gradle.launcher.exec.GradleBuildController.configure(GradleBuildController.java:79) ~[?:?]
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:52) ~[?:?]
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:43) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:40) ~[?:?]
at org.gradle.internal.Transformers$4.transform(Transformers.java:169) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) ~[?:?]
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56) ~[?:?]
at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40) ~[?:?]
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:75) ~[?:?]
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) ~[?:?]
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41) ~[?:?]
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) ~[?:?]
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75) ~[?:?]
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49) ~[?:?]
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:44) ~[?:?]
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:29) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) ~[?:?]
at org.gradle.util.Swapper.swap(Swapper.java:38) ~[?:?]
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72) ~[?:?]
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) ~[?:?]
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) ~[?:?]
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) ~[?:?]
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) ~[?:?]
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) ~[meghanada-0.7.5.jar:?]
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) ~[meghanada-0.7.5.jar:?]
Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/gradle/BuildPlugin$_configureRepositories_closure6
at org.elasticsearch.gradle.BuildPlugin.configureRepositories(BuildPlugin.groovy:304) ~[?:?]
at org.elasticsearch.gradle.BuildPlugin$configureRepositories$1.callStatic(Unknown Source) ~[?:?]
at org.elasticsearch.gradle.BuildPlugin.apply(BuildPlugin.groovy:77) ~[?:?]
at org.elasticsearch.gradle.BuildPlugin.apply(BuildPlugin.groovy) ~[?:?]
at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35) ~[?:?]
at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:43) ~[?:?]
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:139) ~[?:?]
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:112) ~[?:?]
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:113) ~[?:?]
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36) ~[?:?]
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80) ~[?:?]
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:136) ~[?:?]
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:44) ~[?:?]
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34) ~[?:?]
at org.gradle.api.Script$apply.callCurrent(Unknown Source) ~[?:?]
... etc
Is there a way to completely decouple the two so the two different gradle instances don't step on each other's toes? Is this because I'm using the gradle daemon?
Thanks for a great plugin! I use it on a daily basis.
However, there is a bug that makes one of the features unusable to me, namely optimize imports. If the Java source code has a comment before its package and import statement, it's removed when running meghanada-optimize-import
, e.g.:
/*
* This is some awesome source code.
* (c) John Gibberish
*/
package com.example;
import java.util.List;
I report this in meghanada-server
since I wager the problem is in meghanada-server/src/main/java/meghanada/analyze/Source.java#optimizeImports()
, meghanada-server/src/main/java/meghanada/session/Session.java#optimizeImports(path)
or thereabouts.
Meghanada version: 0.8.3
Emacs version: GNU Emacs 25.2.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-04-25
Here's an example where go to definition fails:
I expect that that when I goto declaration on the Scope
enum it will take me to it a few lines below. But it doesn't seem to find it.
For example, I want to set the language Java lint displays, so I can use javac -J-Duser.language=en
. I have put export JAVA_TOOL_OPTIONS='-Duser.language=en'
into my bashrc, but it doesn't work.
How can I make it? Thank you so much!
when I start meghanda server ,I got this error, and everything works fine except "extract local variables, auto import .
java.lang.IllegalArgumentException: ๆ ๆ็ๆบๅ่ก็: ${java.version}
at com.sun.tools.javac.main.OptionHelper$GrumpyHelper.error(OptionHelper.java:103) ~[?:?]
at com.sun.tools.javac.main.Option$11.process(Option.java:204) ~[?:?]
at com.sun.tools.javac.api.JavacTool.processOptions(JavacTool.java:217) ~[?:?]
at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:156) ~[?:?]
at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:107) ~[?:?]
at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:64) ~[?:?]
at meghanada.compiler.SimpleJavaCompiler.compileFiles(SimpleJavaCompiler.java:61) ~[meghanada-0.2.4.jar:?]
at meghanada.project.Project.compileJava(Project.java:207) ~[meghanada-0.2.4.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.lambda$on$0(CacheEventSubscriber.java:45) ~[meghanada-0.2.4.jar:?]
at meghanada.config.Config.timeItF(Config.java:86) [meghanada-0.2.4.jar:?]
at meghanada.session.subscribe.CacheEventSubscriber.on(CacheEventSubscriber.java:43) [meghanada-0.2.4.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:95) [meghanada-0.2.4.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:154) [meghanada-0.2.4.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:80) [meghanada-0.2.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Dear,
I am thinking about how to implement sort of smart completion, for example,
If we have below code
String a = "ABC";
int b = a.
Then in this scenario, we might have two kind of completion, described below:
I am not sure whether company is possible to support these two kind of completion?
And also, I saw that the parameter pass to the server from emacs is just a#, which just ignored the part before a. (which is b=, from which we could get return type), so the information is not enough to generate the smart completion candidate.
I am not so familiar with company mode, could you please help on decide whether it's possible to define two kinds of completion mode for company?
But I might be able to do something on the **meghanada--grab-symbol-cons ** part and also pass the variable information to backend server, also do something to filter out only candidates with correct return type.
Thanks :)
It seems like meghanada-server won't handle import statement starts with java.lang
when optimize imports. Although java.lang.*
package is automatically imported by Java compiler, but not include sub-packages, e.g. java.lang.annotation
. So optimize imports will remove any import statement starts with java.lang
incorrectly.
Hi,
Sometimes, the Meghanada server fails to start and throws the following exception:
Exception in thread "main" java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at meghanada.server.emacs.EmacsServer.(EmacsServer.java:56)
at meghanada.Main.createServer(Main.java:153)
at meghanada.Main.main(Main.java:126)
This happens for example when 2 java projects are opened in their own emacs session. On a server, it can even happen when there is only a single Java project opened.
Regards
14:46:07.867 [main] DEBUG meghanada.reflect.asm.CachedASMReflector - start createClassIndexes
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V
at meghanada.config.Config.(Config.java:61)
at meghanada.config.Config.load(Config.java:77)
at meghanada.reflect.asm.ASMReflector.(ASMReflector.java:63)
at meghanada.reflect.asm.ASMReflector.getInstance(ASMReflector.java:68)
at meghanada.reflect.asm.CachedASMReflector.lambda$createClassIndexes$1(CachedASMReflector.java:149)
at meghanada.utils.FunctionUtils.lambda$wrapIOConsumer$2(FunctionUtils.java:34)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1553)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:401)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583)
at meghanada.reflect.asm.CachedASMReflector.createClassIndexes(CachedASMReflector.java:133)
at meghanada.junit.TestRunner.(TestRunner.java:43)
at meghanada.junit.TestRunner.main(TestRunner.java:50)
Hello,
My spring boot project uses gradle for build and slf4j for logging, when I run meghanada-run-junit-test-case
command, it throws this
Exception in thread "main" java.lang.ClassCastException: org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerContext
My project has not log4j
dependency, I can run meghanada-run-task
to run the gradle test
task without any problem. The test can also be run under IntelliJ fine, so I guess it's meghanada introduced the log4j
package?
Tried to include compile group: 'org.slf4j', name: 'log4j-over-slf4j', version: '1.7.25'
package into my project but it doesn't solve the issue.
[BUG] When do Camel Case completion, static import members always shown on first
for example we have a variable named ownPackage, and when we input owP, the completion list is
isNull
nonNUll
ownPackage
isNull
and nonNull
is not suppose to appear here.
This is a known bug
So, I tried to open a project that is using dependencies that conflict with the meghanda server. An easy way to address this issues is to use package relocation within the server uberjar.
I used java-9-openjdk-amd64
, the OpenJDK 8
is ok.
java.lang.IllegalAccessError: class meghanada.analyze.TreeAnalyzer (in unnamed module @0x20b12f8a)
cannot access class com.sun.tools.javac.tree.JCTree$JCCompilationUnit (in module jdk.compiler)
because module jdk.compiler does not export com.sun.tools.javac.tree to unnamed module @0x20b12f8a
at meghanada.analyze.TreeAnalyzer.analyzeCompilationUnitTree(TreeAnalyzer.java:443) ~[meghanada-1.0.0.jar:?]
at meghanada.analyze.TreeAnalyzer.analyzeUnit(TreeAnalyzer.java:511) ~[meghanada-1.0.0.jar:?]
at meghanada.analyze.TreeAnalyzer.tryAnalyzeUnit(TreeAnalyzer.java:491) ~[meghanada-1.0.0.jar:?]
at meghanada.analyze.TreeAnalyzer.lambda$analyze$5(TreeAnalyzer.java:481) ~[meghanada-1.0.0.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:?]
...
The fqcn from the variable is null here.
// get data from reflector
String fqcn = variable.fqcn;
if (!fqcn.contains(".")) {
fqcn = ownPackage + '.' + fqcn;
}
[2017-05-16 09:56:56,150][ERROR][JavaCompletion: 425] completionAt - Catching
java.lang.NullPointerException: null
at meghanada.completion.JavaCompletion.completionFieldsOrMethods(JavaCompletion.java:335) ~[meghanada-0.7.5.jar:?]
at meghanada.completion.JavaCompletion.specialCompletion(JavaCompletion.java:523) ~[meghanada-0.7.5.jar:?]
at meghanada.completion.JavaCompletion.completionAt(JavaCompletion.java:417) [meghanada-0.7.5.jar:?]
at meghanada.session.Session.completionAt(Session.java:355) [meghanada-0.7.5.jar:?]
at meghanada.server.CommandHandler.autocomplete(CommandHandler.java:95) [meghanada-0.7.5.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$dispatch$5(EmacsServer.java:172) [meghanada-0.7.5.jar:?]
at meghanada.server.emacs.EmacsServer$$Lambda$221/1808075716.apply(Unknown Source) [meghanada-0.7.5.jar:?]
at com.leacox.motif.matching.Matching1.lambda$get$15(Matching1.java:45) [meghanada-0.7.5.jar:?]
at com.leacox.motif.matching.Matching1$$Lambda$219/86750035.apply(Unknown Source) [meghanada-0.7.5.jar:?]
at com.leacox.motif.matching.Pattern$1.apply(Pattern.java:40) [meghanada-0.7.5.jar:?]
at com.leacox.motif.matching.FluentMatchingR.getMatch(FluentMatchingR.java:118) [meghanada-0.7.5.jar:?]
at meghanada.server.emacs.EmacsServer.dispatch(EmacsServer.java:280) [meghanada-0.7.5.jar:?]
at meghanada.server.emacs.EmacsServer.lambda$acceptConnection$2(EmacsServer.java:128) [meghanada-0.7.5.jar:?]
at meghanada.server.emacs.EmacsServer$$Lambda$39/812553708.run(Unknown Source) [meghanada-0.7.5.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_51]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_51]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_51]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.