cursive-ide / cursive

Cursive: The IDE for beautiful Clojure code
588 stars 7 forks source link

IntelliJ15 Indexes Indefinitely with Cursive Enabled #1160

Open chetmancini opened 9 years ago

chetmancini commented 9 years ago

On launch of IntelliJ 15 or 15 EAP I get an infinite progress bar "Scanning files to index" / "Indexing..."

I assumed it was a bug with IntellJ so I contacted JetBrains support and they had me investigate the idea.log file. It contains the following (which repeats over and over). Disabling Cursive results in IntelliJ15 working normally. IntelliJ14 with Cursive works fine, so this issue is just with 15 I believe.

I'm using version 0.1.70 from the https://cursiveclojure.com/plugins-15.xml repository.


2015-11-16 12:21:34,650 [ 154004]   INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 4191ms; general responsiveness: ok; EDT responsiveness: ok 
2015-11-16 12:21:34,650 [ 154004]   INFO - indexing.UnindexedFilesUpdater - Unindexed files update started: 2439 files to update 
2015-11-16 12:21:35,931 [ 155285]   INFO - j.util.indexing.MapReduceIndex - Exception during updateWithMap:com.intellij.util.indexing.StorageException: java.lang.NullPointerException: null keys not supported 
2015-11-16 12:21:35,973 [ 155327]   INFO - il.indexing.FileBasedIndexImpl - Rebuild requested for index ClojureJavascript 
com.intellij.util.indexing.StorageException: java.lang.NullPointerException: null keys not supported
    at com.intellij.util.indexing.MapReduceIndex.updateWithMap(MapReduceIndex.java:756)
    at com.intellij.util.indexing.MapReduceIndex$8$1.run(MapReduceIndex.java:531)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:170)
    at com.intellij.util.indexing.MapReduceIndex$8.compute(MapReduceIndex.java:527)
    at com.intellij.util.indexing.MapReduceIndex$8.compute(MapReduceIndex.java:523)
    at com.intellij.util.indexing.FileBasedIndexImpl.updateWithBufferingEnabled(FileBasedIndexImpl.java:1799)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1775)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1747)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1671)
    at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1616)
    at com.intellij.util.indexing.UnindexedFilesUpdater$2.consume(UnindexedFilesUpdater.java:109)
    at com.intellij.util.indexing.UnindexedFilesUpdater$2.consume(UnindexedFilesUpdater.java:105)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$1.run(CacheUpdateRunner.java:225)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$2.run(CacheUpdateRunner.java:245)
    at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:142)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:127)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:239)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:365)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:55)
Caused by: java.lang.NullPointerException: null keys not supported
    at gnu.trove.THashMap.put(THashMap.java:161)
    at com.intellij.util.indexing.ValueContainerImpl.a(ValueContainerImpl.java:71)
    at com.intellij.util.indexing.ValueContainerImpl.addValue(ValueContainerImpl.java:62)
    at com.intellij.util.indexing.ChangeTrackingValueContainer.addValue(ChangeTrackingValueContainer.java:58)
    at com.intellij.util.indexing.MapIndexStorage.addValue(MapIndexStorage.java:401)
    at com.intellij.util.indexing.MemoryIndexStorage.addValue(MemoryIndexStorage.java:149)
    at com.intellij.util.indexing.MapReduceIndex$10.process(MapReduceIndex.java:738)
    at com.intellij.util.indexing.MapDiffUpdateData.iterateAddedKeyAndValues(MapDiffUpdateData.java:65)
    at com.intellij.util.indexing.MapReduceIndex$SimpleUpdateData.iterateAddedKeys(MapReduceIndex.java:704)
    at com.intellij.util.indexing.MapReduceIndex.updateWithMap(MapReduceIndex.java:749)
    ... 31 more
2015-11-16 12:21:36,019 [ 155373]   INFO - .diagnostic.PerformanceWatcher - Unindexed files update took 1369ms; general responsiveness: ok; EDT responsiveness: ok 
2015-11-16 12:21:36,032 [ 155386]   INFO - il.indexing.FileBasedIndexImpl - scheduleIndexRebuild, reason: checkRebuild 
2015-11-16 12:21:36,292 [ 155646]   INFO - .diagnostic.PerformanceWatcher - Pushing properties took 260ms; general responsiveness: ok; EDT responsiveness: ok 
chetmancini commented 9 years ago

Possible dupe of https://github.com/cursiveclojure/cursive/issues/1154? Stacktrace looked a little different and versions different. Happy to close this and combine with the other if you'd prefer though.

cursive-ide commented 8 years ago

Yeah, it's possible. Unfortunately your stacktrace doesn't actually have anything Cursive-related in it, or give any clues as to where the problem might be. Is the problematic project open source or proprietary? I'll try to reproduce and fix #1154 and see if that helps your case.

chetmancini commented 8 years ago

@cursiveclojure awesome, thanks. If you have suggestions on how to get more diagnostic information to isolate I'm happy to help in any way. We have a combination of OS and proprietary, so I'll test a few projects and see if there are different behaviors.

cursive-ide commented 8 years ago

@chetmancini Thanks, that would be great. In particular, if you can reproduce it in a project I can look at that would be very helpful. Right now I can't reproduce #1154 so I'm a little short on ideas for how to proceed.

cursive-ide commented 8 years ago

@chetmancini Actually, there's something else you could try - if you can reproduce this reliably, could you go to Help->Enable Debug Log Categories and add "#com.intellij.openapi.project.DumbServiceImpl" there, then reproduce the problem and mail your log to cursive@cursiveclojure.com?