com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Read access is allowed from inside read-action only (see Application.runReadAction()); If you access or modify model on EDT consider wrapping your code in WriteIntentReadAction or ReadAction
Bug description
Please include steps to reproduce (like go to.../click on... etc.) + expected and actual behaviour.
For non-trivial issues, we would also appreciate if you included the following details (if not filled in automatically):
Running environment
- Graph Buddy plugin version - 1.0.1
- IDE - IntelliJ IDEA 2024.3.5
- Operating system - Windows 11 10.0
IDEA - Stack trace
com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Read access is allowed from inside read-action only (see Application.runReadAction()); If you access or modify model on EDT consider wrapping your code in WriteIntentReadAction or ReadAction; see https://jb.gg/ij-platform-threading for details Current thread: Thread[#94,DefaultDispatcher-worker-72,5,main] 1929345835 (EventQueue.isDispatchThread()=false) SystemEventQueueThread: Thread[#130,AWT-EventQueue-0,6,main] 816873926 at com.intellij.util.concurrency.ThreadingAssertions.createThreadAccessException(ThreadingAssertions.java:218) at com.intellij.util.concurrency.ThreadingAssertions.softAssertReadAccess(ThreadingAssertions.java:155) at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:922) at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexDataImpl.ensureIsUpToDate(WorkspaceFileIndexDataImpl.kt:157) at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexDataImpl.getFileInfo(WorkspaceFileIndexDataImpl.kt:98) at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.getFileInfo(WorkspaceFileIndexImpl.kt:267) at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.findFileSetWithCustomData(WorkspaceFileIndexImpl.kt:250) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getContentRootForFile(ProjectFileIndexImpl.java:152) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getContentRootForFile(ProjectFileIndexImpl.java:146) at com.virtuslab.semanticgraphs.intellijplugin.GraphBuddyStartupActivity.excludeSemanticGraphsDirectory$$anonfun$1(GraphBuddyStartupActivity.scala:21) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.Option.foreach(Option.scala:437) at com.virtuslab.semanticgraphs.intellijplugin.GraphBuddyStartupActivity.excludeSemanticGraphsDirectory(GraphBuddyStartupActivity.scala:28) at com.virtuslab.semanticgraphs.intellijplugin.GraphBuddyStartupActivity.runActivity$$anonfun$2(GraphBuddyStartupActivity.scala:34) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.Option.foreach(Option.scala:437) at com.virtuslab.semanticgraphs.intellijplugin.GraphBuddyStartupActivity.runActivity(GraphBuddyStartupActivity.scala:47) at com.intellij.ide.startup.impl.StartupManagerImplKt$launchBackgroundPostStartupActivity$1.invokeSuspend$lambda$0(StartupManagerImpl.kt:467) at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:341) at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invokeSuspend(coroutines.kt:233) at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invoke(coroutines.kt) at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invoke(coroutines.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:62) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:261) at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:232) at com.intellij.ide.startup.impl.StartupManagerImplKt$launchBackgroundPostStartupActivity$1.invokeSuspend(StartupManagerImpl.kt:465) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
IDEA - additional info
N/A
Screenshots
If applicable, add screenshots (or screen recordings, see Peek on Linux) to help explain your problem.