In the past few weeks, I've seen a lot of the exception below. I don't think it impacts any functionality but the blinking ! is kind of annoying :)
java.lang.Throwable: Incorrect CachedValue use: same CV with different captured context, this can cause unstable results and invalid PSI access. Field calculator in class cursive.psi$cached_value$reify__562 has non-equivalent values: cursive.resolve.light$resolve_states$fn__922@72ecc744 and cursive.resolve.light$resolve_states$fn__922@57884805 Either make equals() hold for these values, or avoid this dependency, e.g. by extracting CV provider into a static method. at com.intellij.openapi.diagnostic.Logger.error(Logger.java:145) at com.intellij.util.CachedValueStabilityChecker.complain(CachedValueStabilityChecker.java:158) at com.intellij.util.CachedValueStabilityChecker.checkFieldEquivalence(CachedValueStabilityChecker.java:129) at com.intellij.util.CachedValueStabilityChecker.checkProvidersEquivalent(CachedValueStabilityChecker.java:86) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:60) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.resolve.light$resolve_states.invoke(light.clj:242) at cursive.index$process_file.invoke(index.clj:43) at cursive.index$index_with.invoke(index.clj:82) at cursive.index$index_with.invoke(index.clj:73) at cursive.index$file_namespaces.invoke(index.clj:285) at clojure.lang.Var.invoke(Var.java:379) at cursive.api.DelayedFn.invoke(DelayedFn.java:31) at cursive.psi.impl.ClojureFileImpl$NamespacesProvider.compute(ClojureFileImpl.java:156) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi.impl.ClojureFileImpl.getAllNamespaces(ClojureFileImpl.java:170) at cursive.psi.ClojurePsiElements.getNs(ClojurePsiElements.java:54) at cursive.psi.ClojurePsiElementImpl.getNs(ClojurePsiElementImpl.java:33) at cursive.psi.ClojurePsiElementImpl.getInNs(ClojurePsiElementImpl.java:49) at cursive.psi$containing_ns.invoke(psi.clj:133) at cursive.symbol$var_meta.invoke(symbol.clj:41) at cursive.resolve.symbol$resolve_symbol.invoke(symbol.clj:95) at clojure.lang.Var.invoke(Var.java:383) at cursive.api.DelayedFn.invoke(DelayedFn.java:36) at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:70) at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:66) at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:150) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:180) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:172) at cursive.psi.impl.symbols.SymbolReference.multiResolve(SymbolReference.java:60) at cursive.resolve$resolve.invoke(resolve.clj:54) at cursive.resolve$resolve_keys.invoke(resolve.clj:192) at cursive.inspections$inspect_context_QMARK_$fn__6719.invoke(inspections.clj:37) at cursive.psi$cached_value$reify__562.compute(psi.clj:551) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.inspections$inspect_context_QMARK_.invoke(inspections.clj:30) at cursive.inspections$inspect_context_QMARK_$fn__6719.invoke(inspections.clj:41) at cursive.psi$cached_value$reify__562.compute(psi.clj:551) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.inspections$inspect_context_QMARK_.invoke(inspections.clj:30) at cursive.annotator$annotate_arity.invoke(annotator.clj:94) at cursive.annotator$annotate_symbol.invoke(annotator.clj:350) at cursive.annotator$fn__8825.invoke(annotator.clj:395) at cursive.annotator$fn__8810$G__8805__8817.invoke(annotator.clj:386) at cursive.annotator.ClojureAnnotator.annotate(annotator.clj:410) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:120) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:87) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:351) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$5(GeneralHighlightingPass.java:284) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:311) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:314) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:71) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:314) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:281) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:225) at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:430) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1166) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:423) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:422) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:398) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:396) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:174) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Here's my environment info:
IntelliJ IDEA 2019.1 EAP (Community Edition) Build #IC-191.5532.39, built on February 14, 2019 JRE: 1.8.0_202-release-1483-b24 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.19.16-02893-g2cf2c17c8a43
In the past few weeks, I've seen a lot of the exception below. I don't think it impacts any functionality but the blinking ! is kind of annoying :)
java.lang.Throwable: Incorrect CachedValue use: same CV with different captured context, this can cause unstable results and invalid PSI access. Field calculator in class cursive.psi$cached_value$reify__562 has non-equivalent values: cursive.resolve.light$resolve_states$fn__922@72ecc744 and cursive.resolve.light$resolve_states$fn__922@57884805 Either makeequals()hold for these values, or avoid this dependency, e.g. by extracting CV provider into a static method. at com.intellij.openapi.diagnostic.Logger.error(Logger.java:145) at com.intellij.util.CachedValueStabilityChecker.complain(CachedValueStabilityChecker.java:158) at com.intellij.util.CachedValueStabilityChecker.checkFieldEquivalence(CachedValueStabilityChecker.java:129) at com.intellij.util.CachedValueStabilityChecker.checkProvidersEquivalent(CachedValueStabilityChecker.java:86) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:60) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.resolve.light$resolve_states.invoke(light.clj:242) at cursive.index$process_file.invoke(index.clj:43) at cursive.index$index_with.invoke(index.clj:82) at cursive.index$index_with.invoke(index.clj:73) at cursive.index$file_namespaces.invoke(index.clj:285) at clojure.lang.Var.invoke(Var.java:379) at cursive.api.DelayedFn.invoke(DelayedFn.java:31) at cursive.psi.impl.ClojureFileImpl$NamespacesProvider.compute(ClojureFileImpl.java:156) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi.impl.ClojureFileImpl.getAllNamespaces(ClojureFileImpl.java:170) at cursive.psi.ClojurePsiElements.getNs(ClojurePsiElements.java:54) at cursive.psi.ClojurePsiElementImpl.getNs(ClojurePsiElementImpl.java:33) at cursive.psi.ClojurePsiElementImpl.getInNs(ClojurePsiElementImpl.java:49) at cursive.psi$containing_ns.invoke(psi.clj:133) at cursive.symbol$var_meta.invoke(symbol.clj:41) at cursive.resolve.symbol$resolve_symbol.invoke(symbol.clj:95) at clojure.lang.Var.invoke(Var.java:383) at cursive.api.DelayedFn.invoke(DelayedFn.java:36) at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:70) at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:66) at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:150) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:180) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:172) at cursive.psi.impl.symbols.SymbolReference.multiResolve(SymbolReference.java:60) at cursive.resolve$resolve.invoke(resolve.clj:54) at cursive.resolve$resolve_keys.invoke(resolve.clj:192) at cursive.inspections$inspect_context_QMARK_$fn__6719.invoke(inspections.clj:37) at cursive.psi$cached_value$reify__562.compute(psi.clj:551) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.inspections$inspect_context_QMARK_.invoke(inspections.clj:30) at cursive.inspections$inspect_context_QMARK_$fn__6719.invoke(inspections.clj:41) at cursive.psi$cached_value$reify__562.compute(psi.clj:551) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:236) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:93) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38) at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45) at cursive.psi$cached_value.doInvoke(psi.clj:554) at clojure.lang.RestFn.invoke(RestFn.java:445) at cursive.inspections$inspect_context_QMARK_.invoke(inspections.clj:30) at cursive.annotator$annotate_arity.invoke(annotator.clj:94) at cursive.annotator$annotate_symbol.invoke(annotator.clj:350) at cursive.annotator$fn__8825.invoke(annotator.clj:395) at cursive.annotator$fn__8810$G__8805__8817.invoke(annotator.clj:386) at cursive.annotator.ClojureAnnotator.annotate(annotator.clj:410) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:120) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:87) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:351) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$5(GeneralHighlightingPass.java:284) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:311) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:314) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:71) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:314) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:281) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:225) at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:430) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1166) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:423) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:422) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:398) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:396) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:174) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)Here's my environment info:
IntelliJ IDEA 2019.1 EAP (Community Edition) Build #IC-191.5532.39, built on February 14, 2019 JRE: 1.8.0_202-release-1483-b24 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.19.16-02893-g2cf2c17c8a43