[DeadLock ChangesbarPlugin Commit-Dialog]

this issue can be reproduced mostly,

1. commit a change
2. in the commit changes dialog edit the textarea
3. press the commit button
4. sometimes a deadlock appears

@see jtack snippet below

-----
"Change List Updater" prio=10 tid=0x695ee800 nid=0x3333 waiting for
monitor entry [0x69ea6000..0x69ea7130]
   java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.enable(Component.java:1342)
- waiting to lock <0x75b0a740> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.enable(JComponent.java:3563)
at java.awt.Component.enable(Component.java:1366)
at java.awt.Component.setEnabled(Component.java:1331)
at javax.swing.JComponent.setEnabled(JComponent.java:2647)
at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2064)
at javax.swing.JMenuItem.setEnabled(JMenuItem.java:294)
at
javax.swing.AbstractAction.setEnabledFromAction(AbstractAction.java:85)
at
javax.swing.AbstractButton.actionPropertyChanged(AbstractButton.java:1196)
at javax.swing.JMenuItem.actionPropertyChanged(JMenuItem.java:393)
at
javax.swing.AbstractButton$ButtonActionPropertyChangeListener.actionPropertyChanged(AbstractButton.java:1343)
at
javax.swing.AbstractButton$ButtonActionPropertyChangeListener.actionPropertyChanged(AbstractButton.java:1332)
at
javax.swing.ActionPropertyChangeListener.propertyChange(ActionPropertyChangeListener.java:71)
at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
at
javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(SwingPropertyChangeSupport.java:75)
at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
at javax.swing.AbstractAction.firePropertyChange(AbstractAction.java:254)
at javax.swing.AbstractAction.setEnabled(AbstractAction.java:214)
at
com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent$UndoAction.update(ChangesBarProjectComponent.java:1114)
at
com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent.updateCommentEditorUndoRedoActions(ChangesBarProjectCompon
at
com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent.access$2400
(ChangesBarProjectComponent.java:58)
at
com.anecdote.ideaplugins.changesbar.ChangesBarProjectComponent$13.undoableEditHappened(ChangesBarProjectComponent.java:45
at
javax.swing.text.AbstractDocument.fireUndoableEditUpdate(AbstractDocument.java:270)
at
javax.swing.text.AbstractDocument.handleRemove(AbstractDocument.java:612)
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:7
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
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 $Proxy49.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)

   Locked ownable synchronizers:
- <0x881cecf8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)



Attachment(s):
IDEA-JSTACK.txt
0
3 comments

Andre Pfeiler wrote:

this issue can be reproduced mostly,

1. commit a change
2. in the commit changes dialog edit the textarea
3. press the commit button
4. sometimes a deadlock appears

@see jtack snippet below

Thanks for the report Andre.

Cheers,
N.

0

Andre Pfeiler wrote:

this issue can be reproduced mostly,

1. commit a change
2. in the commit changes dialog edit the textarea
3. press the commit button
4. sometimes a deadlock appears


Hi Andre,

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.