[BLUEJ-445] ConcurrentModificationException on close after renaming without compile
Steps:
Open a project, go into a class, rename it in the source file (e.g. change {{class Foo}} to {{class Bar}}). Without compiling, close BlueJ, and the exception will occur.
{noformat} Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$ValueIterator.next(HashMap.java:822) at bluej.pkgmgr.Package.closeAllEditors(Package.java:2882) at bluej.pkgmgr.PkgMgrFrame.closePackage(PkgMgrFrame.java:831) at bluej.Main.doQuit(Main.java:271) at bluej.pkgmgr.PkgMgrFrame.doClose(PkgMgrFrame.java:1442) at bluej.pkgmgr.PkgMgrFrame$5.windowClosing(PkgMgrFrame.java:2818) at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:332) at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:332) at java.awt.Window.processWindowEvent(Window.java:1865) at javax.swing.JFrame.processWindowEvent(JFrame.java:274) at java.awt.Window.processEvent(Window.java:1823) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) {noformat}
Issue metadata
- Issue type: Bug
- Priority: Low
- Fix versions: 3.1.1