- 
    Bug 
- 
    Resolution: Fixed
- 
     P2 P2
- 
    8
- 
        b36
- 
        generic
- 
        generic
- 
        Verified
                    The bug is reproducible on jdk8 with the following stacktrace (the test is attached):
"Thread 1@382" prio=5 tid=0x17 nid=NA waiting for monitor entry
java.lang.Thread.State: BLOCKED
waiting for Thread 2@383 to release lock on <0x18c> (a javax.swing.undo.UndoManager)
at javax.swing.undo.UndoManager.addEdit(UndoManager.java:502)
at javax.swing.undo.UndoManager.undoableEditHappened(UndoManager.java:611)
at javax.swing.text.AbstractDocument.fireUndoableEditUpdate(AbstractDocument.java:287)
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:754)
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:708)
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130)
at UndoManagerDeadlockTest$1.run(UndoManagerDeadlockTest.java:28)
"Thread 2@383" prio=5 tid=0x18 nid=NA waiting
java.lang.Thread.State: WAITING
blocks Thread 1@382
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:502)
at javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1344)
at javax.swing.text.AbstractDocument$DefaultDocumentEvent.undo(AbstractDocument.java:2799)
at javax.swing.undo.UndoManager.undoTo(UndoManager.java:335)
at javax.swing.undo.UndoManager.undo(UndoManager.java:413)
- locked <0x18c> (a javax.swing.undo.UndoManager)
at UndoManagerDeadlockTest$2.run(UndoManagerDeadlockTest.java:39)
            
"Thread 1@382" prio=5 tid=0x17 nid=NA waiting for monitor entry
java.lang.Thread.State: BLOCKED
waiting for Thread 2@383 to release lock on <0x18c> (a javax.swing.undo.UndoManager)
at javax.swing.undo.UndoManager.addEdit(UndoManager.java:502)
at javax.swing.undo.UndoManager.undoableEditHappened(UndoManager.java:611)
at javax.swing.text.AbstractDocument.fireUndoableEditUpdate(AbstractDocument.java:287)
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:754)
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:708)
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130)
at UndoManagerDeadlockTest$1.run(UndoManagerDeadlockTest.java:28)
"Thread 2@383" prio=5 tid=0x18 nid=NA waiting
java.lang.Thread.State: WAITING
blocks Thread 1@382
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:502)
at javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1344)
at javax.swing.text.AbstractDocument$DefaultDocumentEvent.undo(AbstractDocument.java:2799)
at javax.swing.undo.UndoManager.undoTo(UndoManager.java:335)
at javax.swing.undo.UndoManager.undo(UndoManager.java:413)
- locked <0x18c> (a javax.swing.undo.UndoManager)
at UndoManagerDeadlockTest$2.run(UndoManagerDeadlockTest.java:39)
- relates to
- 
                    JDK-8030702 Deadlock between subclass of AbstractDocument and UndoManager -           
- Resolved
 
-         
- 
                    JDK-8030118 Document listeners fired outside document lock -           
- Closed
 
-