fan-tom / intellij-codeowners

Support of CODEOWNERS file in Intellij-based IDEs
MIT License
20 stars 9 forks source link

NullPointerException at CodeownersChangesGroupingPolicy.getParentNodeFor #202

Open fan-tom opened 10 months ago

fan-tom commented 10 months ago

Stacktrace

  Unhandled exception in [StandaloneCoroutine{Cancelling}@527de29e, Dispatchers.Default]

  java.lang.NullPointerException
at com.github.fantom.codeowners.grouping.changes.CodeownersChangesGroupingPolicy.getParentNodeFor(CodeownersChangesGroupingPolicy.kt:129)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.lambda$insertChangeNode$3(TreeModelBuilder.java:429)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:923)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:76)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChangeNode(TreeModelBuilder.java:428)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChangeNode(TreeModelBuilder.java:413)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChanges(TreeModelBuilder.java:164)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.setChanges(TreeModelBuilder.java:151)
at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.setChanges(TreeModelBuilder.java:144)
at com.intellij.vcs.log.ui.frame.VcsLogChangesBrowser$MyVcsLogAsyncChangesTreeModel.buildTreeModelSync(VcsLogChangesBrowser.kt:231)
at com.intellij.vcs.log.ui.frame.VcsLogChangesBrowser$MyVcsLogAsyncChangesTreeModel.buildTreeModelSync(VcsLogChangesBrowser.kt:217)
at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel$buildTreeModel$2.invoke(AsyncChangesTree.kt:246)
at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel$buildTreeModel$2.invoke(AsyncChangesTree.kt:245)
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.coroutineToIndicator(coroutines.kt:290)
at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel.buildTreeModel(AsyncChangesTree.kt:245)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree.handleRequest(AsyncChangesTree.kt:165)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree.access$handleRequest(AsyncChangesTree.kt:26)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invokeSuspend(AsyncChangesTree.kt:132)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invoke(AsyncChangesTree.kt)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invoke(AsyncChangesTree.kt)
at com.intellij.openapi.vcs.changes.ui.AsyncChangesTreeKt$asyncCollectLatest$2$2.invokeSuspend(AsyncChangesTree.kt:314)
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: [StandaloneCoroutine{Cancelled}@527de29e, Dispatchers.Default]

v0.6.0 IntelliJ IDEA 2023.2.5 (Ultimate Edition) Build #IU-232.10227.8, built on November 9, 2023 Runtime version: 17.0.9+7-b1000.46 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 14.1.1 Kotlin: 232-1.9.20-release-507-IJ10072.27

fan-tom commented 9 months ago
Unhandled exception in [StandaloneCoroutine{Cancelling}@70884c7b, Dispatchers.Default]

java.lang.NullPointerException
    at com.github.fantom.codeowners.grouping.changes.CodeownersChangesGroupingPolicy.getParentNodeFor(CodeownersChangesGroupingPolicy.kt:133)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.lambda$insertChangeNode$3(TreeModelBuilder.java:429)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:909)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:65)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChangeNode(TreeModelBuilder.java:428)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChangeNode(TreeModelBuilder.java:413)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.insertChanges(TreeModelBuilder.java:164)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.setChanges(TreeModelBuilder.java:151)
    at com.intellij.openapi.vcs.changes.ui.TreeModelBuilder.setChanges(TreeModelBuilder.java:144)
    at com.intellij.vcs.log.ui.frame.VcsLogChangesBrowser$MyVcsLogAsyncChangesTreeModel.buildTreeModelSync(VcsLogChangesBrowser.kt:233)
    at com.intellij.vcs.log.ui.frame.VcsLogChangesBrowser$MyVcsLogAsyncChangesTreeModel.buildTreeModelSync(VcsLogChangesBrowser.kt:219)
    at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel$buildTreeModel$2.invoke(AsyncChangesTree.kt:246)
    at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel$buildTreeModel$2.invoke(AsyncChangesTree.kt:245)
    at com.intellij.openapi.progress.CoroutinesKt.jobToIndicator$lambda$1(coroutines.kt:454)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:73)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:192)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:73)
    at com.intellij.openapi.progress.CoroutinesKt.jobToIndicator(coroutines.kt:442)
    at com.intellij.openapi.progress.CoroutinesKt.contextToIndicator(coroutines.kt:414)
    at com.intellij.openapi.progress.CoroutinesKt.coroutineToIndicator(coroutines.kt:351)
    at com.intellij.openapi.vcs.changes.ui.SimpleAsyncChangesTreeModel.buildTreeModel(AsyncChangesTree.kt:245)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree.handleRequest(AsyncChangesTree.kt:165)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree.access$handleRequest(AsyncChangesTree.kt:26)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invokeSuspend(AsyncChangesTree.kt:132)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invoke(AsyncChangesTree.kt)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTree$start$1$1.invoke(AsyncChangesTree.kt)
    at com.intellij.openapi.vcs.changes.ui.AsyncChangesTreeKt$asyncCollectLatest$2$2.invokeSuspend(AsyncChangesTree.kt:314)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    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: [StandaloneCoroutine{Cancelled}@70884c7b, Dispatchers.Default]

v0.7.0 Build #IU-233.11799.300, built on December 12, 2023 Happens when I clock on a commit in the Git Log