Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4 (harmless) duplicate PluginExceptions thrown when loading an Intellij project with MobiVM plugin enabled #782

Open
1 of 3 tasks
SonicGDX opened this issue Apr 30, 2024 · 1 comment

Comments

@SonicGDX
Copy link

Issue details

When you load up any project with the plugin enabled, around 4 of the same PluginException (and sometimes another completely different exception is also thrown but not always) is thrown due to the plugin and shown as IDE Internal Errors. Apart from a red exclamation mark in the IntelliJ UI which shows these exceptions, nothing else wrong seems to happen and actually using MobiVM works fine. When you load a different project afterwards without closing IntelliJ, this doesn't reoccur (likely because the plugin is already loaded).

Reproduction steps/code

  1. Make sure the MobiVM plugin is enabled
  2. Close and reopen IntelliJ Idea
  3. Load any project (doesn't have to be one which uses RoboVM)
  4. Wait for and click the red exclamation mark on the bottom right corner (for Intellij's new UI) to view the exceptions.

Configuration

Build Tools:

  • IDEA plugin
  • Eclipse plugin
  • Gradle plugin

Versions:

MacOS: 14.4.1 Apple Silicon

IntelliJ Idea Ultimate 2024.1

  • Robovm: plugin version 2.3.20
  • XCode: 15.3
  • JDK: Eclipse Temurin 17.0.3 aarch64

Build Targets:

Not relevant.


Stacktrace

com.intellij.diagnostic.PluginException: `ActionUpdateThread.OLD_EDT` is deprecated and going to be removed soon. 'org.robovm.idea.actions.GenerateXCodeProjectAction' must override `getActionUpdateThread` and chose EDT or BGT. See ActionUpdateThread javadoc. [Plugin: com.mobidevelop.robovm.intellij]
	at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
	at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:90)
	at com.intellij.diagnostic.PluginException.reportDeprecatedUsage(PluginException.java:125)
	at com.intellij.openapi.actionSystem.ActionUpdateThreadAware.getActionUpdateThread(ActionUpdateThreadAware.java:21)
	at com.intellij.openapi.actionSystem.AnAction.getActionUpdateThread(AnAction.java:199)

Sometimes this exception shows too but I can't reproduce it consistently.

Cannot create org.robovm.idea.components.RoboVmApplicationComponent

com.intellij.ide.plugins.StartupAbortedException: Fatal error initializing plugin com.mobidevelop.robovm.intellij
	at com.intellij.serviceContainer.ComponentManagerImplKt.handleComponentError(ComponentManagerImpl.kt:1455)
	at com.intellij.serviceContainer.ComponentInstanceInitializer.createInstance$suspendImpl(ComponentInstanceInitializer.kt:41)
	at com.intellij.serviceContainer.ComponentInstanceInitializer.createInstance(ComponentInstanceInitializer.kt)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:44)
	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
	at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext$suspendImpl(LazyInstanceHolder.kt:87)
	at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext(LazyInstanceHolder.kt)
	at com.intellij.platform.instanceContainer.internal.UtilKt.preloadAllInstances(util.kt:47)
	at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invokeSuspend(ComponentManagerImpl.kt:486)
	at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt)
	at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt)
	at com.intellij.platform.ide.bootstrap.AppServicePreloadingKt$postAppRegistered$3$1.invokeSuspend(appServicePreloading.kt:145)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: com.intellij.diagnostic.PluginException: Lock and IDE Queue are not ready yet [Plugin: com.mobidevelop.robovm.intellij]
	... 43 more
Caused by: java.lang.IllegalStateException: Lock and IDE Queue are not ready yet
	at com.intellij.openapi.application.impl.RwLockHolder.notReady(RwLockHolder.kt:62)
	at com.intellij.openapi.application.impl.RwLockHolder.startWrite(RwLockHolder.kt:502)
	at com.intellij.openapi.application.impl.RwLockHolder.runWriteAction(RwLockHolder.kt:342)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:883)
	at org.robovm.idea.sdk.RoboVmSdkType.createSdkIfNotExists(RoboVmSdkType.java:135)
	at org.robovm.idea.RoboVmPlugin.extractSdk(RoboVmPlugin.java:303)
	at org.robovm.idea.components.RoboVmApplicationComponent.initComponent(RoboVmApplicationComponent.java:48)
	at com.intellij.serviceContainer.ComponentInstanceInitializer.createInstance$suspendImpl(ComponentInstanceInitializer.kt:27)
	... 41 more
@dkimitsa
Copy link
Contributor

hi, thank you for reporting.
first issue was fixed in v2.3.21

second is going be fixed once we remove legacy code from Idea plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants