triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.35k stars 399 forks source link

Great War java.lang.IllegalStateException exception and stack trace #1960

Closed Grill-Meister closed 7 years ago

Grill-Meister commented 7 years ago

When running Great War, the following exception and stack trace is received when viewing Game History and clicking on a much prior round: It should be noted that the United States production changed from 50 to 60 upon the "US Declares War" territory being invaded. Sometimes you have to click on a two different prior rounds to get this to occur. Attached file is at: autosave.zip

triplea.engine.version.bin:1.9 Loading map: great_war, from: C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip Loading resources from the following paths: [C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip, C:\Program Files\TripleA_1.9.0.0.3635\assets] Loading map: great_war, from: C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip Loading resources from the following paths: [C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip, C:\Program Files\TripleA_1.9.0.0.3635\assets] java.lang.IllegalStateException: Could not set property:production subject:TerritoryAttachment attached to:United States with name:territoryAttachment new value:50 at games.strategy.util.PropertyUtil.set(PropertyUtil.java:17) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:32) at games.strategy.engine.data.ChangeAttachmentChange.perform(ChangeAttachmentChange.java:75) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@58ec637b at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:15) ... 53 more java.lang.IllegalStateException: Could not set property:production subject:TerritoryAttachment attached to:United States with name:territoryAttachment new value:50 at games.strategy.util.PropertyUtil.set(PropertyUtil.java:17) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:32) at games.strategy.engine.data.ChangeAttachmentChange.perform(ChangeAttachmentChange.java:75) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@58ec637b at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:15) ... 53 more java.lang.IllegalStateException: Not all units present in:Lithuania. Trying to remove:[artillery owned by Germans, infantry owned by Germans, infantry owned by Germans] present:[infantry owned by Ottomans, cavalry owned by Ottomans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:Lithuania. Trying to remove:[artillery owned by Germans, infantry owned by Germans, infantry owned by Germans] present:[infantry owned by Ottomans, cavalry owned by Ottomans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:US Declares War. Trying to remove:[infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans] present:[factory owned by Americans, infantry owned by Americans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:US Declares War. Trying to remove:[infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, infantry owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, artillery owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans, fighter owned by Americans] present:[factory owned by Americans, infantry owned by Americans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:Burgundy. Trying to remove:[fighter owned by Germans, fighter owned by Germans, infantry owned by Germans, infantry owned by Germans] present:[factory owned by Germans, cavalry owned by Germans, cavalry owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, fighter owned by Germans, fighter owned by Germans, artillery owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, zeppelin owned by Germans, zeppelin owned by Germans, zeppelin owned by Germans, infantry owned by Germans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:Burgundy. Trying to remove:[fighter owned by Germans, fighter owned by Germans, infantry owned by Germans, infantry owned by Germans] present:[factory owned by Germans, cavalry owned by Germans, cavalry owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, artillery owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, fighter owned by Germans, fighter owned by Germans, artillery owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, infantry owned by Germans, zeppelin owned by Germans, zeppelin owned by Germans, zeppelin owned by Germans, infantry owned by Germans] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:Marseilles. Trying to remove:[infantry owned by Germans] present:[factory owned by French, infantry owned by French, infantry owned by French, artillery owned by French] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:Marseilles. Trying to remove:[infantry owned by Germans] present:[factory owned by French, infantry owned by French, infantry owned by French, artillery owned by French] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Loading map: great_war, from: C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip Loading resources from the following paths: [C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip, C:\Program Files\TripleA_1.9.0.0.3635\assets] Loading map: great_war, from: C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip Loading resources from the following paths: [C:\Users\dreyerd\triplea\downloadedMaps\great_war-master.zip, C:\Program Files\TripleA_1.9.0.0.3635\assets] java.lang.IllegalStateException: Could not set property:production subject:TerritoryAttachment attached to:United States with name:territoryAttachment new value:50 at games.strategy.util.PropertyUtil.set(PropertyUtil.java:17) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:32) at games.strategy.engine.data.ChangeAttachmentChange.perform(ChangeAttachmentChange.java:75) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@9695825 at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:15) ... 53 more java.lang.IllegalStateException: Could not set property:production subject:TerritoryAttachment attached to:United States with name:territoryAttachment new value:50 at games.strategy.util.PropertyUtil.set(PropertyUtil.java:17) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:32) at games.strategy.engine.data.ChangeAttachmentChange.perform(ChangeAttachmentChange.java:75) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@9695825 at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at games.strategy.util.PropertyUtil.set(PropertyUtil.java:15) ... 53 more java.lang.IllegalStateException: Not all units present in:SZ 16 Atlantic Ocean. Trying to remove:[destroyer owned by Americans, destroyer owned by Americans, transport owned by Americans, infantry owned by Americans, cavalry owned by Americans] present:[] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.IllegalStateException: Not all units present in:SZ 16 Atlantic Ocean. Trying to remove:[destroyer owned by Americans, destroyer owned by Americans, transport owned by Americans, infantry owned by Americans, cavalry owned by Americans] present:[] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:38) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.CompositeChange.perform(CompositeChange.java:49) at games.strategy.engine.data.GameData.performChange(GameData.java:493) at games.strategy.engine.history.History.gotoNode(History.java:123) at games.strategy.triplea.ui.history.HistoryPanel.gotoNode(HistoryPanel.java:262) at games.strategy.triplea.ui.history.HistoryPanel.treeSelectionChanged(HistoryPanel.java:252) at games.strategy.triplea.ui.history.HistoryPanel.lambda$new$46(HistoryPanel.java:173) at javax.swing.JTree.fireValueChanged(Unknown Source) at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:359) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

ssoloff commented 7 years ago

@Grill-Meister I tried your save game using the latest pre-release version of the engine (1.9.0.0.5074) and the latest Great War map (updated on 2017-05-30). I opened the history view and down-arrowed through all rounds (and through many steps of a few of those rounds) but did not observe any exceptions.

I could be doing something different that's preventing the error from occurring, or the root cause has been fixed some time since version 1.9.0.0.3635 was released. Could you please try to reproduce the problem using the latest pre-release? Also, please ensure you have the latest version of Great War (I believe the map update detection code was broken in build 3635, so you may have to remove and re-install the map to ensure you have the latest version).

EDIT: I was able to easily reproduce the reported problem using 1.9.0.0.3635 with the latest Great War map.

ssoloff commented 7 years ago

I'm pretty sure this is the same bug reported in #1743 and fixed by #1746. @ron-murhammer, please confirm.

ron-murhammer commented 7 years ago

@ssoloff Yeah, I'm 95% sure that it is. Looks like you tested on the current release vs latest master to confirm as well.

@Grill-Meister This should be fixed already and will be in the next release. You are free to download the latest pre-release to verify yourself.