intellij-csv-validator
intellij-csv-validator copied to clipboard
[Automated Report] com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Access is allowed with explicit read lock.
Message
Stacktrace
com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Access is allowed with explicit read lock.
Now each coroutine scheduled on EDT wrapped in implicit write intent lock (which implies read lock too). This implicit lock will be removed in future releases.
Please, use explicit lock API like ReadAction.run(), WriteIntentReadAction.run(), readAction() or writeIntentReadAction() to wrap code which needs lock to access model or PSI.
Please note, that read action API can re-schedule your code to background threads, if you are sure that your code need to be executed on EDT, you need to use write intent read action.
Also, consult with https://jb.gg/ij-platform-threading
at com.intellij.util.concurrency.ThreadingAssertions.reportImplicitRead(ThreadingAssertions.java:139)
at com.intellij.util.concurrency.ThreadingAssertions.assertReadAccess(ThreadingAssertions.java:130)
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.openapi.roots.impl.ProjectFileIndexImpl.isUnderIgnored(ProjectFileIndexImpl.java:78)
at com.intellij.openapi.roots.impl.ProjectFileIndexFacade.isUnderIgnored(ProjectFileIndexFacade.java:73)
at com.intellij.psi.impl.file.impl.FileManagerImpl.isExcludedOrIgnored(FileManagerImpl.java:455)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectoryImpl(FileManagerImpl.java:441)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectory(FileManagerImpl.java:434)
at com.intellij.psi.impl.PsiManagerImpl.findDirectory(PsiManagerImpl.java:175)
at com.intellij.psi.AbstractFileViewProvider.shouldCreatePsi(AbstractFileViewProvider.java:91)
at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:147)
at com.intellij.psi.SingleRootFileViewProvider.getPsiInner(SingleRootFileViewProvider.java:103)
at com.intellij.psi.AbstractFileViewProvider.getPsi(AbstractFileViewProvider.java:187)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:396)
at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:156)
at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:105)
at com.intellij.psi.impl.PsiDocumentManagerImpl.getPsiFile(PsiDocumentManagerImpl.java:62)
at net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableEditor.getCsvFile(CsvTableEditor.java:220)
at net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableEditor.getPsiFile(CsvTableEditor.java:207)
at net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableModelBase.getPsiFile(CsvTableModelBase.java:78)
at net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableModelBase.addPsiTreeChangeListener(CsvTableModelBase.java:48)
at net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableModelBase.
Plugin
PluginClassLoader(plugin=PluginDescriptor(name=CSV Editor, id=net.seesharpsoft.intellij.plugins.csv, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/CLion2025.1/plugins/intellij-csv-validator, version=4.0.2, package=null, isBundled=false), packagePrefix=null, state=active, parents=PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, moduleName=intellij.vcs.github.tracker, descriptorPath=intellij.vcs.github.tracker.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=org.jetbrains.plugins.github.tasks, isBundled=true), PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, moduleName=intellij.vcs.github.json, descriptorPath=intellij.vcs.github.json.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=org.jetbrains.plugins.github.json, isBundled=true), PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, moduleName=intellij.vcs.github.ultimate/cron, descriptorPath=intellij.vcs.github.ultimate.cron.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=com.intellij.vcs.github.ultimate.cron, isBundled=true), PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, moduleName=intellij.vcs.github.ultimate/docker, descriptorPath=intellij.vcs.github.ultimate.docker.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=com.intellij.vcs.github.ultimate.action.runs.docker, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.impl, descriptorPath=intellij.platform.vcs.impl.xml, path=~/Applications/CLion.app/Contents/lib, version=251.14649.40, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.log.impl, descriptorPath=intellij.platform.vcs.log.impl.xml, path=~/Applications/CLion.app/Contents/lib, version=251.14649.40, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.dvcs.impl, descriptorPath=intellij.platform.vcs.dvcs.impl.xml, path=~/Applications/CLion.app/Contents/lib, version=251.14649.40, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.collaborationTools, descriptorPath=intellij.platform.collaborationTools.xml, path=~/Applications/CLion.app/Contents/lib, version=251.14649.40, package=null, isBundled=true), PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, moduleName=intellij.vcs.github, descriptorPath=intellij.vcs.github.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=null, isBundled=true), PluginDescriptor(name=GitHub, id=org.jetbrains.plugins.github, descriptorPath=plugin.xml, path=~/Applications/CLion.app/Contents/plugins/vcs-github-IU, version=IU-251.14649.40, package=com.intellij.vcs.github.ultimate, isBundled=true), )
IDE
CLion (CL-251.14649.40)