carymrobbins/intellij-haskforce

IntelliJ IDEA 2020.2 fails to open after installing the plugin

Closed this issue · 3 comments

After installing on IntelliJ IDEA, it stops opening with the following traceback:

should be called at least in the state COMPONENTS_LOADED, the current state is: CONFIGURATION_STORE_INITIALIZED
Current violators count: 1



java.lang.Throwable
	at com.intellij.diagnostic.LoadingState.logStateError(LoadingState.java:55)
	at com.intellij.diagnostic.LoadingState.checkOccurred(LoadingState.java:51)
	at com.intellij.psi.tree.IElementType.<init>(IElementType.java:91)
	at com.haskforce.psi.HaskellElementType.<init>(HaskellElementType.java:11)
	at com.haskforce.psi.HaskellTypes.<clinit>(HaskellTypes.java:12)
	at com.haskforce.HaskellLanguage.<clinit>(HaskellLanguage.java:32)
	at com.haskforce.HaskellFileType.<init>(HaskellFileType.java:13)
	at com.haskforce.HaskellFileType.<clinit>(HaskellFileType.java:10)
	at com.haskforce.HaskellFileTypeFactory.createFileTypes(HaskellFileTypeFactory.java:10)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.lambda$initStandardFileTypes$0(FileTypeManagerImpl.java:360)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processWithPluginDescriptor(ExtensionPointImpl.java:292)
	at com.intellij.openapi.extensions.ExtensionPointName.processWithPluginDescriptor(ExtensionPointName.java:157)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.initStandardFileTypes(FileTypeManagerImpl.java:358)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.<init>(FileTypeManagerImpl.java:228)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:44)
	at com.intellij.serviceContainer.PlatformComponentManagerImpl.instantiateClassWithConstructorInjection(PlatformComponentManagerImpl.kt:505)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:52)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:39)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:110)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:72)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:65)
	at com.intellij.serviceContainer.PlatformComponentManagerImpl$preloadServices$future$1.run(PlatformComponentManagerImpl.kt:622)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:222)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:201)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:193)
	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)

Here is info about IntelliJ IDEA version and make:

IntelliJ IDEA 2019.3.3 (Ultimate Edition)
Build #IU-193.6494.35, built on February 11, 2020
Licensed to XXXXXXX
Subscription is active until XXXXXXX
Runtime version: 11.0.5+10-b520.38 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.2
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 12
Registry: 
Non-Bundled Plugins: aws.toolkit, com.intellij.kubernetes, com.jetbrains.edu, com.jetbrains.lightThemePreview, tanvd.grazi

Can you upgrade to the latest IDEA 2020 and use the latest release of HaskForce?

If you are stuck on 2019.3.3, can you respond with which version of HaskForce you are running?

I've just upgraded to the latest IDEA, and still get this error.

Current violators count: 1



java.lang.Throwable
	at com.intellij.diagnostic.LoadingState.logStateError(LoadingState.java:63)
	at com.intellij.diagnostic.LoadingState.checkOccurred(LoadingState.java:59)
	at com.intellij.psi.tree.IElementType.<init>(IElementType.java:103)
	at com.haskforce.psi.HaskellElementType.<init>(HaskellElementType.java:11)
	at com.haskforce.psi.HaskellTypes.<clinit>(HaskellTypes.java:12)
	at com.haskforce.HaskellLanguage.<clinit>(HaskellLanguage.java:32)
	at com.haskforce.HaskellFileType.<init>(HaskellFileType.java:13)
	at com.haskforce.HaskellFileType.<clinit>(HaskellFileType.java:10)
	at com.haskforce.HaskellFileTypeFactory.createFileTypes(HaskellFileTypeFactory.java:10)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.lambda$initStandardFileTypes$3(FileTypeManagerImpl.java:285)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processWithPluginDescriptor(ExtensionPointImpl.java:298)
	at com.intellij.openapi.extensions.ExtensionPointName.processWithPluginDescriptor(ExtensionPointName.java:158)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.initStandardFileTypes(FileTypeManagerImpl.java:283)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.<init>(FileTypeManagerImpl.java:179)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:47)
	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:662)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:49)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:37)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60)
	at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$future$1.run(ComponentManagerImpl.kt:819)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	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.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:186)
	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)```

I think the problem here is that HaskForce <= 0.3.42 had no until-build for IDEA, so that's getting pulled in for newer IntelliJ versions. I have a PR that updates the plugin for 2020.2. Would be nice if there was a way to mark all the old versions in the plugin repo with an until-build for < 2020.