If we have bad version from telemetry it crashes language servers.
Here a sampel of stack trace:
Error while consuming LSP 'textDocument/semanticTokens/full' request
java.util.concurrent.ExecutionException: com.redhat.devtools.lsp4ij.server.CannotStartServerException: Error while starting language server 'qute' (pid=null)
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
at com.redhat.devtools.lsp4ij.internal.CompletableFutures.waitUntilDone(CompletableFutures.java:119)
at com.redhat.devtools.lsp4ij.features.semanticTokens.LSPSemanticTokensHighlightVisitor.visit(LSPSemanticTokensHighlightVisitor.java:92)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$runHighlightVisitorsForInjected$9(InjectedGeneralHighlightingPass.java:311)
at com.redhat.devtools.lsp4ij.features.semanticTokens.LSPSemanticTokensHighlightVisitor.analyze(LSPSemanticTokensHighlightVisitor.java:66)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.runHighlightVisitorsForInjected(InjectedGeneralHighlightingPass.java:308)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$addInjectedPsiHighlights$7(InjectedGeneralHighlightingPass.java:246)
at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.lambda$runAnnotatorsAsync$2(AnnotatorRunner.java:75)
at com.intellij.concurrency.JobLauncherImpl.procInOrderAsync(JobLauncherImpl.java:537)
at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.runAnnotatorsAsync(AnnotatorRunner.java:70)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.addInjectedPsiHighlights(InjectedGeneralHighlightingPass.java:245)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$collectInformationWithProgress$3(InjectedGeneralHighlightingPass.java:86)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$processInjectedPsiFiles$5(InjectedGeneralHighlightingPass.java:184)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUpInner(InjectedLanguageUtilBase.java:251)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.lambda$probeElementsUp$0(InjectedLanguageUtilBase.java:217)
at com.intellij.openapi.application.impl.ReadActionCacheImpl$allowInWriteAction$1.invoke(ReadActionCacheImpl.kt:41)
at com.intellij.openapi.application.impl.ReadActionCacheImpl$allowInWriteAction$1.invoke(ReadActionCacheImpl.kt:41)
at com.intellij.openapi.application.impl.ReadActionCacheImpl.allowInWriteAction(ReadActionCacheImpl.kt:29)
at com.intellij.openapi.application.impl.ReadActionCacheImpl.allowInWriteAction(ReadActionCacheImpl.kt:41)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUp(InjectedLanguageUtilBase.java:216)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.enumerate(InjectedLanguageUtilBase.java:159)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:379)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$processInjectedPsiFiles$6(InjectedGeneralHighlightingPass.java:182)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:139)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:152)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:152)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:152)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:152)
at com.intellij.openapi.application.impl.RwLockHolder.tryRunReadAction(RwLockHolder.kt:310)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:958)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:96)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:108)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:86)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:199)
at com.intellij.openapi.application.impl.RwLockHolder.executeByImpatientReader(RwLockHolder.kt:491)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:86)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: com.redhat.devtools.lsp4ij.server.CannotStartServerException: Error while starting language server 'qute' (pid=null)
at com.redhat.devtools.lsp4ij.LanguageServerWrapper.lambda$start$11(LanguageServerWrapper.java:316)
at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.helpAsyncBlocker(ForkJoinPool.java:1253)
at java.base/java.util.concurrent.ForkJoinPool.helpAsyncBlocker(ForkJoinPool.java:2237)
at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1933)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
... 47 more
Caused by: java.lang.NoSuchMethodError: 'void com.redhat.devtools.intellij.telemetry.core.service.TelemetryMessageBuilder.<init>(com.intellij.openapi.extensions.PluginDescriptor)'
at com.redhat.devtools.intellij.quarkus.TelemetryService.lambda$new$0(TelemetryService.java:29)
at com.redhat.devtools.intellij.telemetry.core.util.Lazy.get(Lazy.java:27)
at com.redhat.devtools.intellij.quarkus.TelemetryService.instance(TelemetryService.java:33)
at com.redhat.devtools.intellij.qute.lsp.QuteServer.<init>(QuteServer.java:56)
at com.redhat.devtools.intellij.qute.lsp.QuteLanguageServerFactory.createConnectionProvider(QuteLanguageServerFactory.java:27)
at com.redhat.devtools.lsp4ij.server.definition.extension.ExtensionLanguageServerDefinition.createConnectionProvider(ExtensionLanguageServerDefinition.java:54)
at com.redhat.devtools.lsp4ij.LanguageServerWrapper.lambda$start$0(LanguageServerWrapper.java:223)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
... 53 more
If we have bad version from telemetry it crashes language servers.
Here a sampel of stack trace: