klesun / deep-assoc-completion

A phpstorm plugin for associative array key typing and completion
Other
267 stars 17 forks source link

PHPStorm crushed #185

Closed mrcolts closed 3 years ago

mrcolts commented 3 years ago

PHPStorm crushed with trace:

java.lang.Throwable: Stub ids not found for key in index = php.namespace.shortName, file = <ControllerPath>, file type = com.jetbrains.php.lang.PhpFileType@20b993ed, indexed file type = com.jetbrains.php.lang.PhpFileType@20b993ed
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
    at com.intellij.psi.stubs.StubProcessingHelper.retrieveStubIdList(StubProcessingHelper.java:65)
    at com.intellij.psi.stubs.StubIndexImpl.lambda$processElements$4(StubIndexImpl.java:323)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:322)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:92)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:80)
    at com.jetbrains.php.PhpIndexImpl.getElements(PhpIndexImpl.java:565)
    at com.jetbrains.php.PhpIndexImpl.getNamespacesByName(PhpIndexImpl.java:314)
    at com.jetbrains.php.completion.PhpCompletionContributor$PhpStringLiteralClassesCompletionProvider.addMatchedSubNamespaces(PhpCompletionContributor.java:2514)
    at com.jetbrains.php.completion.PhpFunctionNamesInStringLiteralCompletionProvider.addCompletions(PhpFunctionNamesInStringLiteralCompletionProvider.java:56)
    at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:34)
    at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
    at com.jetbrains.php.completion.PhpCompletionContributor.fillCompletionVariants(PhpCompletionContributor.java:459)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:77)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:154)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:146)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
    at org.klesun.deep_assoc_completion.helpers.GuiUtil.runSafeRemainingContributors(GuiUtil.java:64)
    at org.klesun.deep_assoc_completion.completion_providers.UsedStrValsPvdr.addCompletions(UsedStrValsPvdr.java:305)
    at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:34)
    at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:77)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:154)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:146)
    at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
    at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:89)
    at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:34)
    at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:77)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:60)
    at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:133)
    at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:41)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$12(CompletionProgressIndicator.java:863)
    at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:163)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
    at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:574)
    at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:162)
    at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:859)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:847)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$6(CodeCompletionHandlerBase.java:353)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:172)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
    at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:170)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:345)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:95)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:91)
    at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
    at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:265)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
klesun commented 3 years ago

I start to hate myself for using runSafeRemainingContributors()...

Please see https://github.com/klesun/deep-assoc-completion/issues/174

The exception belongs to some other plugin I'm interacting with, possibly rainbow-csv.

Please disable interaction of deep-assoc with other plugins by unchecking:

File -> Settings -> Languages & Frameworks -> PHP -> deep-assoc-completion -> Adjust Other Plugin Completions

image

After that you should see the real stack trace of plugin that causes it next time error happens.

(if you could leave some feedback after unchecking the flag, that would be super nice)