Error in SonarQube for IntelliJ

Environment:

  • Java: JetBrains s.r.o. 25.0.2
  • OS: Mac OS X aarch64
  • IDE: IntelliJ IDEA 2026.1.1
  • SonarQube for IDE: 12.2.0.84584
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 c.ij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:241)
	at c.ij.ui.tree.ui.DefaultTreeUI$2.getNodeDimensions(DefaultTreeUI.java:737)
	at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:496)
	at c.ij.ui.tree.ui.DefaultTreeLayoutCache.access$getNodeDimensions(DefaultTreeLayoutCache.kt:18)
	at c.ij.ui.tree.ui.DefaultTreeLayoutCache$Node.getBounds(DefaultTreeLayoutCache.kt:550)
	at c.ij.ui.tree.ui.DefaultTreeLayoutCache.getBounds(DefaultTreeLayoutCache.kt:196)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:738)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:731)
	at c.ij.ui.tree.ui.DefaultTreeUI.getPathBounds(DefaultTreeUI.java:999)
	at java.desktop/javax.swing.JTree.getPathBounds(JTree.java:2195)
	at java.desktop/javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.isVisible(JTree.java:5359)
	at java.desktop/javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getAccessibleStateSet(JTree.java:4958)
	at java.desktop/sun.lwawt.macosx.CAccessibility$34.call(CAccessibility.java:811)
	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)

Hi,

Thanks for this report! Can you share what you were doing when this happened? Is it reproducible? And if so, could you provide a verbose log from IDE startup through to the error?

 
Thx,
Ann