carymrobbins / intellij-haskforce

Haskell plugin for IntelliJ IDEA
http://carymrobbins.github.io/intellij-haskforce/
Apache License 2.0
485 stars 41 forks source link

Stack Manager #436

Closed carymrobbins closed 1 year ago

carymrobbins commented 3 years ago

Bug found when running in the plugin

java.lang.NullPointerException
    at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:204)
    at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:204)
    at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:35)
    at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
    at com.haskforce.haskell.project.externalSystem.stack.StackAutoImportAware$.$anonfun$getAffectedExternalProjectFiles$5(StackAutoImportAware.scala:88)
    at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    at com.haskforce.haskell.project.externalSystem.stack.StackAutoImportAware$.getAffectedExternalProjectFiles(StackAutoImportAware.scala:74)
    at com.intellij.openapi.externalSystem.service.project.autoimport.CachingExternalSystemAutoImportAware.getAffectedExternalProjectFiles(CachingExternalSystemAutoImportAware.java:47)
    at com.haskforce.haskell.project.externalSystem.stack.StackManager.getAffectedExternalProjectFiles(StackManager.scala:75)
    at com.intellij.openapi.externalSystem.service.project.autoimport.ProjectAware.getExternalProjectFiles(ProjectAware.kt:34)
    at com.intellij.openapi.externalSystem.service.project.autoimport.ProjectAware.getSettingsFiles(ProjectAware.kt:31)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker.collectSettingsFiles(ProjectSettingsTracker.kt:44)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker.access$collectSettingsFiles(ProjectSettingsTracker.kt:28)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$1.invoke(ProjectSettingsTracker.kt:188)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$1.invoke(ProjectSettingsTracker.kt:28)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderImpl$buildProvider$1.collectRelevantFiles(AsyncFilesChangesProviderImpl.kt:49)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderBase$submitFilesCollecting$1.call(AsyncFilesChangesProviderBase.kt:54)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderBase$submitFilesCollecting$1.call(AsyncFilesChangesProviderBase.kt:13)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:508)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:456)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:77)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:153)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:114)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:56)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:56)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:111)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:77)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:473)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:397)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:215)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:26)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:194)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:207)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:183)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
carymrobbins commented 3 years ago

Another bug

java.lang.IllegalArgumentException: Argument for @NotNull parameter 'project' of com/intellij/openapi/externalSystem/service/notification/ExternalSystemNotificationManager.getInstance must not be null
    at com.intellij.openapi.externalSystem.service.notification.ExternalSystemNotificationManager.$$$reportNull$$$0(ExternalSystemNotificationManager.java)
    at com.intellij.openapi.externalSystem.service.notification.ExternalSystemNotificationManager.getInstance(ExternalSystemNotificationManager.java)
    at com.haskforce.haskell.project.externalSystem.stack.StackProjectImportNotificationListener.onTaskOutput(StackProjectImportNotificationListener.scala:20)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl$onTaskOutput$1.invoke(ExternalSystemProgressNotificationManagerImpl.kt:45)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl$onTaskOutput$1.invoke(ExternalSystemProgressNotificationManagerImpl.kt:15)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl$forEachListener$1.invoke(ExternalSystemProgressNotificationManagerImpl.kt:88)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl$forEachListener$1.invoke(ExternalSystemProgressNotificationManagerImpl.kt:15)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl$sam$java_util_function_Consumer$0.accept(ExternalSystemProgressNotificationManagerImpl.kt)
    at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.forEachExtensionSafe(ExtensionProcessingHelper.java:33)
    at com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe(ExtensionPointName.java:49)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl.forEachListener(ExternalSystemProgressNotificationManagerImpl.kt:88)
    at com.intellij.openapi.externalSystem.service.remote.ExternalSystemProgressNotificationManagerImpl.onTaskOutput(ExternalSystemProgressNotificationManagerImpl.kt:45)
    at com.intellij.openapi.externalSystem.service.AbstractExternalSystemFacadeImpl$SwallowingNotificationListener.onTaskOutput(AbstractExternalSystemFacadeImpl.java:236)
    at com.haskforce.haskell.project.externalSystem.stack.StackProjectInfoResolver.LOG(StackProjectInfoResolver.scala:31)
    at com.haskforce.haskell.project.externalSystem.stack.StackProjectInfoResolver.syncCabalFiles(StackProjectInfoResolver.scala:57)
    at com.haskforce.haskell.project.externalSystem.stack.StackProjectInfoResolver.$anonfun$resolve$1(StackProjectInfoResolver.scala:39)
    at com.haskforce.haskell.project.externalSystem.stack.StackProjectResolver$WorkManager.$anonfun$compute$1(StackProjectResolver.scala:71)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
carymrobbins commented 3 years ago
java.lang.NullPointerException
    at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:204)
    at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:204)
    at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:35)
    at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
    at com.haskforce.haskell.project.externalSystem.stack.StackAutoImportAware$.$anonfun$getAffectedExternalProjectFiles$5(StackAutoImportAware.scala:88)
    at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    at com.haskforce.haskell.project.externalSystem.stack.StackAutoImportAware$.getAffectedExternalProjectFiles(StackAutoImportAware.scala:74)
    at com.intellij.openapi.externalSystem.service.project.autoimport.CachingExternalSystemAutoImportAware.getAffectedExternalProjectFiles(CachingExternalSystemAutoImportAware.java:47)
    at com.haskforce.haskell.project.externalSystem.stack.StackManager.getAffectedExternalProjectFiles(StackManager.scala:75)
    at com.intellij.openapi.externalSystem.service.project.autoimport.ProjectAware.getExternalProjectFiles(ProjectAware.kt:34)
    at com.intellij.openapi.externalSystem.service.project.autoimport.ProjectAware.getSettingsFiles(ProjectAware.kt:31)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker.collectSettingsFiles(ProjectSettingsTracker.kt:44)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker.access$collectSettingsFiles(ProjectSettingsTracker.kt:28)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$1.invoke(ProjectSettingsTracker.kt:200)
    at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$1.invoke(ProjectSettingsTracker.kt:28)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderImpl$buildProvider$1.collectRelevantFiles(AsyncFilesChangesProviderImpl.kt:49)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderBase$submitFilesCollecting$1.call(AsyncFilesChangesProviderBase.kt:54)
    at com.intellij.openapi.externalSystem.autoimport.changes.AsyncFilesChangesProviderBase$submitFilesCollecting$1.call(AsyncFilesChangesProviderBase.kt:13)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:521)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:468)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:113)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:59)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:110)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:486)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)