-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Environment:OS:
node.js / npm versions:
Additional info:
-
1
-
Iteration D (June 2 - June 13), Iteration E (Jun 16 - 30), Iteration F (Jun 30 - Jul 14), Iteration G (Jul 14 - 28), Iteration H (Jul 28 - Aug 11), Iteration I (Aug 11 - Aug 25), Iteration L (Sept 22 - Oct 6)
-
Not Needed
-
Developer Tools
The stacktrace shows that we weren't able to get the actual MongoDB version (returns <unknown>) so the semver parsing fails.
The issue is likely in com.mongodb.jbplugin.accessadapter.slice.BuildInfo.Slice#runBuildInfoCommandIfConnected, as there is a race condition where a connected connection shutdowns while running BuildInfo. In that case, we return an invalid empty BuildInfo, but it should be valid so it works again later in the future when we connect again.
During querying provider com.mongodb.jbplugin.codeActions.impl.RunQueryCodeActionBridge@2d4e00b1 (class com.mongodb.jbplugin.codeActions.impl.RunQueryCodeActionBridge) com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: io.github.z4kn4fein.semver.VersionFormatException: Invalid version: <unknown> at com.intellij.idea.IdeaLogger.error(IdeaLogger.java:111) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:191) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectMarkers$2(LineMarkersPass.java:110) at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:96) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectMarkers(LineMarkersPass.java:106) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:79) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:435) at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:28) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:431) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction$lambda$11(AnyThreadWriteThreadingSupport.kt:522) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:522) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1064) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$4(PassExecutorService.java:421) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:680) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:704) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:77) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:420) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:395) at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.cacheFileTypesInside(FileTypeManagerImpl.java:834) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$1(PassExecutorService.java:395) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:197) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:393) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:267) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:2326) at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:495) at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1032) at com.intellij.concurrency.JobLauncherImpl.lambda$invokeConcurrentlyUnderProgressAsync$5(JobLauncherImpl.java:126) at com.intellij.concurrency.JobLauncherImpl.safeIterate(JobLauncherImpl.java:177) at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgressAsync(JobLauncherImpl.java:113) at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:54) at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:51) at com.intellij.codeInsight.hints.codeVision.CodeVisionPass$Companion.collect(CodeVisionPass.kt:70) at com.intellij.codeInsight.hints.codeVision.CodeVisionPass$Companion.access$collect(CodeVisionPass.kt:43) at com.intellij.codeInsight.hints.codeVision.CodeVisionPass.doCollectInformation(CodeVisionPass.kt:111) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:435) at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:28) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:431) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction$lambda$11(AnyThreadWriteThreadingSupport.kt:522) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:522) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1064) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$4(PassExecutorService.java:421) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:680) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:755) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:711) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:77) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:420) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:395) at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.cacheFileTypesInside(FileTypeManagerImpl.java:834) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$1(PassExecutorService.java:395) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:197) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:393) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:267) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) Caused by: io.github.z4kn4fein.semver.VersionFormatException: Invalid version: <unknown> at io.github.z4kn4fein.semver.Version$Companion.parse(Version.kt:153) at io.github.z4kn4fein.semver.Version$Companion.parse$default(Version.kt:146) at com.mongodb.jbplugin.editor.CachedQueryService$decorateWithMetadata$1.invokeSuspend(CachedQueryService.kt:199) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:112) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$BuildersKt__BuildersKt(Builders.kt:85) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:53) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:49) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at com.mongodb.jbplugin.editor.CachedQueryService.decorateWithMetadata(CachedQueryService.kt:182) at com.mongodb.jbplugin.editor.CachedQueryService.queryAt(CachedQueryService.kt:75) at com.mongodb.jbplugin.codeActions.AbstractMongoDbCodeActionBridge.dispatchIfValidMongoDbQuery$lambda$1(AbstractMongoDbCodeActionBridge.kt:60) at com.mongodb.jbplugin.meta.CoroutinesExKt.withinReadActionBlocking$lambda$0(CoroutinesEx.kt:56) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runReadAction$lambda$9(AnyThreadWriteThreadingSupport.kt:367) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runReadAction$lambda$10(AnyThreadWriteThreadingSupport.kt:455) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runReadAction(AnyThreadWriteThreadingSupport.kt:455) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runReadAction(AnyThreadWriteThreadingSupport.kt:367) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:944) at com.mongodb.jbplugin.meta.CoroutinesExKt.withinReadActionBlocking(CoroutinesEx.kt:55) at com.mongodb.jbplugin.codeActions.AbstractMongoDbCodeActionBridge.dispatchIfValidMongoDbQuery(AbstractMongoDbCodeActionBridge.kt:52) at com.mongodb.jbplugin.codeActions.AbstractMongoDbCodeActionBridge.getLineMarkerInfo(AbstractMongoDbCodeActionBridge.kt:49) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:182) ... 62 more