intellij-plugin-save-actions icon indicating copy to clipboard operation
intellij-plugin-save-actions copied to clipboard

RuntimeException in IntelliJ 2023.1

Open cjacobme opened this issue 1 year ago • 21 comments

Describe the bug After updating to IntelliJ 2023.1 a RuntimeException is thrown. This is the stack trace:

java.lang.RuntimeException: Cannot invoke (class=FrameStateManagerAppListener, method=applicationDeactivated, topic=ApplicationActivationListener)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:657)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:415)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:394)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:454)
	at jdk.proxy2/jdk.proxy2.$Proxy55.applicationDeactivated(Unknown Source)
	at com.intellij.ide.ApplicationActivationStateManager.updateState(ApplicationActivationStateManager.java:58)
	at com.intellij.ide.IdeEventQueueKt.processAppActivationEvent(IdeEventQueue.kt:1033)
	at com.intellij.ide.IdeEventQueueKt.access$processAppActivationEvent(IdeEventQueue.kt:1)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:554)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
	at java.desktop/java.awt.SentEvent.dispatch(SentEvent.java:75)
	at java.desktop/java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:262)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:289)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:833)
	at com.intellij.ide.IdeKeyboardFocusManager.access$dispatchEvent$s1569605750(IdeKeyboardFocusManager.kt:18)
	at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
	at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
	at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.kt:25)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4903)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
	at java.desktop/sun.awt.SunToolkit$1.run(SunToolkit.java:516)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
	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:758)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570)
	at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
	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: java.lang.RuntimeException: Cannot invoke (class=, method=applicationDeactivated, topic=ApplicationActivationListener)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:657)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:415)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:384)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:454)
	at jdk.proxy2/jdk.proxy2.$Proxy56.onFrameDeactivated(Unknown Source)
	at com.intellij.ide.FrameStateManagerAppListener.applicationDeactivated(FrameStateManagerAppListener.java:56)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:680)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:640)
	... 66 more
Caused by: java.lang.RuntimeException: Cannot invoke (class=SaveActionManager, method=beforeAllDocumentsSaving, topic=FileDocumentManagerListener)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:657)
	at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:482)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:263)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:442)
	at jdk.proxy2/jdk.proxy2.$Proxy23.beforeAllDocumentsSaving(Unknown Source)
	at jdk.internal.reflect.GeneratedMethodAccessor238.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.multiCast(FileDocumentManagerImpl.java:172)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$new$0(FileDocumentManagerImpl.java:127)
	at jdk.proxy2/jdk.proxy2.$Proxy23.beforeAllDocumentsSaving(Unknown Source)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:278)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:266)
	at com.intellij.configurationStore.SaveAndSyncHandlerImpl$listenIdleAndActivate$2.applicationDeactivated(SaveAndSyncHandlerImpl.kt:174)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:680)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:640)
	... 74 more
