Environment:
- Java: JetBrains s.r.o. 25.0.2
- OS: Mac OS X aarch64
- IDE: IntelliJ IDEA 2026.1
- SonarQube for IDE: 11.15.0.84329
c.ij.oa.ap.ThreadingSupport$LockAccessDisallowed: Attempt to take read lock was prevented
The use of the RW lock is forbidden by `Dispatchers.UI`. This dispatcher is intended for pure UI operations, which do not interact with the IntelliJ Platform model (PSI, VFS, etc.).
The following solutions are available:
1. Consider moving the model access outside `Dispatchers.UI`. This would help to ensure that the UI is responsive.
2. Consider using legacy `Dispatchers.EDT` that permits usage of the RW lock.
at c.ij.platform.locking.impl.NestedLocksThreadingSupport.handleLockAccess(NestedLocksThreadingSupport.kt:823)
at c.ij.platform.locking.impl.NestedLocksThreadingSupport.runReadAction(NestedLocksThreadingSupport.kt:829)
at c.ij.oa.ap.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:1109)
at c.ij.oa.ap.ReadAction.computeBlocking(ReadAction.java:88)
at c.ij.oa.ap.ReadAction.runBlocking(ReadAction.java:107)
at c.ij.oa.ap.ReadAction.run(ReadAction.java:56)
at o.sl.ij.common.ui.ReadActionUtils$Companion.runReadActionSafely(ReadActionUtils.kt:36)
at o.sl.ij.common.ui.ReadActionUtils.runReadActionSafely(ReadActionUtils.kt)
at o.sl.ij.ui.nodes.IssueNode.render(IssueNode.java:66)
at o.sl.ij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:50)
at c.ij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:128)
at c.ij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:60)
at java.desktop/javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getCurrentComponent(JTree.java:4842)
at java.desktop/javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getCurrentAccessibleContext(JTree.java:4819)
at java.desktop/javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getAccessibleRole(JTree.java:4928)
at java.desktop/sun.lwawt.macosx.CAccessibility.getAccessibleRole(CAccessibility.java:946)
at java.desktop/sun.lwawt.macosx.CAccessibility._addChildren(CAccessibility.java:1048)
at java.desktop/sun.lwawt.macosx.CAccessibility.getChildrenAndRolesImpl(CAccessibility.java:709)
at java.desktop/sun.lwawt.macosx.CAccessibility$34.call(CAccessibility.java:781)
at java.desktop/sun.lwawt.macosx.CAccessibility$34.call(CAccessibility.java:768)
at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:757)
at c.ij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at c.ij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at c.ij.util.concurrency.ChildContext.runInChildContext(propagation.kt:198)
at c.ij.util.concurrency.ChildContext.runInChildContext(propagation.kt:192)
at c.ij.util.concurrency.ContextRunnable.lambda$run$0(ContextRunnable.java:26)
at c.ij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at c.ij.util.concurrency.ContextRunnable.run(ContextRunnable.java:25)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/sun.awt.AWTThreading$TrackedInvocationEvent.lambda$dispatch$0(AWTThreading.java:325)
at java.desktop/sun.awt.AWTThreading$TrackedInvocationEvent.completeIfNotYet(AWTThreading.java:338)
at java.desktop/sun.awt.AWTThreading$TrackedInvocationEvent.dispatch(AWTThreading.java:325)