fkorotkov/intellij-thrift

Thrift Plugin 1.7.0 breaks with Intellij 2020.3.2

ankitchoudhary2209 opened this issue · 6 comments

Thrift Plugin breaks
Version : 1.7.0.

Intellij:
IntelliJ IDEA 2020.3.2 (Community Edition)
Build #IC-203.7148.57, built on January 26, 2021
Runtime version: 11.0.9.1+11-b1145.77 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.14.6
GC: ParNew, ConcurrentMarkSweep
Memory: 7981M
Cores: 8
Registry: debugger.watches.in.variables=false
Non-Bundled Plugins: claims.bold.intellij.avro, com.dmarcotte.handlebars, org.apache.pig.plugin.idea, mobi.hsz.idea.gitignore, Docker, EclipseCodeFormatter, pl.micdev.intellij.fluentsetter, org.jetbrains.plugins.hocon, uk.co.hadoopathome.intellij.avro.intellijavroviewer, org.jetbrains.kotlin, com.viartemev.requestmapper, org.intellij.scala, PythonCore

com.intellij.diagnostic.PluginException: com.intellij.compiler.server.CompileServerPlugin PluginClassLoader[PluginDescriptor(name=Thrift Support, id=com.intellij.plugins.thrift, path=/Users/ankit.choudhary/Library/Application Support/JetBrains/IdeaIC2020.3/plugins/thrift, version=1.7.0)] com.intellij.ide.plugins.cl.PluginClassLoader@a525737 [Plugin: com.intellij.plugins.thrift] at com.intellij.serviceContainer.ComponentManagerImplKt.createPluginExceptionIfNeeded(ComponentManagerImpl.kt:1040) at com.intellij.serviceContainer.ComponentManagerImplKt.access$createPluginExceptionIfNeeded(ComponentManagerImpl.kt:1) at com.intellij.serviceContainer.ComponentManagerImpl.createError(ComponentManagerImpl.kt:804) at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.createInstance(ExtensionComponentAdapter.java:40) at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.java:69) at com.intellij.openapi.extensions.impl.ExtensionPointImpl.notifyListeners(ExtensionPointImpl.java:798) at com.intellij.openapi.extensions.impl.ExtensionPointImpl.addExtensionPointListener(ExtensionPointImpl.java:826) at com.intellij.jps.impl.JpsIdePluginManagerImpl.<init>(JpsIdePluginManagerImpl.java:87) 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 java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:779) at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:721) at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1394) at org.jetbrains.jps.service.impl.JpsServiceManagerImpl.loadExtensions(JpsServiceManagerImpl.java:87) at org.jetbrains.jps.service.impl.JpsServiceManagerImpl.getExtensions(JpsServiceManagerImpl.java:58) at org.jetbrains.jps.model.serialization.JpsModelSerializerExtension.getExtensions(JpsModelSerializerExtension.java:47) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.SourceFolderBridge.getSourceRootType(ContentFolderBridge.kt:109) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.SourceFolderBridge.<init>(ContentFolderBridge.kt:36) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ContentEntryBridge$sourceFolders$2.invoke(ContentEntryBridge.kt:24) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ContentEntryBridge$sourceFolders$2.invoke(ContentEntryBridge.kt:16) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ContentEntryBridge.getSourceFolders(ContentEntryBridge.kt) at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ContentEntryBridge.getSourceFolders(ContentEntryBridge.kt:34) at com.intellij.openapi.roots.impl.RootIndex.buildRootInfo(RootIndex.java:183) at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:72) at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:56) at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:171) at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:154) at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForFile(DirectoryIndexImpl.java:181) at com.intellij.openapi.roots.impl.FileIndexBase.getInfoForFileOrDirectory(FileIndexBase.java:98) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getInfoForFileOrDirectory(ProjectFileIndexImpl.java:27) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.isUnderIgnored(ProjectFileIndexImpl.java:87) at com.intellij.openapi.roots.impl.ProjectFileIndexFacade.isUnderIgnored(ProjectFileIndexFacade.java:62) at com.intellij.psi.impl.file.impl.FileManagerImpl.isExcludedOrIgnored(FileManagerImpl.java:431) at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectoryImpl(FileManagerImpl.java:417) at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectory(FileManagerImpl.java:409) at com.intellij.psi.impl.PsiManagerImpl.findDirectory(PsiManagerImpl.java:167) at com.intellij.psi.AbstractFileViewProvider.shouldCreatePsi(AbstractFileViewProvider.java:92) at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:145) at com.intellij.psi.SingleRootFileViewProvider.getPsiInner(SingleRootFileViewProvider.java:99) at com.intellij.psi.AbstractFileViewProvider.getPsi(AbstractFileViewProvider.java:196) at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:369) at com.intellij.psi.impl.PsiManagerImpl.findFile(PsiManagerImpl.java:154) at com.android.tools.idea.AndroidPsiUtils.lambda$getPsiFileSafely$0(AndroidPsiUtils.java:72) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:871) at com.android.tools.idea.AndroidPsiUtils.getPsiFileSafely(AndroidPsiUtils.java:68) at com.android.tools.idea.common.editor.DesignerEditorProvider.accept(DesignerEditorProvider.java:75) at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.lambda$getProviders$0(FileEditorProviderManagerImpl.java:48) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:889) at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61) at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.getProviders(FileEditorProviderManagerImpl.java:44) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4(FileEditorManagerImpl.java:827) at com.intellij.openapi.fileEditor.impl.EditorsSplitters$UIBuilder.processFiles(EditorsSplitters.java:957) at com.intellij.openapi.fileEditor.impl.EditorsSplitters$UIBuilder.processFiles(EditorsSplitters.java:914) at com.intellij.openapi.fileEditor.impl.EditorsSplitters$ConfigTreeReader.process(EditorsSplitters.java:906) at com.intellij.openapi.fileEditor.impl.EditorsSplitters.restoreEditors(EditorsSplitters.java:248) at com.intellij.openapi.fileEditor.impl.OpenFilesActivity.runActivity(OpenFilesActivity.java:42) at com.intellij.ide.startup.impl.StartupManagerImpl.runStartupActivity(StartupManagerImpl.java:329) at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:303) at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$executeActivitiesFromExtensionPoint$2(StartupManagerImpl.java:201) at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processImplementations(ExtensionPointImpl.java:313) at com.intellij.ide.startup.impl.StartupManagerImpl.executeActivitiesFromExtensionPoint(StartupManagerImpl.java:182) at com.intellij.ide.startup.impl.StartupManagerImpl.runStartUpActivities(StartupManagerImpl.java:174) at com.intellij.ide.startup.impl.StartupManagerImpl.projectOpened(StartupManagerImpl.java:142) at com.intellij.openapi.project.impl.ProjectManagerExImplKt.openProject(ProjectManagerExImpl.kt:355) at com.intellij.openapi.project.impl.ProjectManagerExImplKt.access$openProject(ProjectManagerExImpl.kt:1) at com.intellij.openapi.project.impl.ProjectManagerExImpl.doOpenProject(ProjectManagerExImpl.kt:162) at com.intellij.openapi.project.impl.ProjectManagerExImpl.access$doOpenProject(ProjectManagerExImpl.kt:51) at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:111) at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:51) at com.intellij.openapi.project.impl.ProjectUiFrameAllocator$run$progressTask$1.run(ProjectFrameAllocator.kt:86) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235) 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.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) 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) Caused by: java.lang.ClassNotFoundException: com.intellij.compiler.server.CompileServerPlugin PluginClassLoader[PluginDescriptor(name=Thrift Support, id=com.intellij.plugins.thrift, path=/Users/ankit.choudhary/Library/Application Support/JetBrains/IdeaIC2020.3/plugins/thrift, version=1.7.0)] com.intellij.ide.plugins.cl.PluginClassLoader@a525737 at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:129) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:398) at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getImplementationClass(ExtensionComponentAdapter.java:75) at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.createInstance(ExtensionComponentAdapter.java:37) ... 85 more

I have the same issue, analyzing task keeps infitine:
image

Thrift
Thirft Support v1.7.0

IntelliJ
IntelliJ IDEA 2020.3.2 (Ultimate Edition)
Build #IU-203.7148.57, built on January 25, 2021
Runtime version: 11.0.9.1+11-b1145.77 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.8.0-43-generic
GC: ParNew, ConcurrentMarkSweep
Memory: 1914M
Cores: 8
Registry: scala.erase.compiler.process.jdk.once=false
Non-Bundled Plugins: com.intellij.plugins.thrift, org.intellij.scala
Current Desktop: ubuntu:GNOME

@devaldana @anky2209 Could you please provide some example thrift file on which you facing such issue

The issue is not in the thrift file itself but in the whole IntelliJ, it, for some reason, blocks IntelliJ for completing analysis step. The consequences is that you don't get any warning/highlight about syntax errors on Java files, so you can have two methods with same name signature (name, params, return type) and you don't get any alert until you try to compile.

@devaldana @anky2209 please update plugin to 1.8.0, should be fixed now

Thanks @saturn4er and @fkorotkov, it works now!

Yes, this works now... thanks.