DraqueT / PolyGlot

PolyGlot is a conlang construction toolkit.
MIT License
387 stars 44 forks source link

[BETA] Etymology error: ConcurrentModificationError #1203

Closed TrapinchO closed 2 years ago

TrapinchO commented 2 years ago

Polyglot version: Windows BETA from 7th August 2022 (latest as of writing this)

Steps to reproduce: Unknown Happened while adding and removing etymological parent and saving after both actions. Saving after the error appeared seems to be successful, though I was shown a recovery window after restarting the program (which might've been from previous testing).

Seems to be caused/related to f884f16

img Error log:

2022/08/13 20:54:05-java.util.ConcurrentModificationException-java.io.IOException
java.util.ConcurrentModificationException
    at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1579)
    at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1602)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.ManagersCollections.EtymologyManager.clearParentChildList(EtymologyManager.java:503)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.ManagersCollections.EtymologyManager.cleanParentChildLists(EtymologyManager.java:493)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.ManagersCollections.EtymologyManager.equals(EtymologyManager.java:528)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.DictCore.equals(DictCore.java:667)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.Desktop.DesktopIOHandler.writeFile(DesktopIOHandler.java:478)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.DictCore.writeFile(DictCore.java:499)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.Screens.ScrMainMenu.doWrite(ScrMainMenu.java:549)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.Screens.ScrMainMenu.saveFile(ScrMainMenu.java:530)
    at org.darisadesigns.polyglotlina.polyglot@3.6/org.darisadesigns.polyglotlina.Screens.ScrMainMenu.lambda$setupAccelerators$19(ScrMainMenu.java:1311)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
    at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:354)
...
DraqueT commented 2 years ago

Good catch!