mopemope/meghanada-server

Exception when indexing the jars for full text search

Closed this issue · 2 comments

xqliu commented

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.

I think it is a problem of lucene...
Could you please tell me which repository can reproduce the problem?

xqliu commented