SuduIDE/ideals

Error when invoking completion in PhpStorm

Closed this issue · 4 comments

PhpStorm 222.3739.61

Screenshot 2022-09-01 at 20 09 07

[Error - 20:21:52] Request textDocument/completion failed.
  Message: Internal error.
  Code: -32603 
java.util.concurrent.CompletionException: java.lang.RuntimeException: java.lang.AssertionError: Item not in lookup: item=IntellijIdeaRulezzz; lookup items=[testNow, testNow, _ENV, _ENV, _SERVER, _SERVER, _POST, _POST, argv, argv, argc, argc, HTTP_ENV_VARS, HTTP_ENV_VARS, HTTP_SESSION_VARS, HTTP_SESSION_VARS, _REQUEST, _REQUEST, HTTP_POST_FILES, HTTP_POST_FILES, GLOBALS, GLOBALS, http_response_header, http_response_header, _COOKIE, _COOKIE, php_errormsg, php_errormsg, HTTP_RAW_POST_DATA, HTTP_RAW_POST_DATA, HTTP_SERVER_VARS, HTTP_SERVER_VARS, _SESSION, _SESSION, _FILES, _FILES, HTTP_POST_VARS, HTTP_POST_VARS, HTTP_GET_VARS, HTTP_GET_VARS, _GET, _GET, IntellijIdeaRulezzz]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: java.lang.AssertionError: Item not in lookup: item=IntellijIdeaRulezzz; lookup items=[testNow, testNow, _ENV, _ENV, _SERVER, _SERVER, _POST, _POST, argv, argv, argc, argc, HTTP_ENV_VARS, HTTP_ENV_VARS, HTTP_SESSION_VARS, HTTP_SESSION_VARS, _REQUEST, _REQUEST, HTTP_POST_FILES, HTTP_POST_FILES, GLOBALS, GLOBALS, http_response_header, http_response_header, _COOKIE, _COOKIE, php_errormsg, php_errormsg, HTTP_RAW_POST_DATA, HTTP_RAW_POST_DATA, HTTP_SERVER_VARS, HTTP_SERVER_VARS, _SESSION, _SESSION, _FILES, _FILES, HTTP_POST_VARS, HTTP_POST_VARS, HTTP_GET_VARS, HTTP_GET_VARS, _GET, _GET, IntellijIdeaRulezzz]
	at com.intellij.openapi.application.impl.LaterInvocator.invokeAndWait(LaterInvocator.java:118)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:505)
	at org.rri.server.completions.CompletionService.lambda$startCompletionCalculation$2(CompletionService.java:73)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	... 8 more
