threading issues still

[  11004]   WARN - tellij.ide.HackyRepaintManager - Access to realized (ever shown) UI components should be done only from the AWT event dispatch thread, revalidate(), invalidate() & repaint() is ok from any thread
at com.intellij.ide.IdeRepaintManager.checkThreadViolations(
at com.intellij.ide.IdeRepaintManager.addDirtyRegion(
at javax.swing.JComponent.repaint(
at java.awt.Component.repaint(
at javax.swing.JTree.treeDidChange(
at javax.swing.plaf.basic.BasicTreeUI.updateSize(
at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesRemoved(
at javax.swing.tree.DefaultTreeModel.fireTreeNodesRemoved(



[  11007]  ERROR - l.treeView.AbstractTreeBuilder - Must be in event-dispatch thread
at com.intellij.openapi.diagnostic.Logger.error(
at com.intellij.ide.util.treeView.AbstractTreeUi.assertIsDispatchThread(
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeReady(
at com.intellij.ide.util.treeView.UpdaterTreeState.setProcessingNow(
at com.intellij.ide.util.treeView.UpdaterTreeState.process(
at com.intellij.ide.util.treeView.AbstractTreeUi.processInnerChange(
at com.intellij.ide.util.treeView.AbstractTreeUi.removeNodeFromParent(

What thread safety issues do I face? i just have a lexer/parser and structure view folks! grrrrrrr!

Hi Jon! I'm not doing anything intentionally to modify the tree but my code might be doing at ;). The factory methods in my parser definition should be simply creating things. On the other hand, I see getChildren() in the structure view stuff making lists of children so I have no idea whether it is trying to build a new tree are not. It's possible given that there are 3 trees that shadow each other: AST, PSI, Structure view. I'm tracking down my presentation problem first and then will jump on this. Thanks!


Did you figure this out. Someone is modifying the PSI tree outside of a write action - that's my thought.


It's not happening anymore. Must have been some weirdness with my structure view.


Please sign in to leave a comment.