JetBrains / js-graphql-intellij-plugin

GraphQL language support for WebStorm, IntelliJ IDEA and other IDEs based on the IntelliJ Platform.
https://jimkyndemeyer.github.io/js-graphql-intellij-plugin/
MIT License
879 stars 97 forks source link

Exception: java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads: #591

Closed justinhandley closed 1 year ago

justinhandley commented 2 years ago

Description

Stacktrace

Please paste the full stacktrace from the IDEA error popup.

java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
  GraphQL (class com.intellij.lang.jsgraphql.psi.GraphQLFile) != GraphQL (class com.intellij.lang.jsgraphql.psi.GraphQLFile)

Recomputation gives com.intellij.util.CachedValueBase$Data@4575bed1 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.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:155)
    at com.intellij.lang.jsgraphql.ide.introspection.GraphQLIntrospectionFilesManager.getOrCreateIntrospectionSDL(GraphQLIntrospectionFilesManager.java:27)
    at com.intellij.lang.jsgraphql.schema.GraphQLRegistryProvider.processJsonFile(GraphQLRegistryProvider.java:143)
    at com.intellij.lang.jsgraphql.schema.GraphQLRegistryProvider.lambda$getRegistryInfo$1(GraphQLRegistryProvider.java:99)
    at com.intellij.psi.search.FileTypeIndex.lambda$processFiles$0(FileTypeIndex.java:50)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processValuesInScope$9(FileBasedIndexEx.java:327)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processValueIterator$10(FileBasedIndexEx.java:350)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processExceptions$5(FileBasedIndexEx.java:248)
    at com.intellij.util.ConcurrencyUtil.withLock(ConcurrencyUtil.java:234)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processExceptions$6(FileBasedIndexEx.java:248)
    at com.intellij.util.indexing.diagnostic.IndexAccessValidator.validate(IndexAccessValidator.java:42)
    at com.intellij.util.indexing.FileBasedIndexEx.processExceptions(FileBasedIndexEx.java:248)
    at com.intellij.util.indexing.FileBasedIndexEx.processValueIterator(FileBasedIndexEx.java:349)
    at com.intellij.util.indexing.FileBasedIndexEx.processValuesInScope(FileBasedIndexEx.java:318)
    at com.intellij.util.indexing.FileBasedIndexEx.processValues(FileBasedIndexEx.java:223)
    at com.intellij.util.indexing.FileBasedIndexEx.processValues(FileBasedIndexEx.java:211)
    at com.intellij.psi.search.FileTypeIndex.processFiles(FileTypeIndex.java:50)
    at com.intellij.lang.jsgraphql.schema.GraphQLRegistryProvider.lambda$getRegistryInfo$2(GraphQLRegistryProvider.java:97)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at com.intellij.lang.jsgraphql.schema.GraphQLRegistryProvider.getRegistryInfo(GraphQLRegistryProvider.java:78)
    at com.intellij.lang.jsgraphql.schema.GraphQLSchemaProviderImpl.lambda$getSchemaInfo$1(GraphQLSchemaProviderImpl.java:61)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at com.intellij.lang.jsgraphql.schema.GraphQLSchemaProviderImpl.lambda$getSchemaInfo$2(GraphQLSchemaProviderImpl.java:60)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at com.intellij.lang.jsgraphql.schema.GraphQLSchemaProviderImpl.getSchemaInfo(GraphQLSchemaProviderImpl.java:59)
    at com.intellij.lang.jsgraphql.psi.impl.GraphQLTypedOperationDefinitionMixin.getTypeScope(GraphQLTypedOperationDefinitionMixin.java:27)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLReferenceService.resolveFieldReference(GraphQLReferenceService.java:244)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLReferenceService.innerResolveReference(GraphQLReferenceService.java:95)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLReferenceService.doResolveReference(GraphQLReferenceService.java:87)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLCachingReference.resolveInner(GraphQLCachingReference.java:42)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLCachingReference$MyResolver.resolve(GraphQLCachingReference.java:56)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLCachingReference$MyResolver.resolve(GraphQLCachingReference.java:51)
    at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
    at com.intellij.openapi.util.Computable.get(Computable.java:18)
    at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
    at com.intellij.openapi.util.Computable.get(Computable.java:18)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:238)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:289)
    at com.intellij.lang.jsgraphql.ide.resolve.GraphQLCachingReference.resolve(GraphQLCachingReference.java:37)
    at c...

Version and Environment Details

Operation system: macOS 12.1 IDE version: IU-212.5284.40 Plugin version: 3.1.0

vepanimas commented 1 year ago

Similar to #582.