java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
See original GitHub issueShort description
Provide a short description of the issue here. Do not include stacktraces in this sectrion Idea reports an exception right after i open any file containing lombok annotations.
Expected behavior
Is there a specific expected behavior?
Version information
IntelliJ IDEA 2019.2.2 (Ultimate Edition) Build #IU-192.6603.28, built on September 6, 2019 Runtime version: 11.0.3+12-b304.56 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.15 GC: ParNew, ConcurrentMarkSweep Memory: 1088M Cores: 12 Registry: ide.mac.alt.mnemonic.without.ctrl=false Non-Bundled Plugins: Lombook Plugin, claims.bold.intellij.avro, com.alexanderpa.flyway.migration.creator, Jetbrains TeamCity Plugin, mobi.hsz.idea.gitignore, org.asciidoctor.intellij.asciidoc, org.jetbrains.kotlin, org.jetbrains.debugger.streams.kotlin, com.dmarcotte.handlebars, com.jetbrains.lang.ejs, intellij.prettierJS, org.intellij.scala, org.jetbrains.plugins.vue, Pythonid, org.jetbrains.spek.spek-idea-plugin, org.zalando.intellij.swagger
lombok 0.26.2
Steps to reproduce
What steps do we need to take to reproduce this issue?
this happens all the time now when i open a file with lobok annotations
Sample project
Please provide a sample project that exhibits the problem.
You should also include .idea
folder so we can inspect the settings.
- Sample project provided
- I am able to reproduce this error on the sample project by following the steps described above
Additional information
Is there any additional information you can provide to help us understanding and solving the issue?
Stacktrace
If you are experiencing an issue and IntelliJ throws an error please provide the stacktrace.
java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
LombokLightMethodBuilder: getUserCountry != LombokLightMethodBuilder: getPreferredTradeCurrency
which is 6th element of [LombokLightMethodBuilder: getUseAnimationsProperty, LombokLightMethodBuilder: getCssThemeProperty, LombokLightMethodBuilder: getUseCustomWithdrawalTxFeeProperty, LombokLightMethodBuilder: getWithdrawalTxFeeInBytesProperty, LombokLightMethodBuilder: getUseStandbyModeProperty, LombokLightMethodBuilder: toProtoMessage, LombokLightMethodBuilder: getUserCountry, LombokLightMethodBuilder: getBlockChainExplorerMainNet, LombokLightMethodBuilder: getUserLanguage, LombokLightMethodBuilder: getFiatCurrencies, LombokLightMethodBuilder: isUseTorForBitcoinJ, LombokLightMethodBuilder: getSellScreenCurrencyCode, LombokLightMethodBuilder: getTorTransportOrdinal, LombokLightMethodBuilder: getTradeStatisticsTickUnitIndex, LombokLightMethodBuilder: getCryptoCurrencies, LombokLightMethodBuilder: getCssTheme, LombokLightMethodBuilder: isUseMarketNotifications, LombokLightMethodBuilder: getTakeOfferSelectedPaymentAccountId, LombokLightMethodBuilder: getIgnoreDustThreshold, LombokLightMethodBuilder: getOfferBookChartScreenCurrencyCode, LombokLightMethodBuilder: getBitcoinNodes, LombokLightMethodBuilder: getCustomBridges, LombokLightMethodBuilder: getTradeChartsScreenCurrencyCode, LombokLightMethodBuilder: getBlockChainExplorerTestNet, LombokLightMethodBuilder: isPayFeeInBtc, LombokLightMethodBuilder: isUseSoundForMobileNotifications, LombokLightMethodBuilder: getBuyScreenCurrencyCode, LombokLightMethodBuilder: isUseStandbyMode, LombokLightMethodBuilder: getBitcoinNodesOptionOrdinal, LombokLightMethodBuilder: isUsePriceNotifications, LombokLightMethodBuilder: setBuyerSecurityDepositAsLong, LombokLightMethodBuilder: isShowOwnOffersInOfferBook, LombokLightMethodBuilder: getPhoneKeyAndToken, LombokLightMethodBuilder: isUsePercentageBasedPrice, LombokLightMethodBuilder: getBuyerSecurityDepositAsLong, LombokLightMethodBuilder: isUseCustomWithdrawalTxFee, LombokLightMethodBuilder: isResyncSpvRequested, LombokLightMethodBuilder: getPreferredTradeCurrency, LombokLightMethodBuilder: getBsqBlockChainExplorer, LombokLightMethodBuilder: getBackupDirectory, LombokLightMethodBuilder: isSortMarketCurrenciesNumerically, LombokLightMethodBuilder: isUseTradeNotifications, LombokLightMethodBuilder: getBuyerSecurityDepositAsPercentForCrypto, LombokLightMethodBuilder: getDirectoryChooserPath, LombokLightMethodBuilder: getBridgeOptionOrdinal, LombokLightMethodBuilder: isAutoSelectArbitrators, LombokLightMethodBuilder: getDontShowAgainMap, LombokLightMethodBuilder: getSelectedPaymentAccountForCreateOffer, LombokLightMethodBuilder: setBuyerSecurityDepositAsPercentForCrypto, LombokLightMethodBuilder: getMaxPriceDistanceInPercent, LombokLightMethodBuilder: isUseAnimations, LombokLightMethodBuilder: getIgnoreTradersList, LombokLightMethodBuilder: isTacAccepted, LombokLightMethodBuilder: getPeerTagMap, LombokLightMethodBuilder: getReferralId, LombokLightMethodBuilder: setPrefPayload] and [LombokLightMethodBuilder: getUseAnimationsProperty, LombokLightMethodBuilder: getCssThemeProperty, LombokLightMethodBuilder: getUseCustomWithdrawalTxFeeProperty, LombokLightMethodBuilder: getWithdrawalTxFeeInBytesProperty, LombokLightMethodBuilder: getUseStandbyModeProperty, LombokLightMethodBuilder: toProtoMessage, LombokLightMethodBuilder: getPreferredTradeCurrency, LombokLightMethodBuilder: getUserLanguage, LombokLightMethodBuilder: getUserCountry, LombokLightMethodBuilder: getFiatCurrencies, LombokLightMethodBuilder: getCryptoCurrencies, LombokLightMethodBuilder: getBuyerSecurityDepositAsLong, LombokLightMethodBuilder: isPayFeeInBtc, LombokLightMethodBuilder: getTorTransportOrdinal, LombokLightMethodBuilder: getTakeOfferSelectedPaymentAccountId, LombokLightMethodBuilder: getBuyScreenCurrencyCode, LombokLightMethodBuilder: setBuyerSecurityDepositAsPercentForCrypto, LombokLightMethodBuilder: getBlockChainExplorerMainNet, LombokLightMethodBuilder: getBlockChainExplorerTestNet, LombokLightMethodBuilder: getPeerTagMap, LombokLightMethodBuilder: getBridgeOptionOrdinal, LombokLightMethodBuilder: getCustomBridges, LombokLightMethodBuilder: getBuyerSecurityDepositAsPercentForCrypto, LombokLightMethodBuilder: getPhoneKeyAndToken, LombokLightMethodBuilder: getSellScreenCurrencyCode, LombokLightMethodBuilder: getIgnoreDustThreshold, LombokLightMethodBuilder: isUsePercentageBasedPrice, LombokLightMethodBuilder: isUseAnimations, LombokLightMethodBuilder: getReferralId, LombokLightMethodBuilder: getOfferBookChartScreenCurrencyCode, LombokLightMethodBuilder: getTradeStatisticsTickUnitIndex, LombokLightMethodBuilder: getCssTheme, LombokLightMethodBuilder: getBsqBlockChainExplorer, LombokLightMethodBuilder: getBitcoinNodes, LombokLightMethodBuilder: getBitcoinNodesOptionOrdinal, LombokLightMethodBuilder: isShowOwnOffersInOfferBook, LombokLightMethodBuilder: isResyncSpvRequested, LombokLightMethodBuilder: isUsePriceNotifications, LombokLightMethodBuilder: isUseSoundForMobileNotifications, LombokLightMethodBuilder: isUseTradeNotifications, LombokLightMethodBuilder: getIgnoreTradersList, LombokLightMethodBuilder: getMaxPriceDistanceInPercent, LombokLightMethodBuilder: getTradeChartsScreenCurrencyCode, LombokLightMethodBuilder: isUseCustomWithdrawalTxFee, LombokLightMethodBuilder: getBackupDirectory, LombokLightMethodBuilder: isSortMarketCurrenciesNumerically, LombokLightMethodBuilder: getSelectedPaymentAccountForCreateOffer, LombokLightMethodBuilder: setBuyerSecurityDepositAsLong, LombokLightMethodBuilder: isAutoSelectArbitrators, LombokLightMethodBuilder: isUseTorForBitcoinJ, LombokLightMethodBuilder: getDontShowAgainMap, LombokLightMethodBuilder: isTacAccepted, LombokLightMethodBuilder: getDirectoryChooserPath, LombokLightMethodBuilder: isUseMarketNotifications, LombokLightMethodBuilder: isUseStandbyMode, LombokLightMethodBuilder: setPrefPayload]
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:145)
at com.intellij.util.IdempotenceChecker.checkEquivalence(IdempotenceChecker.java:70)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:250)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:147)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.getAugments(LombokAugmentProvider.java:105)
at com.intellij.psi.augment.PsiAugmentProvider.lambda$collectAugments$0(PsiAugmentProvider.java:73)
at com.intellij.psi.augment.PsiAugmentProvider.forEach(PsiAugmentProvider.java:126)
at com.intellij.psi.augment.PsiAugmentProvider.collectAugments(PsiAugmentProvider.java:72)
at com.intellij.psi.impl.source.ClassInnerStuffCache.calcMethods(ClassInnerStuffCache.java:113)
at com.intellij.psi.impl.source.ClassInnerStuffCache.lambda$getMethods$2(ClassInnerStuffCache.java:47)
at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:148)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:240)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:241)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValueFromExHolder(CachedValuesManagerImpl.java:72)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:45)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:147)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at com.intellij.psi.impl.source.ClassInnerStuffCache.getMethods(ClassInnerStuffCache.java:47)
at com.intellij.psi.impl.source.PsiClassImpl.getMethods(PsiClassImpl.java:299)
at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClassNotCached(PsiClassImplUtil.java:669)
at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$2(PsiClassImplUtil.java:384)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:181)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:46)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:346)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:338)
at com.intellij.psi.impl.PsiClassImplUtil.processCachedMembersByName(PsiClassImplUtil.java:570)
at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:454)
at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:431)
at com.intellij.psi.impl.source.PsiClassImpl.processDeclarations(PsiClassImpl.java:488)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:497)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:346)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:298)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$100(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:203)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:177)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:392)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.advancedResolve(PsiReferenceExpressionImpl.java:554)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:854)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.resolveMethod(PsiMethodCallExpressionImpl.java:46)
at com.intellij.psi.impl.source.resolve.graphInference.PsiPolyExpressionUtil.lambda$isPolyExpression$0(PsiPolyExpressionUtil.java:36)
at com.intellij.psi.impl.source.resolve.graphInference.PsiPolyExpressionUtil.isMethodCallPolyExpression(PsiPolyExpressionUtil.java:56)
at com.intellij.psi.impl.source.resolve.graphInference.PsiPolyExpressionUtil.isPolyExpression(PsiPolyExpressionUtil.java:36)
at com.intellij.codeInsight.hints.JavaHintUtilsKt.isAssignable(JavaHintUtils.kt:348)
at com.intellij.codeInsight.hints.JavaHintUtilsKt.access$isAssignable(JavaHintUtils.kt:1)
at com.intellij.codeInsight.hints.CallArgumentInfo.isAssignable(JavaHintUtils.kt:341)
at com.intellij.codeInsight.hints.CallInfo.unclearInlays(JavaHintUtils.kt:293)
at com.intellij.codeInsight.hints.JavaInlayHintsProvider.hintSet(JavaHintUtils.kt:171)
at com.intellij.codeInsight.hints.JavaInlayHintsProvider.methodHints(JavaHintUtils.kt:111)
at com.intellij.codeInsight.hints.JavaInlayHintsProvider.hints(JavaHintUtils.kt:66)
at com.intellij.codeInsight.hints.JavaInlayParameterHintsProvider.getParameterHints(JavaInlayParameterHintsProvider.kt:32)
at com.intellij.codeInsight.hints.ParameterHintsPass.process(ParameterHintsPass.java:91)
at com.intellij.codeInsight.hints.ParameterHintsPass.lambda$doCollectInformation$0(ParameterHintsPass.java:83)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.intellij.codeInsight.hints.ParameterHintsPass.doCollectInformation(ParameterHintsPass.java:83)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:429)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1106)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:422)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:421)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:397)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:204)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:395)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)```
Issue Analytics
- State:
- Created 4 years ago
- Comments:10 (5 by maintainers)
Top GitHub Comments
@christophsturm Just several minutes after writing my last comment, I saw it happened in my test project:-) Thank you, I can now analyse it!
@christophsturm Fix should be available in the next plugin build, (coming next days…)