Constant indexing?

Issue #909 resolved
Former user created an issue

Hi, this morning i have updated the plugin and i noticed that it is constantly doing the "indexing". Is it normal? How can I stop it?

Comments (26)

  1. Scott Wells repo owner

    Hi, Attilio. No, that's not normal. Can you rebuild caches/indices and allow the IDE to restart and see if that resolves the issue? If it doesn't, can you send me your idea.log using Help>Show Log in Explorer/Finder/Files so I can see what might be going on? Sorry for the issue!

  2. Former user Account Deleted reporter

    Now it stopped. Where should i send them? Via email? If so, which address should I send the log files to?

    Thanks, Attilio

  3. Scott Wells repo owner

    Did it stop on its own or after you rebuilt caches and indices?

    You can attach logs here or email them to support@illuminatedcloud.com.

  4. Wim Velzeboer

    @RoseSilverSoftware I have the same issue. It works fine for normal project, but when I use the Salesforce DX Falcon template, it keeps on indexing, especially when I type a . after a class name, when it has to do code-completion..

    https://github.com/sfdx-isv/sfdx-falcon-template

    See the attached idea.log for details


    EDIT: after a full rebuild from the original template repo, the problem seems to be solved.. I am not sure what is different now...

  5. Scott Wells repo owner

    Thanks for the log, Wim. It looks like IntelliJ got a bit confused by some of the XML files in that repo until indices were rebuilt:

    2018-03-13 08:29:06,214 [ 124972]  ERROR - j.psi.stubs.StubTreeLoaderImpl - Outdated stub in index: file:///Users/wvelzebo/IdeaProjects/jnj_sflib/sfdx-source/force-app/main/utility/classes/sflib_NumberToWord2.cls-meta.xml null, doc=DocumentImpl[file:///Users/wvelzebo/IdeaProjects/jnj_sflib/sfdx-source/force-app/main/utility/classes/sflib_NumberToWord2.cls-meta.xml], docSaved=true, wasIndexedAlready=true, queried at 1520876458307
    indexed lengths={chars=1123, bytes=1123}
    doc length=174
    file length=174
    cached PSI class com.intellij.psi.impl.source.xml.XmlFileImpl
    projects with file: 1 
    java.lang.Exception
        at com.intellij.psi.stubs.StubTreeLoaderImpl.a(StubTreeLoaderImpl.java:175)
        at com.intellij.psi.stubs.StubTreeLoaderImpl.a(StubTreeLoaderImpl.java:145)
        at com.intellij.psi.stubs.StubTreeLoaderImpl.readFromVFile(StubTreeLoaderImpl.java:113)
        at com.intellij.util.xml.impl.DomServiceImpl.b(DomServiceImpl.java:76)
        at com.intellij.util.xml.impl.DomServiceImpl.access$000(DomServiceImpl.java:56)
        at com.intellij.util.xml.impl.DomServiceImpl$1.a(DomServiceImpl.java:62)
    

    Let me know if that does happen again, and I'll also try to reproduce it based on the template link you provided.

  6. Justin Julicher

    Hi Scott,

    I'm getting this issue after doing a unsuccessful deploy all metadata operation.

    Can you re-open this?

    thanks

  7. Scott Wells repo owner

    Justin, thanks for providing the log. I'm not seeing anything IC-specific in it. It does look like you have colliding GitFlow plugins installed:

    2019-04-15 11:29:09,279 [  26447]  ERROR - ij.components.ComponentManager - Component name collision: GitflowComponent class gitflow.GitflowComponent and class cn.rieon.idea.git.flow.GitflowComponent [Plugin: cn.rieon.idea.git-flow] 
    com.intellij.diagnostic.PluginException: Component name collision: GitflowComponent class gitflow.GitflowComponent and class cn.rieon.idea.git.flow.GitflowComponent [Plugin: cn.rieon.idea.git-flow]
    

    It's very possible that those are causing constant reindexing as they compete for the same extension points. Can you disable one or the other (or both) and see if that resolves the issue?

  8. Justin Julicher

    Ah ... possibly was wondering why I was getting a git flow issue...

    I saw this in the log - not sure if this is an issue?

    2019-04-15 11:07:43,137 [7261442]   INFO - il.indexing.FileBasedIndexImpl - Rebuild requested for index Stubs 
    com.intellij.psi.PsiInvalidElementAccessException: Element: class com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl
        at com.intellij.psi.impl.source.SubstrateRef$1.getNode(SubstrateRef.java:65)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getNode(StubBasedPsiElementBase.java:148)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getParentByStub(StubBasedPsiElementBase.java:320)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:956)
        at com.illuminatedcloud.intellij.psi.impl.ApexDeclarationMixin.getParent(ApexDeclarationMixin.java:109)
        at com.intellij.psi.PsiInvalidElementAccessException.findOutInvalidationReason(PsiInvalidElementAccessException.java:182)
        at com.intellij.psi.PsiInvalidElementAccessException.getMessageWithReason(PsiInvalidElementAccessException.java:132)
        at com.intellij.psi.PsiInvalidElementAccessException.<init>(PsiInvalidElementAccessException.java:78)
        at com.intellij.psi.PsiInvalidElementAccessException.<init>(PsiInvalidElementAccessException.java:49)
        at com.intellij.psi.impl.source.SubstrateRef$1.getContainingFile(SubstrateRef.java:76)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getContainingFile(StubBasedPsiElementBase.java:253)
        at com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl.createSmartPsiElementPointer(SmartPointerManagerImpl.java:68)
        at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.createSmartPsiElementPointer(ApexExpressionType.java:114)
        at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.<init>(ApexExpressionType.java:81)
        at com.illuminatedcloud.intellij.ApexLanguage.lambda$getObjectClassDeclaration$0(ApexLanguage.java:753)
        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:116)
        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 com.illuminatedcloud.intellij.ApexLanguage.getObjectClassDeclaration(ApexLanguage.java:752)
        at com.illuminatedcloud.intellij.psi.impl.ApexClassDeclarationMixin.lambda$getBaseClassDeclaration$0(ApexClassDeclarationMixin.java:213)
        at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:148)
        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:116)
        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 com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:147)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
        at com.illuminatedcloud.intellij.psi.impl.ApexClassDeclarationMixin.getBaseClassDeclaration(ApexClassDeclarationMixin.java:194)
        at com.illuminatedcloud.intellij.psi.stub.ApexClassDeclarationStub.<init>(ApexClassDeclarationStub.java:39)
        at com.illuminatedcloud.intellij.psi.stub.ApexClassDeclarationElementType.doCreateStub(ApexClassDeclarationElementType.java:38)
        at com.illuminatedcloud.intellij.psi.stub.ApexClassDeclarationElementType.doCreateStub(ApexClassDeclarationElementType.java:22)
        at com.illuminatedcloud.intellij.psi.stub.ApexDeclarationStubElementType.createStub(ApexDeclarationStubElementType.java:164)
    
  9. Scott Wells repo owner

    Yeah, that one is definitely IC-specific and something to correct, and I'm not sure why I missed it. Does that go away entirely if you rebuild caches & indices or does it recur?

  10. Justin Julicher

    Hi Scott

    Ok, just had this happen again. So it wasn't related to the git flow plugin.

    So I think the issue is that I did a retrieve which kicked off an index operation but I hadn't completed my edit on a file which was then incomplete.

    I'll upload the log file.

    thanks

  11. Scott Wells repo owner

    Thanks for the log. This looks like a bad base IDE install to me based on these types of errors scattered throughout:

    java.lang.NoClassDefFoundError: com/intellij/codeInsight/editorActions/wordSelection/BasicSelectioner
    

    It's failing to find one of the primary IDE classes. I know that some people had issues with the in-place (i.e., patch-based) upgrade to 2019.1. It looks like you may be having a similar issue because I wouldn't expect core IDE classes to be unresolvable.

    I hate to say it, but I think your best bet is to uninstall/reinstall IntelliJ IDEA 2019.1--with the Java 8 JRE--and see if that takes care of it. I'm honestly surprised that this isn't causing more pervasive issues.

    Please let me know whether that helps or not. Hopefully it will resolve all of these issues for you, though.

  12. Justin Julicher

    Hi @Scott Wells ,

    uh oh. Sorry but I had this happen again and the repeating error was the one above, for reference I have included it below.

    19-05-02 15:39:28,178 [194888164] INFO - ndex.IlluminatedCloudIndexUtil - Rebuilding the stub index due to exception: Element: class com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl
    2019-05-02 15:39:28,192 [194888178] ERROR - ht.daemon.impl.LineMarkersPass - Element: class com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl #Apex because: parent is null
    invalidated at: see attachment
    com.intellij.psi.PsiInvalidElementAccessException: Element: class com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl #Apex because: parent is null
    invalidated at: see attachment
    at com.intellij.extapi.psi.StubBasedPsiElementBase.getContainingFile(StubBasedPsiElementBase.java:257)
    at com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl.createSmartPsiElementPointer(SmartPointerManagerImpl.java:68)
    at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.createSmartPsiElementPointer(SourceFile:114)
    at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.<init>(SourceFile:81)
    at com.illuminatedcloud.intellij.ApexLanguage.lambda$getObjectClassDeclaration$0(SourceFile:753)
    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:116)
    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 com.illuminatedcloud.intellij.ApexLanguage.getObjectClassDeclaration(SourceFile:752)
    at com.illuminatedcloud.intellij.psi.impl.ApexClassDeclarationMixin.lambda$getBaseClassDeclaration$0(SourceFile:213)
    at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:148)
    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:116)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:237)

  13. Xander Victory

    I got the same issue with the Apex Variable index loop

    Ended up with some "Memory Leak" errors too:

    Memory leak detected: 'Editor: file://<snip>' of class com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorImpl
    
  14. Scott Wells repo owner

    In Xander's latest log, I see a number of these:

    com.intellij.psi.PsiInvalidElementAccessException: Element: class com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl
        at com.intellij.psi.impl.source.SubstrateRef$1.getNode(SubstrateRef.java:65)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getNode(StubBasedPsiElementBase.java:148)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getParentByStub(StubBasedPsiElementBase.java:320)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:807)
        at com.illuminatedcloud.intellij.psi.impl.ApexDeclarationMixin.getParent(SourceFile:104)
        at com.intellij.psi.PsiInvalidElementAccessException.findOutInvalidationReason(PsiInvalidElementAccessException.java:182)
        at com.intellij.psi.PsiInvalidElementAccessException.getMessageWithReason(PsiInvalidElementAccessException.java:132)
        at com.intellij.psi.PsiInvalidElementAccessException.<init>(PsiInvalidElementAccessException.java:78)
        at com.intellij.psi.PsiInvalidElementAccessException.<init>(PsiInvalidElementAccessException.java:49)
        at com.intellij.psi.impl.source.SubstrateRef$1.getContainingFile(SubstrateRef.java:76)
        at com.intellij.extapi.psi.StubBasedPsiElementBase.getContainingFile(StubBasedPsiElementBase.java:253)
        at com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl.createSmartPsiElementPointer(SmartPointerManagerImpl.java:56)
        at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.lambda$createSmartPsiElementPointer$0(SourceFile:118)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:807)
        at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.createSmartPsiElementPointer(SourceFile:117)
        at com.illuminatedcloud.intellij.psi.impl.ApexExpressionType.<init>(SourceFile:83)
        at com.illuminatedcloud.intellij.ApexLanguage.lambda$getObjectClassDeclaration$1(SourceFile:768)
        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.getCachedValue(CachedValuesManagerImpl.java:64)
        at com.illuminatedcloud.intellij.ApexLanguage.getObjectClassDeclaration(SourceFile:767)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.isKnownException(SourceFile:1237)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.checkForIllegalAssignment(SourceFile:939)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.checkForIllegalAssignment(SourceFile:917)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.checkForIllegalAssignment(SourceFile:904)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.checkVariableDeclaration(SourceFile:321)
        at com.illuminatedcloud.intellij.inspection.ApexIllegalAssignmentInspection$ApexIllegalAssignmentInspectionVisitor.visitElement(SourceFile:165)
        at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:274)
        at com.illuminatedcloud.intellij.psi.impl.ApexVariableDeclarationImpl.accept(SourceFile:31)
    

    All of them seem to go through this critical line:

    at com.illuminatedcloud.intellij.ApexLanguage.lambda$getObjectClassDeclaration$1(SourceFile:768)
    

    so I'm going to investigate why that retained reference might be going stale. I might post a build here for you guys (or at least Xander) to try.

    As for the reported memory leaks, I'll also investigate that. That's one of those things that I would expect to see in every log, though, mine included, and I've never seen it before. We'll see what that ends up showing...

  15. Log in to comment