intellij-csv-validator icon indicating copy to clipboard operation
intellij-csv-validator copied to clipboard

Exception in plugin CSV (1.18.2)

Open drevicko opened this issue 2 years ago • 1 comments

This was shortly after loading a project with an open csv file:

java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
  2459 != 2197
  which is length of [com.intellij.openapi.paths.WebReference(CSV File:(563,612)), com.intellij.openapi.paths.WebReference(CSV File:(1525,1574)), com.intellij.openapi.paths.WebReference(CSV File:(2378,2427)), com.intellij.openapi.paths.WebReference(CSV File:(3442,3490)), com.intellij.openapi.paths.WebReference(CSV File:(4321,4370)), com.intellij.openapi.paths.WebReference(CSV File:(5304,5353)), com.intellij.openapi.paths.WebReference(CSV File:(6153,6202)), com.intellij.openapi.paths.WebReference(CSV File:(6999,7048)), com.intellij.openapi.paths.WebReference(CSV File:(7803,7851)), com.intellij.openapi.paths.WebReference(CSV File:(8711,8760)), com.intellij.openapi.paths.WebReference(CSV File:(9451,9500)), com.intellij.openapi.paths.WebReference(CSV File:(10394,10443)), com.intellij.openapi.paths.WebReference(CSV File:(10957,11006)), com.intellij.openapi.paths.WebReference(CSV File:(11866,11915)), com.intellij.openapi.paths.WebReference(CSV File:(12683,12732)), com.intellij.openapi.paths.WebReference(CSV File:(13502,13551)), com.intellij.openapi.paths.WebReference(CSV File:(14405,14454)), com.intellij.openapi.paths.WebReference(CSV File:(15228,15277)), com.intellij.openapi.paths.WebReference(CSV File:(16214,16263)), com.intellij.openapi.paths.WebReference(CSV File:(17151,17200)), com.intellij.openapi.paths.WebReference(CSV File:(18017,18066)), com.intellij.openapi.paths.WebReference(CSV File:(18884,18933)), com.intellij.openapi.paths.WebReference(CSV File:(19473,19522)), com.intellij.openapi.paths.WebReference(CSV File:(20074,20123)), com.intellij.openapi.paths.WebReference(CSV File:(20602,20651)), com.intellij.openapi.paths.WebReference(CSV File:(21176,21225)), com.intellij.openapi.paths.WebReference(CSV File:(21772,21821)), com.intellij.openapi.paths.WebReference(CSV File:(22752,22801)), com.intellij.openapi.paths.WebReference(CSV File:(23747,23796)), com.intellij.openapi.paths.WebReference(CSV File:(24681,24730)), com.intellij.openapi.paths.WebReference(CSV File:(25652,25701)), com.intellij.openapi.paths.WebReference(CSV File:(26562,26611)), com.intellij.openapi.paths.WebReference(CSV File:(27552,27601)), com.intellij.openapi.paths.WebReference(CSV File:(28484,28533)), com.intellij.openapi.paths.WebReference(CSV File:(29340,29389)), com.intellij.openapi.paths.WebReference(CSV File:(30293,30342)), com.intellij.openapi.paths.WebReference(CSV File:(31261,31310)), com.intellij.openapi.paths.WebReference(CSV File:(32176,32225)), com.intellij.openapi.paths.WebReference(CSV File:(33088,33137)), com.intellij.openapi.paths.WebReference(CSV File:(34090,34139)), com.intellij.openapi.paths.WebReference(CSV File:(35026,35075)), com.intellij.openapi.paths.WebReference(CSV File:(35911,35960)), com.intellij.openapi.paths.WebReference(CSV File:(36800,36849)), com.intellij.openapi.paths.WebReference(CSV File:(37689,37738)), com.intellij.openapi.paths.WebReference(CSV File:(38576,38625)), com.intellij.openapi.paths.WebReference(CSV File:(39499,39548)), com.intellij.openapi.paths.WebReference(CSV File:(40426,40463)), com.intellij.openapi.paths.WebReference(CSV File:(40480,40529)), com.intellij.openapi.paths.WebReference(CSV File:(41450,41487)), com.intellij.openapi.paths.WebReference(CSV File:(41504,41553)), com.intellij.openapi.paths.WebReference(CSV File:(42398,42435)), com.intellij.openapi.paths.WebReference(CSV File:(42452,42501)), com.intellij.openapi.paths.WebReference(CSV File:(43443,43480)), com.intellij.openapi.paths.WebReference(CSV File:(43497,43546)), com.intellij.openapi.paths.WebReference(CSV File:(44471,44508)), com.intellij.openapi.paths.WebReference(CSV File:(44525,44574)), com.intellij.openapi.paths.WebReference(CSV File:(45528,45565)), com.intellij.openapi.paths.WebReference(CSV File:(45582,45631)), com.intellij.openapi.paths.WebReference(CSV File:(46627,46664)), com.intellij.openapi.paths.WebReference(CSV File:(46681,46730)), com.intellij.openapi.paths.WebReference(CSV File:(47676,47713)), com.intellij.openapi.paths.WebReference(CSV File:(47730,47779)), com.intellij.openapi.paths.WebReference(CSV File:(48660,48697)), com.intellij.openapi.paths.WebReference(CSV File:(48714,48763)), com.intellij.openapi.paths.WebReference(CSV File:(49665,49702)), com.intellij.openapi.paths.WebReference(CSV File:(49719,49768)), com.intellij.openapi.paths.WebReference(CSV File:(50646,50687)), com.intellij.openapi.paths.WebReference(CSV File:(50701,50750)), com.intellij.openapi.paths.WebReference(CSV File:(51651,51692)), com.intellij.openapi.paths.WebReference(CSV File:(51706,51755)), com.intellij.openapi.paths.WebReference(CSV File:(52604,52653)), com.intellij.openapi.paths.WebReference(CSV File:(53493,53542)), com.intellij.openapi.paths.WebReference(CSV File:(54372,54421)), com.intellij.openapi.paths.WebReference(CSV File:(55261,55310)), com.intellij.openapi.paths.WebReference(CSV File:(56148,56197)), com.intellij.openapi.paths.WebReference(CSV File:(57102,57151)), com.intellij.openapi.paths.WebReference(CSV File:(58050,58099)), com.intellij.openapi.paths.WebReference(CSV File:(58809,58858)), com.intellij.openapi.paths.WebReference(CSV File:(59223,59272)), com.intellij.openapi.paths.WebReference(CSV File:(60191,60240)), com.intellij.openapi.paths.WebReference(CSV File:(61088,61137)), com.intellij.openapi.paths.WebReference(CSV File:(61979,62028)), com.intellij.openapi.paths.WebReference(CSV File:(62898,62947)), com.intellij.openapi.paths.WebReference(CSV File:(63839,63888)), com.intellij.openapi.paths.WebReference(CSV File:(64767,64816)), com.intellij.openapi.paths.WebReference(CSV File:(65737,65786)), com.intellij.openapi.paths.WebReference(CSV File:(66733,66782)), com.intellij.openapi.paths.WebReference(CSV File:(67667,67716)), com.intellij.openapi.paths.WebReference(CSV File:(68655,68692)), com.intellij.openapi.paths.WebReference(CSV File:(68709,68758)), com.intellij.openapi.paths.WebReference(CSV File:(69679,69716)), com.intellij.openapi.paths.WebReference(CSV File:(69733,69782)), com.intellij.openapi.paths.WebReference(CSV File:(70627,70664)), com.intellij.openapi.paths.WebReference(CSV File:(70681,70730)), com.intellij.openapi.paths.WebReference(CSV File:(71672,71709)), com.intellij.openapi.paths.WebReference(CSV File:(71726,71775)), com.intellij.openapi.paths.WebReference(CSV File:(72700,72737)), com.intellij.openapi.paths.WebReference(CSV File:(72754,72803)), com.intellij.openapi.paths.WebReference(CSV File:(73757,73794)), com.intellij.openapi.paths.WebReference(CSV File:(73811,73860)), com.intellij.openapi.paths.WebReference(CSV File:(74856,74893)), com.intellij.openapi.paths.WebReference(CSV File:(74910,74959)), com.intellij.openapi.paths.WebReference(CSV File:(75905,75942)), com.intellij.openapi.paths.WebReference(CSV File:(75959,76008)), com.intellij.openapi.paths.WebReference(CSV File:(76889,76926)), com.intellij.openapi.paths.WebReference(CSV File:(76943,76992)), com.intellij.openapi.paths.WebReference(CSV File:(77894,77931)), com.intellij.openapi.paths.WebReference(CSV File:(77948,77997)), com.intellij.openapi.paths.WebReference(CSV File:(78875,78916)), com.intellij.openapi.paths.WebReference(CSV File:(78930,78979)), com.intellij.openapi.paths.WebReference(CSV File:(79880,79921)), com.intellij.openapi.paths.WebReference(CSV File:(79935,79984)), com.intellij.openapi.paths.WebReference(CSV File:(80833,80882)), com.intellij.openapi.paths.WebReference(CSV File:(81722,81771)), com.intellij.openapi.paths.WebReference(CSV File:(82601,82650)), com.intellij.openapi.paths.WebReference(CSV File:(83490,83539)), com.intellij.openapi.paths.WebReference(CSV File:(84377,84426)), com.intellij.openapi.paths.WebReference(CSV File:(85331,85380)), com.intellij.openapi.paths.WebReference(CSV File:(86279,86328)), com.intellij.openapi.paths.WebReference(CSV File:(87038,87087)), com.intellij.openapi.paths.WebReference(CSV File:(87452,87501)), com.intellij.openapi.paths.WebReference(CSV File:(88420,88469)), com.intellij.openapi.paths.WebReference(CSV File:(89317,89366)), com.intellij.openapi.paths.WebReference(CSV File:(90208,90257)), com.intellij.openapi.paths.WebReference(CSV File:(91127,91176)), com.intellij.openapi.paths.WebReference(CSV File:(92068,92117)), com.intellij.openapi.paths.WebReference(CSV File:(92996,93045)), com.intellij.openapi.paths.WebReference(CSV File:(93966,94015)), com.intellij.openapi.paths.WebReference(CSV File:(94962,95011)), com.intellij.openapi.paths.WebReference(CSV File:(95896,95945)), com.intellij.openapi.paths.WebReference(CSV File:(96876,96925)), com.intellij.openapi.paths.WebReference(CSV File:(97794,97843)), com.intellij.openapi.paths.WebReference(CSV File:(98717,98766)), com.intellij.openapi.paths.WebReference(CSV File:(99566,99615)), com.intellij.openapi.paths.WebReference(CSV File:(100370,100419)), com.intellij.openapi.paths.WebReference(CSV File:(100897,100946)), com.intellij.openapi.paths.WebReference(CSV File:(101498,101547)), com.intellij.openapi.paths.WebReference(CSV File:(102087,102136)), com.intellij.openapi.paths.WebReference(CSV File:(102685,102734)), com.intellij.openapi.paths.WebReference(CSV File:(103244,103293)), com.intellij.openapi.paths.WebReference(CSV File:(104147,104196)), com.intellij.openapi.paths.WebReference(CSV File:(104970,105019)), com.intellij.openapi.paths.WebReference(CSV File:(105956,106005)), com.intellij.openapi.paths.WebReference(CSV File:(106893,106942)), com.intellij.openapi.paths.WebReference(CSV File:(107759,107808)), com.intellij.openapi.paths.WebReference(CSV File:(108602,108651)), com.intellij.openapi.paths.WebReference(CSV File:(109481,109530)), com.intellij.openapi.paths.WebReference(CSV File:(110356,110405)), com.intellij.openapi.paths.WebReference(CSV File:(111299,111348)), com.intellij.openapi.paths.WebReference(CSV File:(111862,111911)), com.intellij.openapi.paths.WebReference(CSV File:(112611,112639)), com.intellij.openapi.paths.WebReference(CSV File:(112701,112734)), com.intellij.openapi.paths.WebReference(CSV File:(112893,112922)), com.intellij.ope ...


Recomputation gives com.intellij.util.CachedValueBase$Data@655f49d4 which is different from both values
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:182)
	at com.intellij.util.IdempotenceChecker.reportFailure(IdempotenceChecker.java:89)
	at com.intellij.util.IdempotenceChecker.checkEquivalence(IdempotenceChecker.java:76)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237)
	at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28)
	at com.intellij.psi.impl.source.resolve.reference.ArbitraryPlaceUrlReferenceProvider.getReferencesByElement(ArbitraryPlaceUrlReferenceProvider.java:58)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.getReferences(ReferenceProvidersRegistryImpl.java:199)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.mapNotEmptyReferencesFromProviders(ReferenceProvidersRegistryImpl.java:162)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:141)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.lambda$getReferencesFromProviders$0(ReferenceProvidersRegistry.java:39)
	at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:158)
	at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:39)
	at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:227)
	at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:42)
	at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:227)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228)
	at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28)
	at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72)
	at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:155)
	at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:121)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:38)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:31)
	at net.seesharpsoft.intellij.plugins.csv.psi.CsvFile.getReferences(CsvFile.java:53)
	at com.intellij.psi.impl.SharedPsiElementImplUtil.addReferences(SharedPsiElementImplUtil.java:59)
	at com.intellij.psi.impl.SharedPsiElementImplUtil.findReferenceAt(SharedPsiElementImplUtil.java:33)
	at com.intellij.psi.impl.SharedPsiElementImplUtil.findReferenceAt(SharedPsiElementImplUtil.java:51)
	at com.intellij.psi.impl.PsiElementBase.findReferenceAt(PsiElementBase.java:86)
	at com.intellij.psi.AbstractFileViewProvider.findReferenceAt(AbstractFileViewProvider.java:238)
	at com.intellij.psi.SingleRootFileViewProvider.findReferenceAt(SingleRootFileViewProvider.java:223)
	at com.intellij.psi.impl.source.PsiFileImpl.findReferenceAt(PsiFileImpl.java:528)
	at com.intellij.codeInsight.TargetElementUtilBase.findReference(TargetElementUtilBase.java:189)
	at com.intellij.codeInsight.TargetElementUtilBase.doGetReferenceOrReferencedElement(TargetElementUtilBase.java:160)
	at com.intellij.codeInsight.TargetElementUtilBase.getReferenceOrReferencedElement(TargetElementUtilBase.java:204)
	at com.intellij.codeInsight.TargetElementUtilBase.getReferencedElement(TargetElementUtilBase.java:248)
	at com.intellij.codeInsight.TargetElementUtilBase.doFindTargetElement(TargetElementUtilBase.java:227)
	at com.intellij.codeInsight.TargetElementUtilBase.findTargetElement(TargetElementUtilBase.java:292)
	at com.intellij.codeInsight.TargetElementUtil.findTargetElement(TargetElementUtil.java:147)
	at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.getPsiElementIn(TextEditorPsiDataProvider.java:226)
	at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.getSlowData(TextEditorPsiDataProvider.java:139)
	at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.lambda$getData$0(TextEditorPsiDataProvider.java:93)
	at com.intellij.ide.impl.DataManagerImpl.getSlowData(DataManagerImpl.java:137)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$2(DataManagerImpl.java:107)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(DataManagerImpl.java:112)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:73)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:52)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataFromProvider$1(DataManagerImpl.java:73)
	at com.intellij.openapi.actionSystem.DataKey.getData(DataKey.java:68)
	at com.intellij.ide.impl.dataRules.NavigatableRule.getData(NavigatableRule.java:39)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(DataManagerImpl.java:116)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:73)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:52)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataFromProvider$1(DataManagerImpl.java:73)
	at com.intellij.openapi.actionSystem.DataKey.getData(DataKey.java:68)
	at com.intellij.ide.impl.dataRules.NavigatableArrayRule.getData(NavigatableArrayRule.java:12)
	at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(DataManagerImpl.java:116)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:73)
	at com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(PreCachedDataContext.java:126)
	at com.intellij.openapi.actionSystem.DataContext.getData(DataContext.java:42)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached(ActionUpdater.java:355)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ActionUpdater.java:279)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(ActionUpdater.java:305)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1078)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ActionUpdater.java:305)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:161)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ActionUpdater.java:301)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:270)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ActionUpdater.java:300)
	at com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId.kt:135)
	at com.intellij.codeWithMe.ClientId.withClientId(ClientId.kt)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ActionUpdater.java:298)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:829)

drevicko avatar Mar 14 '22 19:03 drevicko

@drevicko Thanks for reporting! Can you provide the CSV in question?

SeeSharpSoft avatar Jul 24 '22 14:07 SeeSharpSoft