Caused by: com.intellij.diagnostic.PluginException: The specified parameters not match any of the following constructors: public com.dubreuia.model.Storage()
public com.dubreuia.model.Storage(com.dubreuia.model.Storage)
for class com.dubreuia.model.Storage [Plugin: com.dubreuia]
	at com.intellij.serviceContainer.ConstructorInjectionKt.getGreediestSatisfiableConstructor(constructorInjection.kt:219)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:39)
	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:1041)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:43)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:39)
	at com.intellij.serviceContainer.BaseComponentAdapter.doCreateInstance(BaseComponentAdapter.kt:154)
	at com.intellij.serviceContainer.BaseComponentAdapter.createInstance$lambda$1(BaseComponentAdapter.kt:133)
	at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
	at com.intellij.serviceContainer.BaseComponentAdapter.createInstance(BaseComponentAdapter.kt:132)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:92)
	at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:714)
	at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:670)
	at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:27)
	at com.dubreuia.model.StorageFactory.lambda$static$0(StorageFactory.java:36)
	at com.dubreuia.model.StorageFactory.getStorage(StorageFactory.java:50)
	at com.dubreuia.model.StorageFactory.lambda$static$1(StorageFactory.java:39)
	at com.dubreuia.model.StorageFactory.getStorage(StorageFactory.java:50)
	at com.dubreuia.core.component.SaveActionManager.getStorage(SaveActionManager.java:130)
	at com.dubreuia.core.component.SaveActionManager.guardedProcessPsiFiles(SaveActionManager.java:168)
	at com.dubreuia.core.component.SaveActionManager.lambda$beforeDocumentsSaving$3(SaveActionManager.java:153)
	at java.base/java.util.HashMap.forEach(HashMap.java:1421)
	at com.dubreuia.core.component.SaveActionManager.beforeDocumentsSaving(SaveActionManager.java:152)
	at com.dubreuia.core.component.SaveActionManager.beforeAllDocumentsSaving(SaveActionManager.java:137)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:677)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:640)
	at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:482)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:263)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:442)
	at jdk.proxy2/jdk.proxy2.$Proxy23.beforeAllDocumentsSaving(Unknown Source)
	at jdk.internal.reflect.GeneratedMethodAccessor238.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.multiCast(FileDocumentManagerImpl.java:172)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$new$0(FileDocumentManagerImpl.java:127)
	at jdk.proxy2/jdk.proxy2.$Proxy23.beforeAllDocumentsSaving(Unknown Source)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:278)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:266)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:259)
	at com.intellij.compiler.impl.CompileDriver.startup(CompileDriver.java:414)
	at com.intellij.compiler.impl.CompileDriver.make(CompileDriver.java:96)
	at com.intellij.compiler.impl.CompileDriver.make(CompileDriver.java:92)
	at com.intellij.compiler.CompilerManagerImpl.make(CompilerManagerImpl.java:309)
	at com.intellij.task.impl.JpsProjectTaskRunner.runModulesBuildTasks(JpsProjectTaskRunner.java:129)
	at com.intellij.task.impl.JpsProjectTaskRunner.lambda$run$2(JpsProjectTaskRunner.java:78)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
	... 29 more

Versions IntelliJ IDEA 2023.1 (Ultimate Edition) Build #IU-231.8109.175, built on March 28, 2023 Licensed to E.ON Digital Technology GmbH / Christian Jacob Subscription is active until December 31, 2023. Runtime version: 17.0.6+10-b829.5 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 2048M Cores: 12 Non-Bundled Plugins: com.intellij.properties.bundle.editor (231.8109.91) com.dubreuia (2.3.0) DBN (3.3.7221.0) MavenRunHelper (4.23.222.2964.0) com.intellij.aspectj (231.8109.90) org.sonarlint.idea (8.1.0.65508) net.seesharpsoft.intellij.plugins.csv (3.1.0-231) com.haulmont.jpab (2023.1.3-231) io.nimbly.tzatziki (15.2.1)

Kotlin: 231-1.8.20-IJ8109.175

cjacobme avatar Mar 29 '23 09:03 cjacobme

same problems here i think it's a general issue

cmunger avatar Mar 29 '23 10:03 cmunger

I have similar issue ...

sewah2012 avatar Mar 29 '23 11:03 sewah2012

I have this problem as well. Although I don't think we will be getting a fix.

Last commit was on Dec 2021 and on readme it is stated that: This project has been archived and is looking for a maintainer

mdcarreira avatar Mar 29 '23 11:03 mdcarreira

I had exactly the same situation with IntelliJ version 2023.1.

goldcrestwilma avatar Mar 29 '23 12:03 goldcrestwilma

Do you really need this plugin? "actions on save" are now available in Intellij without the need of a plugin right?

alexandernajafi avatar Mar 29 '23 12:03 alexandernajafi

@alexandernajafi AKAIK "actions on save" available in Intellij doesn't work with Eclipse Code Formater plugin whereas this plugin does work fine.

M3yo avatar Mar 29 '23 13:03 M3yo

Should be working now: https://github.com/fishermans/intellij-plugin-save-actions/releases/tag/v2.6.0

fishermans avatar Mar 29 '23 15:03 fishermans

when will this new version 2.6.0 be available in IDEA plugin market? I still only see 2.3.0 version in intellj-ultimate version image

dalainwork avatar Mar 29 '23 19:03 dalainwork

when will this new version 2.6.0 be available in IDEA plugin market? I still only see 2.3.0 version in intellj-ultimate version image

download the package for version 2.6, and install plugin from disk

freeunion1possible avatar Mar 30 '23 01:03 freeunion1possible

when will this new version 2.6.0 be available in IDEA plugin market? I still only see 2.3.0 version in intellj-ultimate version

As previous commenter answered already, 2.6.0 is from a fork of this project. This project is currently inactive, see the README.md note: "⚠️ This project has been archived and is looking for a maintainer ⚠️"

t0r0X avatar Mar 30 '23 04:03 t0r0X

download the package for version 2.6, and install plugin from disk

Thanks. It works.

davidsedlar avatar Mar 30 '23 12:03 davidsedlar

@fishermans do you intend to try to take over the original project (or have you already tried to contact the author about it) so it can be updated in the IDEA market, or just update your fork and people will install it manually?

rooby avatar Apr 04 '23 00:04 rooby

Should be working now: https://github.com/fishermans/intellij-plugin-save-actions/releases/tag/v2.6.0 Thanks.

aggaadfr avatar Apr 06 '23 02:04 aggaadfr

Note that since IntelliJ 2021.2, there is a built-in Tools > Actions on Save settings menu that allows you do a lot of standard actions, like reformatting or optimising imports: Screenshot 2023-04-06 at 17 23 10

CRogers avatar Apr 06 '23 16:04 CRogers

@fishermans do you intend to try to take over the original project (or have you already tried to contact the author about it) so it can be updated in the IDEA market, or just update your fork and people will install it manually?

See comments to this question here: https://github.com/dubreuia/intellij-plugin-save-actions/issues/428

fishermans avatar Apr 11 '23 07:04 fishermans

@CRogers There is a downside to that currently, which is that the configuration for Actions on Save is stored in .idea/workspace.xml, which is something that is not advisable to commit to a code repository. With Save Actions you could easily have the config saved in the repo so everyone using the repo have the same config automatically. Hopefully JetBrains will move that config. See https://youtrack.jetbrains.com/issue/IDEA-276784

rooby avatar Apr 11 '23 07:04 rooby

Note that since IntelliJ 2021.2, there is a built-in Tools > Actions on Save settings menu that allows you do a lot of standard actions, like reformatting or optimising imports: Screenshot 2023-04-06 at 17 23 10

@CRogers yes but how do have the same "automatic quick fix" specific to java ?

see below

image

dbouclier avatar Apr 24 '23 08:04 dbouclier

So since no one managed to release a fork on the marketplace, we did it ourselfs so that we don't always have to use a ZIP file. Feel free to use it if you like.

We also notice that someone else published a similar version, however we didn't want to use that since:

  • some information about the plugin is incorrect, e.g. the author
  • communication seems to be done in chinese
  • there seems to be no reaction/activity inside the issues in the recent time
  • ...

AB-xdev avatar Jul 04 '23 14:07 AB-xdev

@AB-xdev great to see someone taking over this, did you contact the original author to replace the package in the marketplace ?

dbouclier avatar Jul 04 '23 15:07 dbouclier

@AB-xdev great to see someone taking over this, did you contact the original author to replace the package in the marketplace ?

Currently we have no intention to do this. Background: https://github.com/dubreuia/intellij-plugin-save-actions/issues/428#issuecomment-1488881866

AB-xdev avatar Jul 06 '23 06:07 AB-xdev