redhat-developer / intellij-quarkus

IntelliJ Quarkus Tools
Eclipse Public License 2.0
118 stars 47 forks source link

% in project name causes error in IntelliJ #1252

Closed snowmeow27 closed 10 months ago

snowmeow27 commented 10 months ago
  Unhandled exception in [CoroutineName(DocumentationBrowser requests), StandaloneCoroutine{Cancelling}@4f695fe0, Dispatchers.Default]

  java.util.UnknownFormatConversionException: Conversion = 'Q'
at java.base/java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2855)
at java.base/java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2891)
at java.base/java.util.Formatter.parse(Formatter.java:2747)
at java.base/java.util.Formatter.format(Formatter.java:2671)
at java.base/java.util.Formatter.format(Formatter.java:2625)
at java.base/java.lang.String.format(String.java:4186)
at com.google.common.util.concurrent.ThreadFactoryBuilder.format(ThreadFactoryBuilder.java:182)
at com.google.common.util.concurrent.ThreadFactoryBuilder.setNameFormat(ThreadFactoryBuilder.java:70)
at com.redhat.devtools.intellij.lsp4ij.LanguageServerWrapper.<init>(LanguageServerWrapper.java:228)
at com.redhat.devtools.intellij.lsp4ij.LanguageServerWrapper.<init>(LanguageServerWrapper.java:209)
at com.redhat.devtools.intellij.lsp4ij.LanguageServiceAccessor.collectLanguageServersFromDefinition(LanguageServiceAccessor.java:211)
at com.redhat.devtools.intellij.lsp4ij.LanguageServiceAccessor.getMatchedLanguageServersWrappers(LanguageServiceAccessor.java:173)
at com.redhat.devtools.intellij.lsp4ij.LanguageServiceAccessor.getLanguageServers(LanguageServiceAccessor.java:63)
at com.redhat.devtools.intellij.lsp4ij.operations.documentation.LSPTextHoverForFile.initiateHoverRequest(LSPTextHoverForFile.java:107)
at com.redhat.devtools.intellij.lsp4ij.operations.documentation.LSPTextHoverForFile.getHoverContent(LSPTextHoverForFile.java:57)
at com.redhat.devtools.intellij.lsp4ij.operations.documentation.LSPDocumentationProvider.generateDoc(LSPDocumentationProvider.java:95)
at com.intellij.lang.documentation.CompositeDocumentationProvider.generateDoc(CompositeDocumentationProvider.java:135)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget.localDocHtml(PsiElementDocumentationTarget.kt:112)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget.localDoc(PsiElementDocumentationTarget.kt:97)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget.doComputeDocumentation(PsiElementDocumentationTarget.kt:84)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget.access$doComputeDocumentation(PsiElementDocumentationTarget.kt:28)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget$computeDocumentation$1.invoke(PsiElementDocumentationTarget.kt:78)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget$computeDocumentation$1.invoke(PsiElementDocumentationTarget.kt:77)
at com.intellij.openapi.progress.CoroutinesKt.jobToIndicator$lambda$1(coroutines.kt:386)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:71)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:71)
at com.intellij.openapi.progress.CoroutinesKt.jobToIndicator(coroutines.kt:374)
at com.intellij.openapi.progress.CoroutinesKt.contextToIndicator(coroutines.kt:347)
at com.intellij.openapi.progress.CoroutinesKt.blockingContextToIndicator(coroutines.kt:340)
at com.intellij.lang.documentation.psi.PsiElementDocumentationTarget.computeDocumentation(PsiElementDocumentationTarget.kt:77)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2$documentationResult$1.invoke(impl.kt:29)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2$documentationResult$1.invoke(impl.kt:28)
at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:105)
at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:14)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94)
at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:41)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:39)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:133)
at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:37)
at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:248)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:34)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:76)
at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:63)
at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:14)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invokeSuspend(InternalReadAction.kt:42)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.kt)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:38)
at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:38)
at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15)
at com.intellij.openapi.application.CoroutinesKt.constrainedReadAction(coroutines.kt:58)
at com.intellij.openapi.application.CoroutinesKt.readAction(coroutines.kt:25)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invokeSuspend(impl.kt:28)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invoke(impl.kt)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invoke(impl.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.platform.backend.documentation.impl.ImplKt.computeDocumentation(impl.kt:27)
at com.intellij.lang.documentation.ide.impl.DocumentationPage.loadPage(DocumentationPage.kt:32)
at com.intellij.lang.documentation.ide.impl.DocumentationBrowser.handleBrowserRequest(DocumentationBrowser.kt:90)
at com.intellij.lang.documentation.ide.impl.DocumentationBrowser.access$handleBrowserRequest(DocumentationBrowser.kt:23)
at com.intellij.lang.documentation.ide.impl.DocumentationBrowser$1$1.invokeSuspend(DocumentationBrowser.kt:50)
at com.intellij.lang.documentation.ide.impl.DocumentationBrowser$1$1.invoke(DocumentationBrowser.kt)
at com.intellij.lang.documentation.ide.impl.DocumentationBrowser$1$1.invoke(DocumentationBrowser.kt)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invokeSuspend(Merge.kt:217)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Merge.kt)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invokeSuspend(Merge.kt:34)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Merge.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:44)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1.emit(Merge.kt:33)
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382)
at kotlinx.coroutines.flow.SharedFlowImpl.collect(SharedFlow.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invokeSuspend(Merge.kt:27)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(Merge.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest.flowCollect(Merge.kt:25)
at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl(ChannelFlow.kt:157)
at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo(ChannelFlow.kt)
at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(DocumentationBrowser requests), StandaloneCoroutine{Cancelled}@4f695fe0, Dispatchers.Default]

System Information

IntelliJ IDEA 2023.2.4 (Ultimate Edition)
Build #IU-232.10203.10, built on October 24, 2023
Runtime version: 17.0.8.1+7-b1000.32 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4058M
Cores: 16
Registry:
    ide.experimental.ui=true

Non-Bundled Plugins:
    nl.bixie.intellij.uikit (1.1.3)
    com.redhat.devtools.intellij.telemetry (1.0.0.44)
    com.intellij.plugins.vscodekeymap (232.8660.88)
    com.intellij.kubernetes (232.10203.2)
    com.intellij.javaee.ejb (232.10072.27)
    com.redhat.devtools.intellij.quarkus (1.29.0.583)
    org.sonarlint.idea (10.0.0.76954)
    mobi.hsz.idea.gitignore (4.5.2)
    com.microsoft.tooling.msservices.intellij.azure (3.81.1-2023.2)

Kotlin: 232-1.9.0-IJ10203.10

Issue happens when opening a Quarkus Project

fbricon commented 10 months ago

What's the name / path of your project?

snowmeow27 commented 10 months ago

Hm.... interesting - tested with various Projects. All others have the structure c:\dev\this_is_my_project But with c:\Dev\Kinderliste\Junior-Children-Management%20Web%20Angular\junior-children-management-web\ it does produce the error. I assume the %20 is the issue (its a Project checked out from git Repository)?

fbricon commented 10 months ago

I could reproduce this issue with a project stored under %Quarkus

java.util.UnknownFormatConversionException: Conversion = 'Q'
    at java.base/java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2855)
    at java.base/java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2891)
    at java.base/java.util.Formatter.parse(Formatter.java:2747)
    at java.base/java.util.Formatter.format(Formatter.java:2671)
    at java.base/java.util.Formatter.format(Formatter.java:2625)
    at java.base/java.lang.String.format(String.java:4186)
    at com.google.common.util.concurrent.ThreadFactoryBuilder.format(ThreadFactoryBuilder.java:182)

so yeah the % in the project name (not necessarily parent folders apparently) is enough to break the extension.

snowmeow27 commented 10 months ago

Ah ok, Thank you - i will rename the folder then

fbricon commented 10 months ago

@snowmeow27 please try this CI build, by following these instructions and let us know if that fixes your issues.

fbricon commented 10 months ago

Sorry this is the proper zip: https://github.com/redhat-developer/intellij-quarkus/suites/17855041259/artifacts/1024484593