dubreuia / intellij-plugin-save-actions

Supports configurable, Eclipse like, save actions, including "organize imports", "reformat code" and "rearrange code".
MIT License
531 stars 101 forks source link

IllegalStateException: Attempt to modify PSI for non-committed Document! #383

Closed carlmolemans closed 2 years ago

carlmolemans commented 2 years ago

Describe the bug java.lang.IllegalStateException: Attempt to modify PSI for non-committed Document! at com.intellij.pom.core.impl.PomModelImpl.startTransaction(PomModelImpl.java:266) at com.intellij.pom.core.impl.PomModelImpl.lambda$runTransaction$2(PomModelImpl.java:96) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63) at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:223) at com.intellij.pom.core.impl.PomModelImpl.runTransaction(PomModelImpl.java:93) at com.intellij.psi.impl.source.tree.ChangeUtil.prepareAndRunChangeAction(ChangeUtil.java:142) at com.intellij.psi.impl.source.tree.CompositeElement.addChild(CompositeElement.java:579) at com.intellij.psi.impl.source.tree.CompositeElement.addChildren(CompositeElement.java:673) at com.intellij.psi.impl.source.codeStyle.CodeEditUtil.addChildren(CodeEditUtil.java:53) at com.intellij.psi.impl.source.tree.CompositeElement.addInternal(CompositeElement.java:447) at com.intellij.psi.impl.source.tree.java.ModifierListElement.addInternal(ModifierListElement.java:47) at com.intellij.psi.impl.source.PsiModifierListImpl.setModifierProperty(PsiModifierListImpl.java:271) at com.intellij.psi.util.PsiUtil.setModifierProperty(PsiUtil.java:1170) at com.intellij.codeInspection.localCanBeFinal.LocalCanBeFinal$AcceptSuggested.applyFix(LocalCanBeFinal.java:327) at com.intellij.codeInspection.localCanBeFinal.LocalCanBeFinal$AcceptSuggested.applyFix(LocalCanBeFinal.java:313) at com.dubreuia.processors.java.InspectionRunnable.writeQuickFixes(InspectionRunnable.java:96) at com.dubreuia.processors.java.InspectionRunnable.run(InspectionRunnable.java:71) at com.dubreuia.processors.SaveWriteCommand$1.run(SaveWriteCommand.java:57) at com.intellij.openapi.application.RunResult.run(RunResult.java:22) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$1(WriteCommandAction.java:267) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:936) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:266) at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$3(WriteCommandAction.java:296) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182) at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:298) at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:266) at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:247) at com.dubreuia.processors.SaveWriteCommand.execute(SaveWriteCommand.java:60) at com.dubreuia.core.component.Engine.lambda$processPsiFiles$5(Engine.java:106) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at com.dubreuia.core.component.Engine.processPsiFiles(Engine.java:107) at com.dubreuia.core.component.Engine.processPsiFilesIfNecessary(Engine.java:90) at com.dubreuia.core.component.SaveActionManager.guardedProcessPsiFiles(SaveActionManager.java:169) at com.dubreuia.core.component.SaveActionManager.lambda$beforeDocumentsSaving$3(SaveActionManager.java:153) at java.base/java.util.HashMap.forEach(HashMap.java:1336) 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.MessageBusImpl.invokeMethod(MessageBusImpl.java:642) at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:620) at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:417) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:390) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:372) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:33) at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:179) at com.sun.proxy.$Proxy14.beforeAllDocumentsSaving(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.multiCast(FileDocumentManagerImpl.java:174) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$new$0(FileDocumentManagerImpl.java:129) at com.sun.proxy.$Proxy14.beforeAllDocumentsSaving(Unknown Source) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:271) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:259) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:252) at com.intellij.ide.actions.SaveAllAction.actionPerformed(SaveAllAction.kt:24) at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:65) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:563) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$8(IdeKeyEventDispatcher.java:677) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:261) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.doPerformActionInner(IdeKeyEventDispatcher.java:670) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:603) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:574) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:457) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:450) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:218) at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:800) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:750) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:443) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:442) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:494) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

What triggered the plugin Opening a project

Versions IntelliJ IDEA 2021.2.1 (Ultimate Edition) Build #IU-212.5080.55, built on August 24, 2021 Licensed to HealthConnect NV / Carl Molemans Subscription is active until January 17, 2022. Runtime version: 11.0.11+9-b1504.16 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 8192M Cores: 8 Non-Bundled Plugins: com.intellij.properties.bundle.editor (212.4746.57), EclipseCodeFormatter (20.9.203.000.0-Eclipse_2020-06-JavaOnly), woaini.liquibase.plugin (1.3-SNAPSHOT), CheckStyle-IDEA (5.55.1), com.intellij.guice (212.5080.8), com.dubreuia (2.2.0), com.crunch42.openapi (1.22), MavenRunHelper (4.15.212.000.0), mobi.hsz.idea.gitignore (4.2.0), org.asciidoctor.intellij.asciidoc (0.33.19), intellij.prettierJS (212.5080.8), Pythonid (212.5080.64), com.intellij.selenium (212.5080.8), com.haulmont.jpab (5.3-212), PlantUML integration (5.5.1) Kotlin: 212-1.5.10-release-IJ5080.55

Save Actions: 2.2.0

broken1arrow commented 2 years ago

Same problem, when it build a project (is not always happen).

fishermans commented 2 years ago

Same as #379

dubreuia commented 2 years ago

https://github.com/dubreuia/intellij-plugin-save-actions/releases/tag/v2.4.0