Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nested different indices processing may cause deadlock #281

Closed
gaoagong opened this issue Aug 15, 2016 · 6 comments
Closed

Nested different indices processing may cause deadlock #281

gaoagong opened this issue Aug 15, 2016 · 6 comments

Comments

@gaoagong
Copy link

Ever since the most recent Lombok plugin update to Intellij I have often seen the following error:

Accessing 'java.class.fqn' during processing 'java.field.name'. Nested different indices processing may cause deadlock

It seems to happen at random times so I don't know of the rhyme or reason behind what I'm doing that causes it.

Intellij build: 15.01891 build on 02 Dec 2015
Lombok Plugin: 0.13.16

The following is the stacktrace:

Accessing 'java.class.fqn' during processing 'java.field.name'. Nested different indices processing may cause deadlock
java.lang.Throwable
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:127)
    at com.intellij.util.indexing.IndexAccessValidator.checkAccessingIndexDuringOtherIndexProcessing(IndexAccessValidator.java:37)
    at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:340)
    at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:316)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:146)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
    at com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.get(JavaFullClassNameIndex.java:48)
    at com.intellij.psi.impl.file.impl.JavaFileManagerImpl.a(JavaFileManagerImpl.java:91)
    at com.intellij.psi.impl.file.impl.JavaFileManagerImpl.findClass(JavaFileManagerImpl.java:126)
    at com.intellij.psi.impl.PsiElementFinderImpl.findClass(PsiElementFinderImpl.java:54)
    at com.intellij.psi.impl.JavaPsiFacadeImpl.a(JavaPsiFacadeImpl.java:122)
    at com.intellij.psi.impl.JavaPsiFacadeImpl.findClass(JavaPsiFacadeImpl.java:99)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.a(PsiJavaCodeReferenceElementImpl.java:395)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.access$100(PsiJavaCodeReferenceElementImpl.java:55)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:350)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:342)
    at com.intellij.psi.impl.source.resolve.ResolveCache$4.compute(ResolveCache.java:191)
    at com.intellij.psi.impl.source.resolve.ResolveCache$4.compute(ResolveCache.java:188)
    at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:188)
    at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:752)
    at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:741)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.multiResolve(PsiJavaCodeReferenceElementImpl.java:377)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.advancedResolve(PsiJavaCodeReferenceElementImpl.java:370)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.resolve(PsiJavaCodeReferenceElementImpl.java:339)
    at com.intellij.psi.impl.source.PsiImportStatementBaseImpl.resolve(PsiImportStatementBaseImpl.java:64)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl.a(PsiJavaFileBaseImpl.java:329)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processDeclarations(PsiJavaFileBaseImpl.java:303)
    at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:68)
    at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:50)
    at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:226)
    at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:157)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.a(PsiJavaCodeReferenceElementImpl.java:448)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.access$100(PsiJavaCodeReferenceElementImpl.java:55)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:350)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:342)
    at com.intellij.psi.impl.source.resolve.ResolveCache$4.compute(ResolveCache.java:191)
    at com.intellij.psi.impl.source.resolve.ResolveCache$4.compute(ResolveCache.java:188)
    at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:188)
    at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:752)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.a(PsiJavaCodeReferenceElementImpl.java:277)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.getCanonicalText(PsiJavaCodeReferenceElementImpl.java:262)
    at com.intellij.psi.impl.source.tree.java.PsiAnnotationImpl.getQualifiedName(PsiAnnotationImpl.java:96)
    at de.plushnikov.intellij.plugin.util.PsiAnnotationSearchUtil.findAnnotationQuick(PsiAnnotationSearchUtil.java:58)
    at de.plushnikov.intellij.plugin.util.PsiAnnotationSearchUtil.findAnnotation(PsiAnnotationSearchUtil.java:33)
    at de.plushnikov.intellij.plugin.util.PsiAnnotationSearchUtil.isAnnotatedWith(PsiAnnotationSearchUtil.java:82)
    at de.plushnikov.intellij.plugin.processor.modifier.ValueModifierProcessor.isSupported(ValueModifierProcessor.java:34)
    at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.transformModifiers(LombokAugmentProvider.java:81)
    at com.intellij.psi.augment.PsiAugmentProvider$3.process(PsiAugmentProvider.java:133)
    at com.intellij.psi.augment.PsiAugmentProvider$3.process(PsiAugmentProvider.java:130)
    at com.intellij.psi.augment.PsiAugmentProvider.forEach(PsiAugmentProvider.java:146)
    at com.intellij.psi.augment.PsiAugmentProvider.transformModifierProperties(PsiAugmentProvider.java:130)
    at com.intellij.psi.impl.source.PsiModifierListImpl.b(PsiModifierListImpl.java:96)
    at com.intellij.psi.impl.source.PsiModifierListImpl.hasModifierProperty(PsiModifierListImpl.java:84)
    at com.intellij.psi.impl.source.PsiFieldImpl.hasModifierProperty(PsiFieldImpl.java:182)
    at com.intellij.codeInsight.completion.JavaCompletionUtil.isInExcludedPackage(JavaCompletionUtil.java:136)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticMembersProcessor.process(StaticMembersProcessor.java:132)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticMembersProcessor.process(StaticMembersProcessor.java:32)
    at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:169)
    at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
    at com.intellij.psi.stubs.StubIndexImpl$2.process(StubIndexImpl.java:324)
    at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:675)
    at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:663)
    at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
    at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:350)
    at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:316)
    at com.intellij.psi.impl.PsiShortNamesCacheImpl.processFieldsWithName(PsiShortNamesCacheImpl.java:236)
    at com.intellij.psi.impl.CompositeShortNamesCache.processFieldsWithName(CompositeShortNamesCache.java:273)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportConstantFix.getMembersToImport(StaticImportConstantFix.java:73)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMemberFix.isAvailable(StaticImportMemberFix.java:78)
    at com.intellij.codeInsight.daemon.impl.ShowAutoImportPass.a(ShowAutoImportPass.java:146)
    at com.intellij.codeInsight.daemon.impl.ShowAutoImportPass.addImports(ShowAutoImportPass.java:94)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightInfoProcessor.a(DefaultHighlightInfoProcessor.java:70)
    at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
    at com.intellij.openapi.application.TransactionGuardImpl.access$300(TransactionGuardImpl.java:40)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:113)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:326)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:863)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
@makromannen
Copy link

Seeing the same error here and the same stack trace.
Using Lombok plugin version 0.13.16 with IntelliJ IDEA 2016.2.2.

@dsitze
Copy link

dsitze commented Oct 4, 2016

Also seeing this in IntelliJ IDEA 2016.2.4, with Lombok plugin version 0.13.16

@mplushnikov
Copy link
Owner

This is an issue in IntelliJ itselfs. There is already a ticket: https://youtrack.jetbrains.com/issue/IDEA-159135
Some of the reported problems (#261) there fixed in 2016.3, but some other are still existing.

@mplushnikov
Copy link
Owner

According to Anna Kozlova from Jetbrains, the issue from
com.intellij.codeInsight.daemon.impl.quickfix.StaticMembersProcessor.process(StaticMembersProcessor.java:32)
should be already fixed in IntelliJ 2016.3
Some other reported similar issues should be fixed in the next IntelliJ version 2016.3.2

@tlinkowski
Copy link
Contributor

Update: I haven't experienced this issue even once since I've been using IntelliJ 2016.3.2.

@mplushnikov
Copy link
Owner

@tlinkowski Thank you for you feedback!
Then, I will close it here now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants