com.intellij.openapi.application.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 com.intellij.platform.locking.impl.NestedLocksThreadingSupport.handleLockAccess(NestedLocksThreadingSupport.kt:823)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runReadAction(NestedLocksThreadingSupport.kt:829)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:1109)
at com.intellij.openapi.application.ReadAction.computeBlocking(ReadAction.java:88)
at com.intellij.openapi.application.ReadAction.runBlocking(ReadAction.java:107)
at com.intellij.openapi.application.ReadAction.run(ReadAction.java:56)
at com.intellij.openapi.vcs.changes.ui.ChangesBrowserChangeNode.render(ChangesBrowserChangeNode.java:53)
at com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode.render(ChangesBrowserNode.java:264)
at com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer.customizeCellRenderer(ChangesBrowserNodeRenderer.java:60)
at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:128)
at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:60)
at com.intellij.openapi.vcs.changes.ui.ChangesTreeCellRenderer.getTreeCellRendererComponent(ChangesTreeCellRenderer.kt:57)
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.getAccessibleRoleFor(CAccessibility.java:273)
at java.desktop/sun.lwawt.macosx.CAccessibility$11.call(CAccessibility.java:283)
at java.desktop/sun.lwawt.macosx.CAccessibility$11.call(CAccessibility.java:280)
at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:757)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:198)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:192)
at com.intellij.util.concurrency.ContextRunnable.lambda$run$0(ContextRunnable.java:26)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.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)
at java.desktop/sun.awt.AWTThreading.execute(AWTThreading.java:197)
at java.desktop/sun.awt.AWTThreading.executeWaitToolkit(AWTThreading.java:121)
at java.desktop/sun.awt.AWTThreading.executeWaitToolkit(AWTThreading.java:83)
at java.desktop/sun.awt.AWTThreading.executeWaitToolkit(AWTThreading.java:94)
at java.desktop/sun.lwawt.macosx.CPlatformWindow.lambda$toFront$0(CPlatformWindow.java:932)
at java.desktop/sun.lwawt.macosx.CFRetainedResource.execute(CFRetainedResource.java:134)
at java.desktop/sun.lwawt.macosx.CPlatformWindow.toFront(CPlatformWindow.java:932)
at java.desktop/sun.lwawt.LWWindowPeer.toFront(LWWindowPeer.java:403)
at java.desktop/java.awt.Window.toFront_NoClientCode(Window.java:1303)
at java.desktop/java.awt.Window.toFront(Window.java:1291)
at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$toFrontImpl$5(FocusManagerImpl.java:279)
at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$4(FocusManagerImpl.java:184)
at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:32)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:180)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:172)
at com.intellij.openapi.wm.impl.FocusManagerImpl.toFrontImpl(FocusManagerImpl.java:273)
at com.intellij.openapi.wm.impl.FocusManagerImpl.requestFocusInProject(FocusManagerImpl.java:129)
at com.intellij.openapi.fileEditor.impl.EditorCompositeKt.focusEditorOnComposite(EditorComposite.kt:1185)
at com.intellij.openapi.fileEditor.impl.EditorCompositeKt.focusEditorOnComposite$default(EditorComposite.kt:1168)
at com.intellij.openapi.fileEditor.impl.EditorWindow$addComposite$2$1$1.invokeSuspend(EditorWindow.kt:434)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.prohibitTakingLocksInsideAndRun(NestedLocksThreadingSupport.kt:1412)
at com.intellij.openapi.application.impl.ApplicationImpl.prohibitTakingLocksInsideAndRun(ApplicationImpl.java:1500)
at com.intellij.openapi.application.impl.EdtCoroutineDispatcher.wrapWithLocking$lambda$0(EdtCoroutineDispatcher.kt:70)
at com.intellij.openapi.application.TransactionGuardImpl$
Exceptions