Slow LWC editing and frequent Invalid CachedValue errors
Editing the HTML for many of my LWCs is often very laggy, sometimes an Enter keypress takes ~2seconds to actually make a new line. I’m not sure how exactly to debug that.
At the same time, I get frequent CV errors coming up in the log
java.lang.Throwable: Incorrect CachedValue use: same CV with different captured context, this can cause unstable results and invalid PSI access.
Field arg$1 in class com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor$$Lambda$4441/0x0000000802540c40 has non-equivalent values:
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@57f5e50 (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor) and
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@395cc411 (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor)
Either make `equals()` hold for these values, or avoid this dependency, e.g. by extracting CV provider into a static method.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:143)
at com.intellij.util.CachedValueStabilityChecker.complain(CachedValueStabilityChecker.java:163)
at com.intellij.util.CachedValueStabilityChecker.checkFieldEquivalence(CachedValueStabilityChecker.java:130)
at com.intellij.util.CachedValueStabilityChecker.checkProvidersEquivalent(CachedValueStabilityChecker.java:81)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:71)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getCustomComponentDeclaration(SourceFile:228)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getDeclaration(SourceFile:196)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.lambda$getCustomLightningWebComponent$6(SourceFile:817)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getCustomLightningWebComponent(SourceFile:808)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getLightningWebComponent(SourceFile:759)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptorProvider.getDescriptor(SourceFile:58)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.computeElementDescriptor(XmlTagDelegate.java:458)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.xml.XmlTagDelegate$1.compute(XmlTagDelegate.java:437)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.getDescriptor(XmlTagDelegate.java:433)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:129)
at com.intellij.codeInspection.htmlInspections.HtmlUnknownTagInspectionBase.checkTag(HtmlUnknownTagInspectionBase.java:97)
at com.intellij.codeInspection.htmlInspections.HtmlLocalInspectionTool$1.visitXmlToken(HtmlLocalInspectionTool.java:67)
at com.intellij.psi.impl.source.xml.XmlTokenImpl.accept(XmlTokenImpl.java:29)
at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
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)
java.lang.Throwable: Incorrect CachedValue use: same CV with different captured context, this can cause unstable results and invalid PSI access.
Field arg$1 in class com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor$$Lambda$4441/0x0000000802540c40 has non-equivalent values:
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@43b0e21b (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor) and
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@78c74bf0 (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor)
Either make `equals()` hold for these values, or avoid this dependency, e.g. by extracting CV provider into a static method.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:143)
at com.intellij.util.CachedValueStabilityChecker.complain(CachedValueStabilityChecker.java:163)
at com.intellij.util.CachedValueStabilityChecker.checkFieldEquivalence(CachedValueStabilityChecker.java:130)
at com.intellij.util.CachedValueStabilityChecker.checkProvidersEquivalent(CachedValueStabilityChecker.java:81)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:71)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getCustomComponentDeclaration(SourceFile:228)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getDeclaration(SourceFile:196)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.lambda$getCustomLightningWebComponent$6(SourceFile:817)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getCustomLightningWebComponent(SourceFile:808)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getLightningWebComponent(SourceFile:759)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptorProvider.getDescriptor(SourceFile:58)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.computeElementDescriptor(XmlTagDelegate.java:458)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.xml.XmlTagDelegate$1.compute(XmlTagDelegate.java:437)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.getDescriptor(XmlTagDelegate.java:433)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:129)
at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.getDescriptionImpl(XmlAttributeDelegate.java:64)
at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.lambda$getDescriptor$0(XmlAttributeDelegate.java:53)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.getDescriptor(XmlAttributeDelegate.java:51)
at com.intellij.psi.impl.source.xml.XmlAttributeImpl.getDescriptor(XmlAttributeImpl.java:207)
at com.intellij.xml.util.XmlEnumeratedValueReferenceProvider.getDescriptor(XmlEnumeratedValueReferenceProvider.java:85)
at com.intellij.xml.util.XmlEnumeratedValueReferenceProvider.getReferencesByElement(XmlEnumeratedValueReferenceProvider.java:63)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.getReferences(ReferenceProvidersRegistryImpl.java:202)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.mapNotEmptyReferencesFromProviders(ReferenceProvidersRegistryImpl.java:165)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:145)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.lambda$getReferencesFromProviders$0(ReferenceProvidersRegistry.java:40)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:39)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.getReferences(XmlAttributeValueImpl.java:89)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.getReferences(XmlAttributeValueImpl.java:99)
at com.intellij.codeInsight.daemon.impl.analysis.XmlPathReferenceInspection.checkRefs(XmlPathReferenceInspection.java:58)
at com.intellij.codeInsight.daemon.impl.analysis.XmlPathReferenceInspection.access$000(XmlPathReferenceInspection.java:35)
at com.intellij.codeInsight.daemon.impl.analysis.XmlPathReferenceInspection$1.visitXmlAttributeValue(XmlPathReferenceInspection.java:42)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.accept(XmlAttributeValueImpl.java:46)
at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
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)
java.lang.Throwable: Incorrect CachedValue use: same CV with different captured context, this can cause unstable results and invalid PSI access.
Field arg$1 in class com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor$$Lambda$4441/0x0000000802540c40 has non-equivalent values:
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@4924b7ac (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor) and
com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor@141caa14 (com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor)
Either make `equals()` hold for these values, or avoid this dependency, e.g. by extracting CV provider into a static method.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:143)
at com.intellij.util.CachedValueStabilityChecker.complain(CachedValueStabilityChecker.java:163)
at com.intellij.util.CachedValueStabilityChecker.checkFieldEquivalence(CachedValueStabilityChecker.java:130)
at com.intellij.util.CachedValueStabilityChecker.checkProvidersEquivalent(CachedValueStabilityChecker.java:81)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:71)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getCustomComponentDeclaration(SourceFile:228)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptor.getDeclaration(SourceFile:196)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.lambda$getCustomLightningWebComponent$6(SourceFile:817)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getCustomLightningWebComponent(SourceFile:808)
at com.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getLightningWebComponent(SourceFile:759)
at com.illuminatedcloud.intellij.completion.LightningWebComponentsElementDescriptorProvider.getDescriptor(SourceFile:58)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.computeElementDescriptor(XmlTagDelegate.java:458)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.xml.XmlTagDelegate$1.compute(XmlTagDelegate.java:437)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.intellij.psi.impl.source.xml.XmlTagDelegate.getDescriptor(XmlTagDelegate.java:433)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:129)
at com.intellij.xml.util.XmlRefCountHolder$IdGatheringRecursiveVisitor.visitXmlAttributeValue(XmlRefCountHolder.java:240)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.accept(XmlAttributeValueImpl.java:46)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:67)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:24)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:62)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:49)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:76)
at com.intellij.psi.XmlRecursiveElementWalkingVisitor.visitElement(XmlRecursiveElementWalkingVisitor.java:40)
at com.intellij.xml.util.XmlRefCountHolder$IdGatheringRecursiveVisitor.visitElement(XmlRefCountHolder.java:177)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:35)
at com.intellij.psi.XmlRecursiveElementWalkingVisitor.visitFile(XmlRecursiveElementWalkingVisitor.java:58)
at com.intellij.psi.XmlElementVisitor.visitXmlFile(XmlElementVisitor.java:26)
at com.intellij.psi.impl.source.xml.XmlFileImpl.accept(XmlFileImpl.java:54)
at com.intellij.xml.util.XmlRefCountHolder$1.lambda$compute$0(XmlRefCountHolder.java:61)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.xml.util.XmlRefCountHolder.getRefCountHolder(XmlRefCountHolder.java:79)
at com.intellij.xml.util.XmlDuplicatedIdInspection$1.visitXmlAttributeValue(XmlDuplicatedIdInspection.java:53)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.accept(XmlAttributeValueImpl.java:46)
at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1105)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:57)
at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:49)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.visitPriorityElementsAndInit(LocalInspectionsPass.java:266)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspect(LocalInspectionsPass.java:191)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:113)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:80)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:399)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:392)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:391)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:367)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181)
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)
IntelliJ IDEA 2020.2 Build #IU-202.6397.94
Comments (54)
-
repo owner -
reporter For the slowness alone, it seems to be something to do with custom sub-components. e.g. if I comment out the
<c-
elements in this snippet, the slowness goes away. It doesn’t appear to have triggered any CV errors yet.<!-- Time Sheet Quick Starts --> <template> <lightning-layout multiple-rows="true"> <template if:true={quickEntriesUI.data}> <template for:each={quickEntriesUI.data} for:item="record"> <lightning-layout-item flexibility="grow" key={record.Id} class="slds-p-around_xx-small"> <c-timesheet-quick-start-entry entry={record}></c-timesheet-quick-start-entry> </lightning-layout-item> </template> </template> <lightning-layout-item flexibility="grow" class="slds-p-around_xx-small"> <button class="slds-button slds-button_neutral slds-button_stretch" onclick={showClonePrevious}>Clone Previous</button> </lightning-layout-item> </lightning-layout> <template if:true={showClonePopup}> <c-clone-previous-popup oncloseclonedialog={closeClonePopup}></c-clone-previous-popup> </template> </template>
-
repo owner Thanks, Xander. Let me dig in a bit. Just knowing that it seems tied to the custom components should narrow the area of investigation. I wonder if there's something there that's being evaluated repeatedly as you're typing that could (and should) almost certainly be cached until/unless it changes. More info to come soon hopefully.
-
repo owner - attached IlluminatedCloud2.zip
Xander, can you please install the attached build and let me know whether it resolves the issues? Minimally I'm hoping it gets rid of the CV errors in the log, and I'm further hoping that by doing so, it gets the expected cache hit rate and addresses the performance issue you're seeing. Please let me know either way.
-
reporter It does seem to improve things a little bit, but still noticeable lag. So far no CV errors (side note they seemed to also stop when I turned off
idea.is.internal
custom property), but they were never reliably produced to begin with.I ran it through VisualVM (sampling only IC2 classes), and it seems to primarily drill down to
com.intellij.psi.search.FilenameIndex.getVirtualFilesByName ()
often viacom.illuminatedcloud.intellij.lightning.LightningWebComponentsUtil.getCustomLightningWebComponent ()
-
reporter - attached illuminatedcloud.nps
VisualVM snapshot
-
reporter
-
reporter - attached idea.log
yep, spoke too soon
-
repo owner Xander, I'm trying to reproduce the latest behavior from your log and can't. Effectively what it's showing is that it's trying to populate the same cache value twice, once with no dependencies and once with the correct single dependency of the metadata file itself. Assuming that leads to a constant cache miss, that would explain the prevalence of
getVirtualFilesByName
in the profiler as that's used to find the metadata file in that cache read-through.What I don't understand is why this is happening for you and not me (or others). Is it possible that you have multiple copies of the same metadata in this project or something? Or are your source roots perhaps configured incorrectly? I'm just trying to figure out why it would behave this way for you. Ideally I'd like to reproduce the behavior and make IC more resilient to whatever is going on, but without being able to reproduce it any change I make to try to fix it is kind of shooting in the dark...
-
reporter Damn, the worst kind of issue.
- No duplicates of files
- git is used
- Partial std/custom object metadata files in project, full symbol table
- source roots are default
-
Custom components have some or all of the following
@salesforce/schema/
field imports- Apex imports to
@AuraEnabled
methods - imports from a common module
c/timesheetEditCommon
-
reporter - attached dot.idea.zip
.idea folder from project, in case it helps
-
repo owner Xander, at this point being able to reproduce the behavior is going to be critical. I've found one other situation in which the CV problem occurs, but it's not the same one you're seeing and it shouldn't cause the same type of performance issue you're experiencing.
Do you think it would be possible to create a VERY simple standalone project with a dummy custom component or two that reproduces the behavior? That would be invaluable in getting to the bottom of this.
-
reporter Yeah, I’ll give that a go. I understand how frustrating it is to try to fix an issue you can’t reproduce
-
reporter @Scott Wells Apologies I’ve not got around to making a small repro. I have managed to reproduce it with the LWC Superbadge code though.
Specifically the HTML for
boatSearchResults
,boatDetailTabs
&boatAddReviewForm
If you’ve not completed the badge I can email it to you privately (as the contents would allow completion of the badge with no effort)
-
reporter Also, I did do some code diving, and the CV errors are only checked/complained about when running the IDE in internal mode, so I’ve disabled that as we’re unsure whether that’s actually why the cache isn't being used.
-
repo owner That's great news, Xander. I have not completed that superbadge, so feel free to email it and I'll take a look at it in the coming week.
-
repo owner Xander, I've been playing with what you sent and am not seeing the slow performance. I've just been doing some random edits in the three cited components and everything is humming along very nicely for me. Are there some particular types of edits that you're doing that result in this behavior consistently? Concrete examples would be wonderful since even rewriting these components verbatim isn't doing it for me.
-
reporter Argh, frustrating. You can see it in action here - https://youtu.be/hmatyFL4pHY
It’s a little intermittent, as you can see at the start it didn’t want to happen. I disabled a bunch of unnecessary plugins before recording to rule them out.
-
repo owner Thanks for the video, and for what it's worth, I totally believe you that it's happening! It's just similarly frustrating for me when I can't reproduce it.
I tried to do exactly what you do in that video...basically open a newline and than backspace to remove it repeatedly in different locations...and I still don't see it.
Since you're using Ultimate Edition, let's use its built-in profiler to get a profiling snapshot of the behavior in action and see if that reveals any new insights. First, make sure that you have the bundled Performance Testing plugin enabled. Then use Help>Diagnostic Tools>Start CPU Usage Profiling, reproduce the issue repeatedly so that there's a sufficient sample set that the hotspots will show up in the snapshot, and finally use the corresponding menu option to stop profiling and capture the snapshot. Send me that snapshot for review if you don't mind. Fingers crossed that it shows something useful...
-
reporter Quite a short run, but was enough to trigger the issue a bit (waiting for startup to settle, started profile, did the enter/backspace thing)
-
reporter I’m leaning towards it being Garbage Collection related - I have 4gb max size for IDEA.
Watching the memory usage in the status bar, it seems to drop after each 'freeze'. I have no idea why adding and removing blank lines would cause it to spike 300+ mb though
-
repo owner - attached IlluminatedCloud2.zip
Thanks, Xander. That actually does tell me something very useful. I've attached a test build for you to install. Can you please try it and see if it resolves the issue for you or not (of course, without causing any other issues)?
-
repo owner - attached IlluminatedCloud2.zip
-
reporter Doesn't seem to have made much of a difference. I invalidated caches and restarted to be sure
-
repo owner - attached IlluminatedCloud2.zip
Xander, either I didn't attach the right build or you didn't install the attached one accidentally. The stack trace in the latest snapshot still shows the call that I changed to a different indexed call.
I'm attaching a new build that should be identical to the one I intended to attach today to be 100% sure it's the right one. Please download the attached archive and install it using Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down menu), then see if it changes the performance characteristics.
-
reporter I was a little confused that there were two attachments showing (I downloaded the one without a comment) haha
-
reporter Indexing seems stuck in an infinite loop - status bar says "Scanning files to index... Scanning dependencies"
-
repo owner - attached IlluminatedCloud2.zip
Hmmmm...I can't imagine why that would happen, but I just simplified the way that it determines whether a
meta.xml
file is for an LWC component dramatically. That's the only thing I could imagine might cause an indexing loop.Here's another build with that minor change and the case-insensitive filename index version number incremental to ensure that gets re-indexed automatically.
If that causes another indexing issue, please completely rebuild indices. I just tried this on a few projects including some complex LWC ones with no issues, so I want to rule out a weird index state.
-
reporter No dice, same symptoms :(
-
reporter hmm looks like we can blame the an interaction with the Kotlin plugin, disabling it (and Ktor plugin) lets the indexing complete.
Log from infinite looping run:
2020-09-17 11:09:41,559 [ 0] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------ 2020-09-17 11:09:41,579 [ 20] INFO - #com.intellij.idea.Main - IDE: IntelliJ IDEA (build #IU-202.6397.94, 27 Jul 2020 18:40) 2020-09-17 11:09:41,580 [ 21] INFO - #com.intellij.idea.Main - OS: Windows 10 (10.0, amd64) 2020-09-17 11:09:41,580 [ 21] INFO - #com.intellij.idea.Main - JRE: 11.0.7+10-b944.20 (JetBrains s.r.o.) 2020-09-17 11:09:41,580 [ 21] INFO - #com.intellij.idea.Main - JVM: 11.0.7+10-b944.20 (OpenJDK 64-Bit Server VM) 2020-09-17 11:09:41,581 [ 22] INFO - #com.intellij.idea.Main - JVM Args: exit -Xms128m -Xmx4096m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Dide.no.platform.update=true -Djdk.attach.allowAttachSelf=true -Didea.plugins.path=C:\\Users\\lex\\AppData\\Local\\JetBrains\\Toolbox\\apps\\IDEA-U\\ch-0\\202.6397.94.plugins -Djb.vmOptionsFile=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94.vmoptions -Djava.library.path=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin;C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin\server -Didea.jre.check=true -Dide.native.launcher=true -Didea.vendor.name=JetBrains -Didea.paths.selector=IntelliJIdea2020.2 -XX:ErrorFile=C:\Users\lex\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\lex\java_error_in_idea.hprof 2020-09-17 11:09:41,581 [ 22] INFO - #com.intellij.idea.Main - library path: C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin;C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin\server 2020-09-17 11:09:41,581 [ 22] INFO - #com.intellij.idea.Main - boot library path: C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\bin 2020-09-17 11:09:41,583 [ 24] INFO - #com.intellij.idea.Main - locale=en_AU JNU=Cp1252 file.encoding=Cp1252 idea.config.path=C:\Users\lex\AppData\Roaming\JetBrains\IntelliJIdea2020.2 idea.system.path=C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2 idea.plugins.path=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94.plugins idea.log.path=C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2\log 2020-09-17 11:09:41,711 [ 152] INFO - #com.intellij.idea.Main - JNA library (64-bit) loaded in 128 ms 2020-09-17 11:09:41,723 [ 164] INFO - penapi.util.io.win32.IdeaWin32 - Native filesystem for Windows is operational 2020-09-17 11:09:42,621 [ 1062] INFO - ntellij.idea.ApplicationLoader - CPU cores: 16; ForkJoinPool.commonPool: java.util.concurrent.ForkJoinPool@5bdaf64b[Running, parallelism = 15, size = 0, active = 0, running = 0, steals = 0, tasks = 0, submissions = 0]; factory: com.intellij.concurrency.IdeaForkJoinWorkerThreadFactory@73a552ef 2020-09-17 11:09:42,634 [ 1075] WARN - llij.ide.plugins.PluginManager - Problems found loading plugins: The Spring Messaging (id=com.intellij.spring.messaging, path=~\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\plugins\SpringMessaging) plugin Non-optional dependency plugin com.intellij.spring is disabled 2020-09-17 11:09:42,672 [ 1113] INFO - llij.ide.plugins.PluginManager - Loaded bundled plugins: IDEA CORE (202.6397.94), com.intellij.platform.images (202.6397.94), JetBrains maven model api classes (202.6397.94), JetBrains Repository Search (202.6397.94), HTML Tools (202.6397.94), Refactor-X (202.6397.94), XPathView + XSLT (202.6397.94), XSLT Debugger (202.6397.94), IDE Settings Sync (202.6397.94), Configuration Script (202.6397.94), Copyright (202.6397.94), CSS (202.6397.94), Less (202.6397.94), Sass (202.6397.94), Gradle (202.6397.94), Java (202.6397.94), JUnit (202.6397.94), Dependency Structure Matrix (202.6397.94), Java IDE Customization (202.6397.94), Java Bytecode Decompiler (202.6397.94), Recommenders for Java and Python (202.6397.94), Windows 10 Light Theme (202.6397.94), Properties (202.6397.94), Ant (202.6397.94), UML (202.6397.94), Guice (202.6397.94), Java Internationalization (202.6397.94), UI Designer (202.6397.94), Resource Bundle Editor (202.6397.94), Machine Learning Code Completion (202.6397.94), Task Management (202.6397.94), Time Tracking (202.6397.94), FTP/SFTP Connectivity (ex. Remote Hosts Access) (202.6397.94), Webp Support (202.6397.94), EditorConfig (202.6397.94), Terminal (202.6397.94), Git (202.6397.94), ChangeReminder (202.6397.94), Next File Prediction (202.6397.94), GitHub (202.6397.94), Performance Testing (202.6397.94), SSH Remote Run (202.6397.94), WSL Support Framework (202.6397.94), Shell Script (202.6397.94), TextMate Bundles (202.6397.94), YAML (202.6397.94), Microservices Application Configuration (202.6397.94), Settings Repository (202.6397.94), IntelliLang (202.6397.94), TestNG (202.6397.94), Code Coverage for Java (202.6397.94), Groovy (202.6397.94), Maven (202.6397.94), Gradle-Java (202.6397.94), Plugin DevKit (202.6397.94), Gradle Extension (202.6397.94), Frameworks Starters (202.6397.94), Gradle-Maven (202.6397.94), Reactive Streams (Reactor, RxJava) (202.6397.94), JavaFX (202.6397.94), Markdown (202.6397.94), Grazie (202.6397.94), JavaScript and TypeScript (202.6397.94), JavaScript Intention Power Pack (202.6397.94), TSLint (202.6397.94), Database Tools and SQL (202.6397.94), Java SQL Libraries (202.6397.94), Persistence Frameworks (202.6397.94), Java EE Platform (202.6397.94), JavaScript Debugger (202.6397.94), Node.js (202.6397.94), Spy-js (202.6397.94), Java EE: Persistence (JPA) (202.6397.94), Java EE: Enterprise Java Beans (EJB) (202.6397.94), Java EE: Bean Validation (202.6397.94), Java EE: Contexts and Dependency Injection (CDI) (202.6397.94), Helidon (202.6397.94), Java EE: Batch Applications (202.6397.94), Java EE: Application Servers Integration (202.6397.94), GlassFish (202.6397.94), Java EE: Web/Servlets (202.6397.94), Java Server Pages (JSP) (202.6397.94), Java EE: Server Faces (JSF) (202.6397.94), Application Servers View (202.6397.94), Java EE: Message Service (JMS) (202.6397.94), Java EE: WebSockets (202.6397.94), Java EE: Web Services (JAX-WS) (202.6397.94), Maven Extension (202.6397.94), HTTP Client (202.6397.94), Java EE: RESTful Web Services (JAX-RS) (202.6397.94), Quarkus (202.6397.94), Micronaut (202.6397.94), Java HTTP Clients (202.6397.94), OpenAPI Specifications (202.6397.94) 2020-09-17 11:09:42,672 [ 1113] INFO - llij.ide.plugins.PluginManager - Loaded custom plugins: JWT (JSON Web Token) Analyzer (0.11), ASM Bytecode Outline 2017 (0.3.5.2017.12.16), String Manipulation (8.4.191.000.0), Illuminated Cloud 2 (2.1.3.9), Kotlin (1.4.0-release-IJ2020.2-1), Ktor (1.4.0), Rainbow Brackets (6.10) 2020-09-17 11:09:42,891 [ 1332] INFO - m.intellij.util.io.StorageLock - lower=100; upper=500; buffer=10; max=3967 2020-09-17 11:09:42,900 [ 1341] INFO - tellij.util.io.FileChannelUtil - un-interruptible FileChannel-s will be used for indexes 2020-09-17 11:09:42,919 [ 1360] INFO - til.net.ssl.CertificateManager - Default SSL context initialized 2020-09-17 11:09:42,962 [ 1403] INFO - cation.options.RegistryManager - Registry values changed by user: BSP.experimental.feature.enabled = false, BSP.system.in.process = true, SBT.system.in.process = true, documentation.show.toolbar = true, java.completion.argument.hints.internal = false 2020-09-17 11:09:42,979 [ 1420] INFO - rains.ide.BuiltInServerManager - built-in server started, port 63342 2020-09-17 11:09:42,984 [ 1425] INFO - lij.diagnostic.DebugLogManager - Set DEBUG for the following categories: com.illuminatedcloud.intellij.builder.ForceComMetadataApiDeployer, com.illuminatedcloud.intellij.builder.ForceComSfdxDeployer, com.illuminatedcloud.intellij.builder.ForceComToolingApiDeployer, com.illuminatedcloud.intellij.builder.ForceComSfdxDeployer 2020-09-17 11:09:42,984 [ 1425] INFO - lij.diagnostic.DebugLogManager - Set TRACE for the following categories: com.illuminatedcloud.intellij.builder.ForceComSfdxMetadataDeployer, com.illuminatedcloud.util.CommandLineUtil, com.illuminatedcloud.intellij.sfdx.SfdxUtil, com.illuminatedcloud.intellij.builder.ForceComSfdxRetriever 2020-09-17 11:09:42,995 [ 1436] INFO - com.intellij.ide.ui.UISettings - Loaded: fontSize=13, fontScale=1.0; restored: fontSize=13, fontScale=1.0 2020-09-17 11:09:43,042 [ 1483] INFO - com.intellij.ide.ui.UISettings - Loaded: fontSize=14, fontScale=1.0; restored: fontSize=14, fontScale=1.0 2020-09-17 11:09:43,042 [ 1483] INFO - com.intellij.ide.ui.UISettings - Loaded: fontSize=14, fontScale=1.0; restored: fontSize=14, fontScale=1.0 2020-09-17 11:09:43,042 [ 1483] INFO - com.intellij.ide.ui.UISettings - Loaded: fontSize=12, fontScale=1.0; restored: fontSize=12, fontScale=1.0 2020-09-17 11:09:43,158 [ 1599] INFO - cloudConfig.CloudConfigManager - === Start: JBA_NOT_CONNECTED (2ms) === 2020-09-17 11:09:43,158 [ 1599] INFO - cloudConfig.CloudConfigManager - === Start.updateInitStatus === 2020-09-17 11:09:43,161 [ 1602] INFO - gs.impl.UpdateCheckerComponent - channel: release 2020-09-17 11:09:43,169 [ 1610] INFO - cloudConfig.CloudConfigManager - === calculateInitStatus === 2020-09-17 11:09:43,244 [ 1685] INFO - BridgeProjectLifecycleListener - Using legacy project model to open project 2020-09-17 11:09:43,303 [ 1744] INFO - pl.local.NativeFileWatcherImpl - Starting file watcher: C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\bin\fsnotifier64.exe 2020-09-17 11:09:43,318 [ 1759] INFO - pl.local.NativeFileWatcherImpl - Native file watcher is operational. 2020-09-17 11:09:43,612 [ 2053] INFO - rojectCodeStyleSettingsManager - Initialized from default code style settings. 2020-09-17 11:09:43,625 [ 2066] INFO - eStyle.CustomCodeStyleSettings - Loaded com.illuminatedcloud.intellij.formatter.ApexCodeStyleSettings 2020-09-17 11:09:43,626 [ 2067] INFO - eStyle.CustomCodeStyleSettings - Loaded org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings 2020-09-17 11:09:43,627 [ 2068] INFO - eStyle.CustomCodeStyleSettings - Loaded org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings 2020-09-17 11:09:43,628 [ 2069] INFO - eStyle.CustomCodeStyleSettings - Loaded com.intellij.psi.codeStyle.JavaCodeStyleSettings 2020-09-17 11:09:43,630 [ 2071] INFO - eStyle.CommonCodeStyleSettings - Loaded Apex common code style settings 2020-09-17 11:09:43,630 [ 2071] INFO - eStyle.CommonCodeStyleSettings - Loaded HTML common code style settings 2020-09-17 11:09:43,630 [ 2071] INFO - eStyle.CommonCodeStyleSettings - Loaded Java common code style settings 2020-09-17 11:09:43,630 [ 2071] INFO - eStyle.CommonCodeStyleSettings - Loaded XML common code style settings 2020-09-17 11:09:44,145 [ 2586] INFO - leBasedIndexDataInitialization - Initialization done: 1223 2020-09-17 11:09:44,201 [ 2642] WARN - ij.coverage.ApexCoverageEngine - Code coverage report generation is unavailable because jetbrains.coverage.report.html.HTMLReportBuilder and/or freemarker.template.Configuration could not be found in the classpath. 2020-09-17 11:09:44,202 [ 2643] WARN - ij.coverage.ApexCoverageEngine - To resolve this issue add coverage-report.jar and freemarker.jar to the application or plugin classpath. 2020-09-17 11:09:44,208 [ 2649] INFO - ellij.license.LicenseValidator - Initializing Illuminated Cloud 2.1.3.9 (20200916214918). 2020-09-17 11:09:44,208 [ 2649] INFO - ellij.license.LicenseValidator - Validating certificate. 2020-09-17 11:09:44,209 [ 2650] INFO - ellij.license.LicenseValidator - Successfully validated certificate. 2020-09-17 11:09:44,209 [ 2650] INFO - llij.license.SignedJarVerifier - Verifying application contents. 2020-09-17 11:09:44,247 [ 2688] INFO - exImpl$StubIndexInitialization - Initialization done: 101 2020-09-17 11:09:44,490 [ 2931] INFO - llij.license.SignedJarVerifier - Successfully verified application contents. 2020-09-17 11:09:44,490 [ 2931] INFO - ellij.license.LicenseValidator - Initializing the licensing system. 2020-09-17 11:09:44,520 [ 2961] INFO - ellij.license.LicenseValidator - Validating libraries. 2020-09-17 11:09:44,548 [ 2989] INFO - ellij.license.LicenseValidator - Successfully validated libraries. 2020-09-17 11:09:44,578 [ 3019] INFO - .cloudConfig.CloudConfigClient - === Get cloud config URL: https://cloudconfig.jetbrains.com/cloudconfig/files === 2020-09-17 11:09:44,813 [ 3254] INFO - j.ide.script.IdeStartupScripts - 0 startup script(s) found 2020-09-17 11:09:45,789 [ 4230] INFO - cloudConfig.CloudConfigManager - === calculateInitStatus.value: JBA_NOT_CONNECTED === 2020-09-17 11:09:46,715 [ 5156] INFO - penapi.application.Experiments - Experimental features enabled for user: wsl.p9.support, wsl.p9.show.roots.in.file.chooser, inline.browse.button, linux.native.menu, recent.and.edited.files.together, show.create.new.element.in.popup, copy.reference.popup, new.large.text.file.viewer, property.value.inplace.editing, terminal.shell.command.handling 2020-09-17 11:09:46,825 [ 5266] INFO - PerformancePlugin - Performance Plugin is in silent mode 2020-09-17 11:09:47,038 [ 5479] INFO - ge.ExternalProjectsDataStorage - Load external projects data in 6 millis (read time: 0) 2020-09-17 11:09:47,076 [ 5517] WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID: ASM) or icon jar:file:/C:/Users/lex/AppData/Local/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.6397.94.plugins/ASM-BO/lib/ASM-BO.jar!/images/asm.gif 2020-09-17 11:09:47,078 [ 5519] INFO - .diagnostic.PerformanceWatcher - Pushing JS language level to 2 libraries took 26ms; general responsiveness: ok; EDT responsiveness: ok 2020-09-17 11:09:47,110 [ 5551] WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID: Illuminated Cloud) or icon jar:file:/C:/Users/lex/AppData/Local/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.6397.94.plugins/IlluminatedCloud2/lib/IlluminatedCloud.jar!/images/IlluminatedCloudLogo_16x16.png 2020-09-17 11:09:47,112 [ 5553] WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID: Anonymous Apex) or icon IconWrapperWithTooltip:jar:file:/C:/Users/lex/AppData/Local/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.6397.94/lib/icons.jar!/debugger/console.svg 2020-09-17 11:09:47,113 [ 5554] WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID: SOQL Query) or icon IconWrapperWithTooltip:jar:file:/C:/Users/lex/AppData/Local/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.6397.94/lib/icons.jar!/nodes/dataSchema.svg 2020-09-17 11:09:47,113 [ 5554] WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID: Log Analyzer) or icon IconWrapperWithTooltip:jar:file:/C:/Users/lex/AppData/Local/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.6397.94/lib/icons.jar!/nodes/logFolder.svg 2020-09-17 11:09:47,123 [ 5564] INFO - cloudConfig.CloudConfigManager - === StatusBar.update another widget: null === 2020-09-17 11:09:47,123 [ 5564] INFO - cloudConfig.CloudConfigManager - === End.updateInitStatus === 2020-09-17 11:09:47,224 [ 5665] INFO - ProjectRootPostStartUpActivity - C:/Users/lex/git-trausteknik/LWCsuperBadge/.idea case-sensitivity: expected=false actual=false 2020-09-17 11:09:47,250 [ 5691] INFO - .diagnostic.PerformanceWatcher - Post-startup activities under progress took 372ms; general responsiveness: ok; EDT responsiveness: 1/1 sluggish 2020-09-17 11:09:47,338 [ 5779] INFO - cloudConfig.CloudConfigManager - === StatusBar.start create === 2020-09-17 11:09:47,366 [ 5807] INFO - CompilerWorkspaceConfiguration - Available processors: 16 2020-09-17 11:09:47,510 [ 5951] INFO - tor.impl.FileEditorManagerImpl - Project opening took 4286 ms 2020-09-17 11:09:47,518 [ 5959] INFO - llij.database.util.SqlDialects - SQL dialects initialized in 0 ms 2020-09-17 11:09:47,533 [ 5974] INFO - .diagnostic.PerformanceWatcher - Pushing properties took 39ms; general responsiveness: ok; EDT responsiveness: ok 2020-09-17 11:09:47,878 [ 6319] WARN - com.intellij.util.xmlb.Binding - no accessors for org.jetbrains.kotlin.idea.highlighter.KotlinDefaultHighlightingSettingsProvider 2020-09-17 11:09:48,754 [ 7195] INFO - indexing.UnindexedFilesUpdater - Unindexed files update canceled 2020-09-17 11:09:48,757 [ 7198] INFO - pl.ProjectRootManagerComponent - project roots have changed (trace_hash = 1982087417) java.lang.Throwable at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.synchronizeRoots(ProjectRootManagerComponent.java:306) at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.java:210) at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.java:428) at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.access$200(ProjectRootManagerImpl.java:37) at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.rootsChanged(ProjectRootManagerImpl.java:96) at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.makeRootsChange(ProjectRootManagerImpl.java:371) at org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged$doNotifyRootsChanged$1$1.invoke(ScriptClassRootsUpdater.kt:231) at org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged$doNotifyRootsChanged$1$1.invoke(ScriptClassRootsUpdater.kt:50) at org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt$sam$com_intellij_openapi_util_Computable$0.compute(ApplicationUtils.kt) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runWriteAction$16(ApplicationImpl.java:989) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:968) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:989) at org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt.runWriteAction(ApplicationUtils.kt:30) at org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged$doNotifyRootsChanged$1.run(ScriptClassRootsUpdater.kt:226) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLaterOnWriteThread$11(ApplicationImpl.java:791) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47) at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:188) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 2020-09-17 11:09:48,769 [ 7210] INFO - .diagnostic.PerformanceWatcher - Pushing properties took 3ms; general responsiveness: ok; EDT responsiveness: ok 2020-09-17 11:09:48,951 [ 7392] INFO - .diagnostic.PerformanceWatcher - Pushing JS language level to 2 libraries took 0ms; general responsiveness: ok; EDT responsiveness: ok 2020-09-17 11:09:52,334 [ 10775] INFO - gnostic.WindowsDefenderChecker - Windows Defender status: not used 2020-09-17 11:12:17,377 [ 155818] WARN - ConfigurableExtensionPointUtil - ignore deprecated groupId: language for id: preferences.language.Kotlin.scripting 2020-09-17 11:12:17,487 [ 155928] INFO - eStyle.CustomCodeStyleSettings - Loaded com.intellij.psi.formatter.xml.XmlCodeStyleSettings 2020-09-17 11:12:17,501 [ 155942] INFO - eStyle.CommonCodeStyleSettings - Loaded Java common code style settings 2020-09-17 11:12:17,509 [ 155950] INFO - eStyle.CustomCodeStyleSettings - Loaded com.intellij.psi.formatter.xml.XmlCodeStyleSettings 2020-09-17 11:12:17,509 [ 155950] INFO - eStyle.CommonCodeStyleSettings - Loaded Java common code style settings 2020-09-17 11:12:17,514 [ 155955] INFO - eStyle.CommonCodeStyleSettings - Loaded Java common code style settings 2020-09-17 11:12:38,812 [ 177253] INFO - lij.ide.plugins.DynamicPlugins - Plugin org.jetbrains.kotlin is not unload-safe because of unresolved extension org.jetbrains.kotlin.defaultErrorMessages 2020-09-17 11:12:38,824 [ 177265] WARN - tions.ex.ConfigurableCardPanel - auto-dispose 'Plugins' id=preferences.pluginManager 2020-09-17 11:12:40,863 [ 179304] INFO - mponents.impl.stores.StoreUtil - saveProjectsAndApp took 1745 ms 2020-09-17 11:12:41,032 [ 179473] INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 172263ms; general responsiveness: ok; EDT responsiveness: ok 2020-09-17 11:12:41,034 [ 179475] INFO - indexing.UnindexedFilesUpdater - Unindexed files update started: 86528 files to index 2020-09-17 11:12:41,037 [ 179478] INFO - indexing.UnindexedFilesUpdater - Using 4 threads for indexing 2020-09-17 11:12:41,038 [ 179479] INFO - indexing.UnindexedFilesUpdater - Unindexed files update canceled 2020-09-17 11:12:41,071 [ 179512] INFO - pl.local.NativeFileWatcherImpl - Watcher terminated with exit code 0 2020-09-17 11:12:41,072 [ 179513] INFO - .impl.FileTypeDetectionService - 0 auto-detected files. Detection took 0 ms 2020-09-17 11:12:41,073 [ 179514] INFO - org.jetbrains.io.BuiltInServer - web server stopped 2020-09-17 11:12:41,085 [ 179526] INFO - il.indexing.FileBasedIndexImpl - START INDEX SHUTDOWN 2020-09-17 11:12:41,108 [ 179549] INFO - tellij.psi.stubs.StubIndexImpl - StubIndexExtension-s were unloaded 2020-09-17 11:12:41,138 [ 179579] INFO - il.indexing.FileBasedIndexImpl - END INDEX SHUTDOWN 2020-09-17 11:12:41,138 [ 179579] INFO - newvfs.persistent.PersistentFS - VFS dispose started 2020-09-17 11:12:41,158 [ 179599] INFO - newvfs.persistent.PersistentFS - VFS dispose completed 2020-09-17 11:12:41,159 [ 179600] INFO - stubs.SerializationManagerImpl - Start shutting down C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2\index\rep.names 2020-09-17 11:12:41,159 [ 179600] INFO - stubs.SerializationManagerImpl - Finished shutting down C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2\index\rep.names 2020-09-17 11:12:41,163 [ 179604] INFO - #com.intellij.util.Restarter - run restarter: [C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\bin\restarter.exe, 20084, 1, C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\bin\idea64.exe] 2020-09-17 11:12:41,671 [ 180112] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE SHUTDOWN ------------------------------------------------------
-
reporter LWC HTML performance does appear to be drastically improved though (will continue my work and update if that changes)
-
repo owner That's really strange about the Kotlin plugin. I'll investigate a bit. I'm glad to hear that initial results around LWC performance seem promising, though. Let me know how it goes.
-
repo owner - changed status to resolved
Delivered in 2.1.4.0.
-
reporter Did you manage to reproduce the Kotlin plugin interaction issue?
-
repo owner I have not. I have Kotlin enabled in my primary test/debug IDE instance and have not seen that issue. Are you able to reproduce it consistently? In other words, does it happen if you re-enable the Kotlin plugin?
-
reporter Yep, every time I open an SFDX project with the Kotlin plugin enabled, indexing never seems to complete
2020-09-19 20:36:01,567 [ 0] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------ 2020-09-19 20:36:01,588 [ 21] INFO - #com.intellij.idea.Main - IDE: IntelliJ IDEA (build #IU-202.6397.94, 27 Jul 2020 18:40) 2020-09-19 20:36:01,589 [ 22] INFO - #com.intellij.idea.Main - OS: Windows 10 (10.0, amd64) 2020-09-19 20:36:01,589 [ 22] INFO - #com.intellij.idea.Main - JRE: 11.0.7+10-b944.20 (JetBrains s.r.o.) 2020-09-19 20:36:01,589 [ 22] INFO - #com.intellij.idea.Main - JVM: 11.0.7+10-b944.20 (OpenJDK 64-Bit Server VM) 2020-09-19 20:36:01,589 [ 22] INFO - #com.intellij.idea.Main - JVM Args: exit -Xms128m -Xmx4096m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Dide.no.platform.update=true -Djdk.attach.allowAttachSelf=true -Didea.plugins.path=C:\\Users\\lex\\AppData\\Local\\JetBrains\\Toolbox\\apps\\IDEA-U\\ch-0\\202.6397.94.plugins -Djb.vmOptionsFile=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94.vmoptions -Djava.library.path=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin;C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin\server -Didea.jre.check=true -Dide.native.launcher=true -Didea.vendor.name=JetBrains -Didea.paths.selector=IntelliJIdea2020.2 -XX:ErrorFile=C:\Users\lex\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\lex\java_error_in_idea.hprof 2020-09-19 20:36:01,590 [ 23] INFO - #com.intellij.idea.Main - library path: C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin;C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\\bin\server 2020-09-19 20:36:01,590 [ 23] INFO - #com.intellij.idea.Main - boot library path: C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94\jbr\bin 2020-09-19 20:36:01,591 [ 24] INFO - #com.intellij.idea.Main - locale=en_AU JNU=Cp1252 file.encoding=Cp1252 idea.config.path=C:\Users\lex\AppData\Roaming\JetBrains\IntelliJIdea2020.2 idea.system.path=C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2 idea.plugins.path=C:\Users\lex\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.6397.94.plugins idea.log.path=C:\Users\lex\AppData\Local\JetBrains\IntelliJIdea2020.2\log 2020-09-19 20:36:01,718 [ 151] INFO - #com.intellij.idea.Main - JNA library (64-bit) loaded in 126 ms 2020-09-19 20:36:01,731 [ 164] INFO - penapi.util.io.win32.IdeaWin32 - Native filesystem for Windows is operational 2020-09-19 20:36:02,628 [ 1061] INFO - ntellij.idea.ApplicationLoader - CPU cores: 16; ForkJoinPool.commonPool: java.util.concurrent.ForkJoinPool@4c071f03[Running, parallelism = 15, size = 0, active = 0, running = 0, steals = 0, tasks = 0, submissions = 0]; factory: com.intellij.concurrency.IdeaForkJoinWorkerThreadFactory@10a77e82 2020-09-19 20:36:02,673 [ 1106] INFO - llij.ide.plugins.PluginManager - Loaded bundled plugins: IDEA CORE (202.6397.94), com.intellij.platform.images (202.6397.94), JetBrains maven model api classes (202.6397.94), JetBrains Repository Search (202.6397.94), HTML Tools (202.6397.94), Refactor-X (202.6397.94), XPathView + XSLT (202.6397.94), XSLT Debugger (202.6397.94), IDE Settings Sync (202.6397.94), Configuration Script (202.6397.94), Copyright (202.6397.94), CSS (202.6397.94), Less (202.6397.94), Sass (202.6397.94), Gradle (202.6397.94), Java (202.6397.94), JUnit (202.6397.94), Dependency Structure Matrix (202.6397.94), Java IDE Customization (202.6397.94), Java Bytecode Decompiler (202.6397.94), Recommenders for Java and Python (202.6397.94), Windows 10 Light Theme (202.6397.94), Properties (202.6397.94), Ant (202.6397.94), UML (202.6397.94), Guice (202.6397.94), Java Internationalization (202.6397.94), UI Designer (202.6397.94), Resource Bundle Editor (202.6397.94), Machine Learning Code Completion (202.6397.94), Task Management (202.6397.94), Time Tracking (202.6397.94), FTP/SFTP Connectivity (ex. Remote Hosts Access) (202.6397.94), Webp Support (202.6397.94), EditorConfig (202.6397.94), Terminal (202.6397.94), Git (202.6397.94), ChangeReminder (202.6397.94), Next File Prediction (202.6397.94), GitHub (202.6397.94), Performance Testing (202.6397.94), SSH Remote Run (202.6397.94), WSL Support Framework (202.6397.94), Shell Script (202.6397.94), TextMate Bundles (202.6397.94), YAML (202.6397.94), Microservices Application Configuration (202.6397.94), Settings Repository (202.6397.94), IntelliLang (202.6397.94), TestNG (202.6397.94), Code Coverage for Java (202.6397.94), Groovy (202.6397.94), Maven (202.6397.94), Gradle-Java (202.6397.94), Plugin DevKit (202.6397.94), Gradle Extension (202.6397.94), Frameworks Starters (202.6397.94), Gradle-Maven (202.6397.94), Reactive Streams (Reactor, RxJava) (202.6397.94), JavaFX (202.6397.94), Markdown (202.6397.94), Grazie (202.6397.94), JavaScript and TypeScript (202.6397.94), JavaScript Intention Power Pack (202.6397.94), TSLint (202.6397.94), Database Tools and SQL (202.6397.94), Java SQL Libraries (202.6397.94), Persistence Frameworks (202.6397.94), Java EE Platform (202.6397.94), JavaScript Debugger (202.6397.94), Node.js (202.6397.94), Spy-js (202.6397.94), Java EE: Persistence (JPA) (202.6397.94), Java EE: Enterprise Java Beans (EJB) (202.6397.94), Java EE: Bean Validation (202.6397.94), Java EE: Contexts and Dependency Injection (CDI) (202.6397.94), Helidon (202.6397.94), Java EE: Batch Applications (202.6397.94), Java EE: Application Servers Integration (202.6397.94), GlassFish (202.6397.94), Java EE: Web/Servlets (202.6397.94), Java Server Pages (JSP) (202.6397.94), Java EE: Server Faces (JSF) (202.6397.94), Application Servers View (202.6397.94), Java EE: Message Service (JMS) (202.6397.94), Java EE: WebSockets (202.6397.94), Java EE: Web Services (JAX-WS) (202.6397.94), Maven Extension (202.6397.94), HTTP Client (202.6397.94), Java EE: RESTful Web Services (JAX-RS) (202.6397.94), Quarkus (202.6397.94), Micronaut (202.6397.94), Java HTTP Clients (202.6397.94), OpenAPI Specifications (202.6397.94) 2020-09-19 20:36:02,673 [ 1106] INFO - llij.ide.plugins.PluginManager - Loaded custom plugins: JWT (JSON Web Token) Analyzer (0.11), ASM Bytecode Outline 2017 (0.3.5.2017.12.16), String Manipulation (8.4.191.000.0), Illuminated Cloud 2 (2.1.4.0), Kotlin (1.4.10-release-IJ2020.2-1), Rainbow Brackets (6.11)
-
reporter - attached idea.log
-
reporter left it in the background for a while (and played a game) eventually it seemed to finish, but same slowness happens when I exit IDEA and start it again
-
repo owner - attached IlluminatedCloud2.zip
Thanks, Xander. So here's what I'm seeing:
I'm unable to see the invocation counts, but my guess is that they're going to be exorbitantly high for
SfdxUtil.getConfigFiles
and thereforeFile.lastModified
.What doesn't make sense at all is why the presence or absence of the Kotlin plugin would come into play here. The only thing that would make sense is that the Kotlin SDK files are being passed to
CaseSensitiveFilenameIndex
for processing and either there are many of them, or getting last modified information for those files is more expensive. If that's the case, though, why don't I see this since I have that plugin installed and enabled?Anyway, I modified the hotspot method a bit so that the most expensive part (according to that profiling snapshot) doesn't get invoked until we do a VERY lightweight first-pass analysis on the file. I've attached a build with that change here. Can you see if it addresses the issue?
-
reporter That certainly speeds things up to a normal indexing speed. There’s still the notice that source roots have changed in the log, but as you say, no idea why that happens.
The only Kotlin files visible to this project would be kts (kotlin scripting) files in scratches / IDE consoles
-
repo owner Okay, good. I'll include that in the next build, so for now just sit tight on the one that was attached. I see the "source root have changed" message as well. It happens when IC sets the OST as the SDK (which it's doing in one case when it doesn't necessarily need to do so). I believe they added that log message recently or promoted the logging level to something more visible. It's just informational, though, even if it's logged with a stack trace. I'll report it to JetBrains and ask them to quiet it down, but I'll also see if I can eliminate any extraneous updates to the SDK.
Thanks for helping to confirm and for providing all the diagnostic data along the way!
-
reporter Running with a sampler (with the plugin repo version) that tracks hits shows your assumption is quite likely, the count keeps climbing!
Thanks for sticking with it and poking at a solution
-
repo owner I'd actually be very curious to know what those files are given that it only happens when the Kotlin plugin is enabled. Obviously this is addressed now--or at least will be in the next official build--but if you share that same curiosity I can provide a build with some logging in that area that will list the files it's being asked to index. Again, just for curiosity's sake. I'm also totally fine staying where we are right now.
-
reporter Sure, I can run a special build, might help us work out what kind of weird edge case I’m running into
-
repo owner - attached IlluminatedCloud2.zip
Okay, add the following to Help>Diagnostic Tools>Debug Log Settings and then install this latest build:
#com.illuminatedcloud.intellij.index.CaseInsensitiveFilenameIndex
This is likely going to result in significant additional logging, so once indexing completes gather up all of the logs (they'll almost certainly roll over), send them to me for review, and remove the entry above so that your logs go back to a reasonable state.
-
reporter - attached logs.zip
ok, that is SUPER weird, it's indexing a plugin SDK which I attached a source zip to (the SDK itself no longer exists, points to a dead home path)
Perhaps some scratch files got assigned to it, or it's getting set as default before the IC2 one?
-
reporter This is all default though
-
reporter Setting a default/project JDK there makes it index that JDK plus all the current running IDE & Plugin jars.
Have you ever used IDE scripting console? Tools → IDE Scripting Console → select a language.
One used to be SOL with regards to autocomplete, but it seems to have changed in the last year or so (not that I’ve really used it in that time)
-
repo owner Not sure what to say about the plugin SDK sources. I'd have to see the
.iml
file to see how the dependencies are set up. Perhaps it still has the sources configured as a module dependency?That makes me feel better in terms of overall exposure of this issue, though. Doesn't sound like most users would ever have seen this particular issue, and of course later this week I'll release a fix for it anyway. It also helps explain why I haven't seen it even with the Kotlin plugin enabled. Evidently one of your projects has some weird, stale dependencies that are still being processed. I'll be curious to hear what you find examining the module config file.
No, I've not played with the IDE scripting console.
-
reporter - attached module-and-dot-idea.zip
I've been using the same project I emailed you to do the diagnostics - hadn't even looked at the IDE console files when I started having the issue
-
repo owner Hmmmm...yeah, that's super strange if it's sending in plugin SDK sources for indexing. I assume those sources are located in a completely separate filesystem location from the project, no? If so, we might want to bring this to JetBrains' attention. I know there's one other issue they're addressing right now where when you have multiple projects open and one starts updating files, the other projects start indexing (and restart indexing, and restart indexing, etc.) as those file events happen even though they're not under any of their configured source roots. Could be related...
-
repo owner In case you're curious, here's the issue I referenced in the previous comment:
https://youtrack.jetbrains.com/issue/IDEA-250149
I've added a description of the behavior you seem to be seeing. Let me know if I've conveyed the behavior incorrectly.
-
reporter Yep, that’s a valid summary - they’re stored in the
appdata/roaming/<ide>
folder (though they do show up in the file tree, under Scratches and Consoles), and shouldn’t really be part of the ‘project’ -
repo owner FYI, 2.1.4.1 includes the most recent optimization for the case-insensitive filename index.
- Log in to comment
Hmmmm....that's strange. Do you happen to have a component that reproduces this behavior consistently that could be shared (even if some level of obfuscation/anonymization is required)?