Caused by: java.lang.AssertionError: Item not in lookup: item=IntellijIdeaRulezzz; lookup items=[testNow, testNow, _ENV, _ENV, _SERVER, _SERVER, _POST, _POST, argv, argv, argc, argc, HTTP_ENV_VARS, HTTP_ENV_VARS, HTTP_SESSION_VARS, HTTP_SESSION_VARS, _REQUEST, _REQUEST, HTTP_POST_FILES, HTTP_POST_FILES, GLOBALS, GLOBALS, http_response_header, http_response_header, _COOKIE, _COOKIE, php_errormsg, php_errormsg, HTTP_RAW_POST_DATA, HTTP_RAW_POST_DATA, HTTP_SERVER_VARS, HTTP_SERVER_VARS, _SESSION, _SESSION, _FILES, _FILES, HTTP_POST_VARS, HTTP_POST_VARS, HTTP_GET_VARS, HTTP_GET_VARS, _GET, _GET, IntellijIdeaRulezzz]
	at com.intellij.codeInsight.lookup.LookupArranger.itemMatcher(LookupArranger.java:66)
	at com.intellij.codeInsight.lookup.LookupArranger.prefixMatches(LookupArranger.java:72)
	at com.intellij.codeInsight.lookup.LookupArranger.updateCache(LookupArranger.java:34)
	at com.intellij.codeInsight.lookup.LookupArranger.addElement(LookupArranger.java:30)
	at org.rri.server.completions.LookupArrangerImpl.addElement(LookupArrangerImpl.java:38)
	at org.rri.server.completions.CompletionService.lambda$createCompletionResults$3(CompletionService.java:107)
	at com.intellij.codeInsight.completion.CompletionService$1.consume(CompletionService.java:127)
	at com.intellij.codeInsight.completion.CompletionService$1.consume(CompletionService.java:106)
	at com.intellij.codeInsight.completion.CompletionResultSet.passResult(CompletionResultSet.java:57)
	at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.lambda$addCompletions$0(LiveTemplateCompletionContributor.java:92)
	at com.intellij.codeInsight.completion.CompletionResultSet$1.consume(CompletionResultSet.java:167)
	at com.intellij.codeInsight.completion.CompletionResultSet$1.consume(CompletionResultSet.java:154)
	at com.intellij.codeInsight.completion.CompletionResultSet.passResult(CompletionResultSet.java:57)
	at com.intellij.codeInsight.completion.BaseCompletionService$BaseCompletionResultSet.addElement(BaseCompletionService.java:121)
	at com.jetbrains.php.completion.PhpCompletionSorting$DelegateCompletionResultSetWrapper.addElement(PhpCompletionSorting.java:691)
	at com.jetbrains.php.completion.PhpCompletionContributor$PhpUndeclaredVariableCompletionProvider.lambda$addCompletions$0(PhpCompletionContributor.java:2190)
	at com.jetbrains.php.completion.PhpCompletionContributor$5.visitElement(PhpCompletionContributor.java:2213)
	at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:273)
	at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.accept(PhpPsiElementImpl.java:76)
	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.PsiRecursiveElementWalkingVisitor.visitElement(PsiRecursiveElementWalkingVisitor.java:48)
	at com.jetbrains.php.completion.PhpCompletionContributor$5.visitElement(PhpCompletionContributor.java:2218)
	at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:273)
	at com.jetbrains.php.lang.psi.elements.impl.PhpASTElementImpl.accept(PhpASTElementImpl.java:29)
	at com.jetbrains.php.completion.PhpCompletionContributor.visitScopeHolderBranches(PhpCompletionContributor.java:2209)
	at com.jetbrains.php.completion.PhpCompletionContributor$PhpUndeclaredVariableCompletionProvider.addCompletions(PhpCompletionContributor.java:2188)
	at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:25)
	at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:157)
	at com.jetbrains.php.completion.PhpCompletionContributor.fillCompletionVariants(PhpCompletionContributor.java:491)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76)
	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:91)
	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:132)
	at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:43)
	at org.rri.server.completions.CompletionService.lambda$createCompletionResults$4(CompletionService.java:104)
	at org.rri.server.util.EditorUtil.withEditor(EditorUtil.java:49)
	at org.rri.server.completions.CompletionService.createCompletionResults(CompletionService.java:97)
	at org.rri.server.completions.CompletionService.lambda$startCompletionCalculation$0(CompletionService.java:77)
	at org.rri.server.util.MiscUtil.lambda$produceWithPsiFileInReadAction$0(MiscUtil.java:79)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:928)
	at org.rri.server.util.MiscUtil.produceWithPsiFileInReadAction(MiscUtil.java:71)
	at org.rri.server.completions.CompletionService.lambda$startCompletionCalculation$1(CompletionService.java:74)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:513)
	at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:95)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:75)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:118)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

But, it runs from phpstorm headless mode just fine.

Originally posted by @haringsrob in #23 (comment)

Fixed in new PR

@haringsrob we presumably fixed the issue. Please check it out

hey @rmzs0711 and @serganch,

I can confirm this is working perfectly now!

In addition to that (very) recently a pr landed in neovim to support tcp/rpc:

neovim/neovim#19916

Here's some screenshots of this in action:

Screenshot 2022-09-03 at 10 50 15

Screenshot 2022-09-03 at 10 50 29

Feels great so far, not sure if it always "triggers" or is slow, but it is already awesome. Will follow progress and use it as my daily driver as of now.