ChangesBar plugin causes a deadlock (?)

Hi, I have just had a nasty lock-up in IDEA when I tried to commit my changes to SVN.
Attached is a thread dump, as generated by jstack.
It looks like plugin updates its UI on "Change List Updater" thread, instead of rescheduling the action on the AWT event thread.
AWT event thread seems to be locked up.
Also the exception below was dumped into the idea.log just before the lock-up happened:

2009-03-17 16:35:15,295 [7417484]   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
java.lang.Exception
at com.intellij.ide.IdeRepaintManager.a(IdeRepaintManager.java:15)
at com.intellij.ide.IdeRepaintManager.addDirtyRegion(IdeRepaintManager.java:44)
at javax.swing.JComponent.repaint(JComponent.java:4732)
at java.awt.Component.repaint(Component.java:2952)
at javax.swing.text.WrappedPlainView.updateChildren(WrappedPlainView.java:277)
at javax.swing.text.WrappedPlainView.removeUpdate(WrappedPlainView.java:470)
at javax.swing.plaf.basic.BasicTextUI$RootView.removeUpdate(BasicTextUI.java:1604)
at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.removeUpdate(BasicTextUI.java:1864)
at javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:243)
at javax.swing.text.AbstractDocument.handleRemove(AbstractDocument.java:608)
at javax.swing.text.AbstractDocument.remove(AbstractDocument.java:576)
at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:652)
at javax.swing.text.JTextComponent.setText(JTextComponent.java:1693)
at com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent.setCommentEditorText(ChangesBarProjectComponent.java:230)
at com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent.updateCommentEditor(ChangesBarProjectComponent.java:788)
at com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent.changeListCommentChanged(ChangesBarProjectComponent.java:779)
at sun.reflect.GeneratedMethodAccessor624.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:87)
at com.intellij.util.EventDispatcher.access$100(EventDispatcher.java:33)
at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:64)
at $Proxy47.changeListCommentChanged(Unknown Source)
at com.intellij.openapi.vcs.changes.local.EditComment.doNotify(EditComment.java:11)
at com.intellij.openapi.vcs.changes.DelayedNotificator$1.run(DelayedNotificator.java:2)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)



Attachment(s):
threaddump.txt
1 comment
Comment actions Permalink

Sergei Ivanov wrote:

Hi, I have just had a nasty lock-up in IDEA when I tried to commit my changes to SVN.
Attached is a thread dump, as generated by jstack.
It looks like plugin updates its UI on "Change List Updater" thread, instead of rescheduling the action on the AWT event thread.
AWT event thread seems to be locked up.


Hi Sergei,

Hopefully this should be fixed in the new 1.7.6 build.
Thanks for the feedback!

Cheers,
N.

0

Please sign in to leave a comment.