vaadin / intellij-plugin

Vaadin IntelliJ Plugin
Apache License 2.0
3 stars 0 forks source link

SlowOperation exception is thrown when writing file #80

Open abdullahtellioglu opened 2 weeks ago

abdullahtellioglu commented 2 weeks ago

StackTrace:

35:05,894 [ 267350] SEVERE - #c.i.u.SlowOperations - OS: Windows 11
2024-09-12 16:35:05,894 [ 267350] SEVERE - #c.i.u.SlowOperations - Plugin to blame: Vaadin version: 1.0-SNAPSHOT
2024-09-12 16:35:05,894 [ 267350] SEVERE - #c.i.u.SlowOperations - Last Action: Vaadin.HotswapAgentExecutor
2024-09-12 16:35:05,905 [ 267361] SEVERE - #c.i.u.SlowOperations - Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc.
java.lang.Throwable: Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc.
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:376)
    at com.intellij.util.SlowOperations.assertSlowOperationsAreAllowed(SlowOperations.java:101)
    at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.convertToNIOFileAndCheck(LocalFileSystemBase.java:152)
    at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.contentsToByteArray(LocalFileSystemBase.java:449)
    at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.contentsToByteArray(PersistentFSImpl.java:753)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualFileImpl.contentsToByteArray(VirtualFileImpl.java:117)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualFileImpl.contentsToByteArray(VirtualFileImpl.java:109)
    at com.intellij.openapi.fileEditor.impl.LoadTextUtil.loadText(LoadTextUtil.java:511)
    at com.intellij.openapi.fileEditor.impl.LoadTextUtil.loadText(LoadTextUtil.java:491)
    at com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.loadText(FileDocumentManagerBase.java:105)
    at com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.getDocument(FileDocumentManagerBase.java:61)
    at com.intellij.openapi.vfs.VirtualFileUtil.findDocument(VirtualFileUtil.kt:50)
    at com.vaadin.plugin.copilot.handler.WriteFileHandler.writeAndFlush(WriteFileHandler.kt:65)
    at com.vaadin.plugin.copilot.handler.WriteFileHandler.access$writeAndFlush(WriteFileHandler.kt:27)
    at com.vaadin.plugin.copilot.handler.WriteFileHandler$run$1.invoke(WriteFileHandler.kt:41)
    at com.vaadin.plugin.copilot.handler.WriteFileHandler$run$1.invoke(WriteFileHandler.kt:39)
    at com.intellij.openapi.application.ActionsKt.invokeLater$lambda$5(actions.kt:66)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
    at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1430)
    at com.intellij.openapi.application.impl.FlushQueue.doRun$$$capture(FlushQueue.java:82)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
    at java.desktop/java.awt.event.InvocationEvent.dispatch$$$capture(InvocationEvent.java:318)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java)
    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 com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
    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)
2024-09-12 16:35:05,907 [ 267363] SEVERE - #c.i.u.SlowOperations - IntelliJ IDEA 2023.3  Build #IC-233.11799.241
2024-09-12 16:35:05,907 [ 267363] SEVERE - #c.i.u.SlowOperations - JDK: 17.0.9; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2024-09-12 16:35:05,907 [ 267363] SEVERE - #c.i.u.SlowOperations - OS: Windows 11
2024-09-12 16:35:05,907 [ 267363] SEVERE - #c.i.u.SlowOperations - Plugin to blame: Vaadin version: 1.0-SNAPSHOT
2024-09-12 16:35:05,907 [ 267363] SEVERE - #c.i.u.SlowOperations - Last Action: Vaadin.HotswapAgentExecutor
MarcinVaadin commented 2 weeks ago

Whole file save operation should be run in background thread, not only compilation.