On generating symbol table for new project, premature configuration errors are shown, crashes.

Issue #281 resolved
Cody Maines created an issue

In the latest version (1.6.9.4) new projects will display an error about symbol table not being available while it is generating the table.

The error can be ignored while the symbol tables generate. However, once the project is 'ready', attempting to open a class and click around a bit causes the IDE to crash.

Rolling back to 1.6.9.3, this issue is no longer present.

It doesn't appear to affect projects that were already existing pre-update.

Comments (18)

  1. Scott Wells repo owner

    Thanks, Cody. I'll address the issue where it shows the warning during OST generation in the next build. What you say "causes the IDE to crash", what do you mean? Complete process termination? Is there anything in idea.log that corresponds to the crash?

    Also, the latest released version is 1.6.9.3. I have 1.6.9.4 entered for the next release to tag issues here until it's released. Did you roll back to 1.6.9.3 (same version) or 1.6.9.2?

  2. Craig Ceremuga Account Deactivated

    I'm also experiencing this. Even after fully uninstalling, and manually installing 1.6.9.2, creating a brand new project with the same name as the old, i'm still experiencing what Cody outlined as well as some more. Attempting to run unit tests yields this error as well.

    Screen Shot 2016-03-10 at 9.02.51 AM.png

    Let me know if there is any more information I can provide you to assist!

  3. Nick Snyder

    Hi Scott, I have a similar issue, however my IDE doesn't force quit on me. Instead nothing ever saves to server giving me a "failed" notification. If I attempt the same code changes in Salesforce directly it saves fine. Additionally when I roll back to 1.6.9.2 it did not resolve the issue and I'm unable to complete any development tasks with intellij/IC.

  4. Nick Snyder

    So, after a bit of toying around with it - I found that when I uninstall IntelliJ and then reinstall it without uninstalling the Illuminated Cloud plugin first this issue is resolved for me. Obviously not an optimal solution but a temporary work around.

  5. Cody Maines Account Deactivated reporter

    @RoseSilverSoftware - log attached. When I say crash, I mean the app gets stuck and requires a force quit. Interacting with any of it starts the OSX mouse loading animation.

    The log contains this exception repeatedly for different classes:

    2016-03-10 09:48:24,487 [   9610]  ERROR - stubs.StubProcessingHelperBase - IdeaLoggingEvent[message=PSI and index do not match, throwable=Please report the problem to JetBrains with the file attached
     file=Apex(MyClassName.cls), file.class=class com.illuminatedcloud.intellij.filetype.ApexClassFile, file.lang=Language: Apex, modStamp=0
     tree consistent
     stub debugInfo=created in getStubTree(), no AST; with backReference
     document before=null
    latestIndexedStub=StubTree{myDebugInfo='created from index; with backReference', myRoot=ApexClassFileStub}590054964
       same size=true
       debugInfo=created from index; with backReference
     viewProvider=SingleRootFileViewProvider{myVirtualFile=file:///redacted/src/classes/MyClassName.cls, content=VirtualFileContent{size=993}}
     viewProvider stamp: 0; file stamp: 0; file modCount: 1453389929000; file length: 993
     doc saved: true; doc stamp: 0; doc size: 993; committed: true
    in many projects: false
    indexing info: indexed at 1453389929000 with size 993
    java.lang.Throwable
        at com.intellij.psi.impl.DebugUtil.currentStackTrace(DebugUtil.java:497)
        at com.intellij.psi.stubs.StubProcessingHelper.stubTreeAndIndexDoNotMatch(StubProcessingHelper.java:43)
        at com.intellij.psi.stubs.StubProcessingHelperBase.inconsistencyDetected(StubProcessingHelperBase.java:172)
        at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:154)
        at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
        at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
        at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
        at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
        at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
        at com.intellij.psi.stubs.StubIndexImpl.doProcessStubs(StubIndexImpl.java:252)
        at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
        at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:212)
        at com.intellij.psi.stubs.StubIndex.process(StubIndex.java:77)
        at com.intellij.psi.stubs.StubIndex.process(StubIndex.java:96)
        at com.intellij.psi.stubs.StubIndexImpl.get(StubIndexImpl.java:201)
        at com.intellij.psi.stubs.StubIndexImpl.get(StubIndexImpl.java:191)
        at com.intellij.psi.stubs.AbstractStubIndex.get(AbstractStubIndex.java:39)
        at com.illuminatedcloud.intellij.index.AbstractApexDeclarationStubIndex.get(SourceFile:28)
        at com.illuminatedcloud.intellij.index.AbstractApexDeclarationStubIndex.findDeclaration(SourceFile:34)
        at com.illuminatedcloud.intellij.psi.impl.ApexMethodDeclarationMixin.getBaseDeclarations(SourceFile:118)
        at com.illuminatedcloud.intellij.psi.impl.ApexTypeDeclarationMixin.getAccessibleBodyDeclarations(SourceFile:143)
        at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionMixin.tryAsContinuationOfRefExpression(SourceFile:269)
        at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionMixin.getReferencesNoCache(SourceFile:108)
        at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionMixin$1.doGetReferences(SourceFile:94)
        at com.illuminatedcloud.intellij.psi.impl.PsiReferenceCache.compute(SourceFile:66)
        at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
        at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
        at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:84)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:132)
        at com.illuminatedcloud.intellij.psi.impl.PsiReferenceCache.getReferences(SourceFile:58)
        at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionMixin.getReferences(SourceFile:86)
        at com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiReferenceServiceImpl.java:35)
        at com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(SingleTargetRequestResultProcessor.java:46)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl$14.execute(PsiSearchHelperImpl.java:739)
        at com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(LowLevelSearchUtil.java:129)
        at com.intellij.psi.impl.search.LowLevelSearchUtil.access$000(LowLevelSearchUtil.java:42)
        at com.intellij.psi.impl.search.LowLevelSearchUtil$1.execute(LowLevelSearchUtil.java:199)
        at com.intellij.psi.impl.search.LowLevelSearchUtil.processTextOccurrences(LowLevelSearchUtil.java:242)
        at com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsContainingWordInElement(LowLevelSearchUtil.java:195)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl$2$1.compute(PsiSearchHelperImpl.java:211)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl$2$1.compute(PsiSearchHelperImpl.java:208)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:963)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl$2.process(PsiSearchHelperImpl.java:208)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl$2.process(PsiSearchHelperImpl.java:205)
        at com.intellij.concurrency.JobLauncherImpl$2$1.run(JobLauncherImpl.java:148)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:446)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:443)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
        at com.intellij.concurrency.JobLauncherImpl$2.run(JobLauncherImpl.java:142)
        at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)
        at com.intellij.concurrency.JobLauncherImpl.processImmediatelyIfTooFew(JobLauncherImpl.java:158)
        at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:96)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl.processElementsWithWord(PsiSearchHelperImpl.java:186)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl.processSingleRequest(PsiSearchHelperImpl.java:914)
        at com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(PsiSearchHelperImpl.java:598)
        at com.intellij.psi.search.SearchRequestQuery.processResults(SearchRequestQuery.java:45)
        at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:75)
        at com.intellij.util.MergeQuery.processSubQuery(MergeQuery.java:84)
        at com.intellij.util.MergeQuery.forEach(MergeQuery.java:56)
        at com.intellij.util.UniqueResultsQuery.process(UniqueResultsQuery.java:66)
        at com.intellij.util.UniqueResultsQuery.forEach(UniqueResultsQuery.java:56)
        at com.intellij.util.UniqueResultsQuery.findAll(UniqueResultsQuery.java:78)
        at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.getHighlightUsages(IdentifierHighlighterPass.java:140)
        at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.highlightTargetUsages(IdentifierHighlighterPass.java:171)
        at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:106)
        at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
        at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:446)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:432)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
        at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:206)
        at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
        at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
        at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
        at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
    

    And I misspoke in my description, I rolled back using 1.6.9.2-idea14 from here (https://plugins.jetbrains.com/plugin/7831?pr=&showAllUpdates=true). But the issue started occurring again after an hour of use.

  6. Nick Snyder

    On second thought - Uninstalling IntelliJ and reinstalling doesn't seem to have resolved my save to server issues after this. I'm not really sure where to go from here, but if you need anything from the environment let me know!

  7. Scott Wells repo owner

    Thinking about the most recent changes, I did make a few that fixed issues with information that gets stored in IC's caches & indices (there was some cross-module/project contamination that I resolved). Could each of you use File>Invalidate Caches / Restart followed by Invalidate and Restart and see if the issues still exist after the IDE restarts and indices are rebuilt? If there are still problems, please send me your idea.log so I can see what's going on. So sorry for the issues!

  8. Nick Snyder

    @RoseSilverSoftware, that did not resolve my trouble, however I think my issue is different now as I can save classes, etc. but not certain components. I'll see if you already have an issue for that open and if not I'll create one (unless you prefer I leave it here.)

  9. Nick Snyder

    @RoseSilverSoftware -- Update on my component issues: It looks like I needed to update the visualforce validation and deployment settings to Compile/Deploy with the Metadata API and I too quickly blamed the issue here as the cause. Disregard me for the time being. See screenshot:

    Screen Shot 2016-03-10 at 10.32.10 AM.png

  10. Cody Maines Account Deactivated reporter

    Thanks Scott! Invalidate appears to have resolved the application seize up issue.

  11. Scott Wells repo owner

    Okay, sounds like progress overall. I'll make sure to force an index rebuild in the next release to minimize the chance of others hitting the same issue.

    Nick, are you saying that VF pages aren't deploying properly with the Tooling API but are with the Metadata API? If so, can you provide more information about the types of errors that you're getting when trying to deploy with the Tooling API? That should work and be (slightly) more efficient. I'd also recommend changing the value for On Edit Delay to something like 5,000-7,500.

  12. Nick Snyder

    Sorry for slow response, @RoseSilverSoftware. To answer you, yes VF pages are not properly deploying using the Tooling API but are with the Metadata API. Would you like me to create a new issue for that, as I don't believe it relates to this? I'll bump that On Edit Delay up as well, thanks for the tip!

    Relating to the original issue, I am able to work using the mentioned configuration. Thanks for your help!

  13. Scott Wells repo owner

    Yeah, Nick, let's move the VF problem into a separate issue here. I've been wanting to revisit that whole screen anyway now that the Tooling API supports many more metadata types. Since you do have a viable workaround of using the Metadata API there, I'll likely lump it in with that work, but I do want to know what's happening (error details and such) since it might be low-hanging fruit to address.

    Craig, thanks for letting me know that addressed it for you!

  14. Scott Wells repo owner

    Upon installation of 1.6.9.4, IC indices will be rebuilt automatically. Leaving this open for the issue where module validation occurs during OST generation.

  15. Scott Wells repo owner

    I'm pretty sure I fixed this in one of the recent updates. It was originally caused when I added backgrounding of deployment/retrieval/OST generation operations. Please feel free to reopen if these problems still occur.

  16. Log in to comment