Uploaded image for project: 'MongoDB for IntelliJ Plugin'
  1. MongoDB for IntelliJ Plugin
  2. INTELLIJ-95

NullPointerException when trying to autocomplete a collection name

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 0.0.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Environment:
      OS:
      node.js / npm versions:
      Additional info:
    • Not Needed
    • Developer Tools

      Problem Statement/Rationale

      Seeing an IntelliJ error report with the attached stack trace when trying to autocomplete collection name

      Please be sure to attach relevant logs with any sensitive data redacted.
      How to retrieve logs for: Compass; Shell

      Steps to Reproduce

      1. Open JavaDriverRepository.java file in IJ
      2. Select the data source
      3. Forget about the query in getGrade, comment it and start writing
        client.getDatabase("sample_mflix").getCollection("")
      4. Autocomplete on getCollection("") and notice the error

      Expected Results

      What do you expect to happen?

      Actual Results

      What do you observe is happening?

      Additional Notes

      Stack trace:

      java.lang.NullPointerException
          at com.mongodb.jbplugin.dialects.javadriver.glossary.JavaDriverDialectParser.attachment(JavaDriverDialectParser.kt:21)
          at com.mongodb.jbplugin.dialects.javadriver.glossary.JavaDriverDialectParser.attachment(JavaDriverDialectParser.kt:17)
          at com.mongodb.jbplugin.autocomplete.MongoDbElementPatterns.guessDatabaseAndCollection(MongoDbCompletionContributor.kt:295)
          at com.mongodb.jbplugin.autocomplete.Collection$Provider.addCompletions(MongoDbCompletionContributor.kt:98)
          at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:23)
          at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:150)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:138)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:128)
          at com.intellij.codeInsight.completion.JavaQualifierAsArgumentContributor.fillCompletionVariants(JavaQualifierAsArgumentContributor.java:46)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:150)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:138)
          at com.intellij.codeInsight.completion.JShellCompletionContributor.fillCompletionVariants(JShellCompletionContributor.java:14)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:150)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:138)
          at com.intellij.codeInsight.completion.JavaNoVariantsDelegator.fillCompletionVariants(JavaNoVariantsDelegator.java:46)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:150)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:138)
          at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:87)
          at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:23)
          at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:150)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
          at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:138)
          at de.plushnikov.intellij.plugin.completion.LombokOnXCompletionContributorFilter.fillCompletionVariants(LombokOnXCompletionContributorFilter.java:32)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:220)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
          at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:56)
          at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:130)
          at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:48)
          at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.performCompletion(CompletionServiceImpl.kt:235)
          at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$12(CompletionProgressIndicator.java:974)
          at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:225)
          at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
          at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:645)
          at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:224)
          at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:41)
          at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:970)
          at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:958)
          at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:383)
          at io.opentelemetry.context.Context.lambda$wrap$1(Context.java:212)
          at com.intellij.codeInsight.completion.CompletionThreadingKt.tryReadOrCancel$lambda$0(CompletionThreading.kt:76)
          at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:291)
          at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:965)
          at com.intellij.codeInsight.completion.CompletionThreadingKt.tryReadOrCancel(CompletionThreading.kt:74)
          at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$8(CodeCompletionHandlerBase.java:375)
          at io.opentelemetry.context.Context.lambda$wrap$1(Context.java:212)
          at com.intellij.codeInsight.completion.AsyncCompletion.startThread$lambda$1$lambda$0(CompletionThreading.kt:98)
          at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217)
          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.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202)
          at com.intellij.codeInsight.completion.AsyncCompletion.startThread$lambda$1(CompletionThreading.kt:93)
          at com.intellij.codeInsight.completion.AsyncCompletion$startThread$future$1.invokeSuspend(CompletionThreading.kt:104)
          at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
          at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
          at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125)
          at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
          at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
          at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
          at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
          at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
       

            Assignee:
            Unassigned Unassigned
            Reporter:
            himanshu.singh@mongodb.com Himanshu Singh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: