maximehamm / tzatziki

Cucumber y Tzatziki
26 stars 7 forks source link

IntelliJ IDEA freeze when using code completion #41

Closed CrazyCoder closed 1 year ago

CrazyCoder commented 1 year ago

See https://youtrack.jetbrains.com/issue/IDEA-305186.

"ApplicationImpl pooled thread 68" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

    at com.intellij.psi.codeStyle.TypoTolerantMatcher$ErrorState.affects(TypoTolerantMatcher.java:829)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.toLowerCase(TypoTolerantMatcher.java:266)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.charEquals(TypoTolerantMatcher.java:439)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.indexOfWordStart(TypoTolerantMatcher.java:642)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findNextPatternCharOccurrence(TypoTolerantMatcher.java:409)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:380)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:561)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:561)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchFragment(TypoTolerantMatcher.java:497)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:351)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchSkippingWords(TypoTolerantMatcher.java:395)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:356)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.findLongestMatchingPrefix(TypoTolerantMatcher.java:560)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchInsideFragment(TypoTolerantMatcher.java:536)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchFragment(TypoTolerantMatcher.java:497)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchWildcards(TypoTolerantMatcher.java:351)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher$Session.matchingFragments(TypoTolerantMatcher.java:313)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher.matchingFragments(TypoTolerantMatcher.java:233)
    at com.intellij.psi.codeStyle.TypoTolerantMatcher.matches(TypoTolerantMatcher.java:219)
    at com.intellij.codeInsight.completion.impl.CamelHumpMatcher.prefixMatches(CamelHumpMatcher.java:88)
    at com.intellij.codeInsight.completion.impl.CamelHumpMatcher.prefixMatchersInternal(CamelHumpMatcher.java:110)
    at com.intellij.codeInsight.completion.impl.CamelHumpMatcher.prefixMatches(CamelHumpMatcher.java:105)
    at com.intellij.codeInsight.completion.CompletionResult.wrap(CompletionResult.java:24)
    at com.intellij.codeInsight.completion.BaseCompletionService$BaseCompletionResultSet.addElement(BaseCompletionService.java:118)
    at io.nimbly.tzatziki.editor.TzScenarioCompletion.complete(TzScenarioCompletion.kt:119)
    at io.nimbly.tzatziki.editor.TzScenarioCompletion$1.addCompletions(TzScenarioCompletion.kt:160)
    at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:25)
    at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:157)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:59)
    at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:135)
    at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:43)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$11(CompletionProgressIndicator.java:870)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator$$Lambda$6164/0x0000000802e08958.run(Unknown Source)
    at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:202)
    at com.intellij.util.indexing.FileBasedIndex$$Lambda$6122/0x0000000802de19f0.compute(Unknown Source)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
    at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:663)
    at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:201)
    at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:866)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:854)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$6(CodeCompletionHandlerBase.java:352)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$$Lambda$6158/0x0000000802e079b8.run(Unknown Source)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:172)
    at com.intellij.codeInsight.completion.AsyncCompletion$$Lambda$6159/0x0000000802e07c00.run(Unknown Source)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
    at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:170)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:344)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$$Lambda$6155/0x0000000802e072e0.run(Unknown Source)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:95)
    at com.intellij.codeInsight.completion.AsyncCompletion$$Lambda$6157/0x0000000802e07770.run(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
    at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$672/0x00000008007d32d8.run(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
    at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$673/0x00000008007d3520.compute(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:91)
    at com.intellij.codeInsight.completion.AsyncCompletion$$Lambda$6156/0x0000000802e07528.run(Unknown Source)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:297)
    at java.base@17.0.4.1/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base@17.0.4.1/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@17.0.4.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base@17.0.4.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base@17.0.4.1/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    at java.base@17.0.4.1/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    at java.base@17.0.4.1/java.security.AccessController.executePrivileged(AccessController.java:776)
    at java.base@17.0.4.1/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base@17.0.4.1/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    at java.base@17.0.4.1/java.lang.Thread.run(Thread.java:833)
maximehamm commented 1 year ago

Hello Serge, Michael Cucumber+ try to prepare completion to feed Gherkin table cell... It uses other cell's content as possible completion.It seams that Intellij is not happy of some of those completion... Can you please provide a Gherkin file that produces this issue ? Maxime

maximehamm commented 1 year ago

Closing. Issue. Serge, don't hesitate to re-open it if you can send me a file to reproduce this issue. Maxime