Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disappearing structure and armor crits when adding lower arm and hand actuators 0.49.8 #1137

Closed
BLR-IIC opened this issue Jul 4, 2022 · 3 comments

Comments

@BLR-IIC
Copy link

BLR-IIC commented Jul 4, 2022

I was customizing a Night Gyr and wanted to add lower arm and hand actuators. With autofill unhitables enabled, the lower arms displaced unhitable crits to other locations, while the hands made the unhitables they replaced completely disappear. Despite this, the design still passed validation even though a FF armor crit and an ES crit was missing.

@BLR-IIC
Copy link
Author

BLR-IIC commented Jul 4, 2022

Here's a copy-paste of the log file:

09:02:59,125 INFO [megameklab.MegaMekLab] {main}
megameklab.MegaMekLab.initializeLogging(MegaMekLab.java:58) - Starting MegaMekLab v0.49.8
Build Date: 2022-05-27T12:45:51.888427300
Release Date: 2022-02-18
Today: 2022-07-04
Origin Project: MegaMekLab
Java Vendor: Eclipse Adoptium
Java Version: 11.0.14.1
Platform: Windows 10 10.0 (amd64)
System Locale: en_US
Total memory available to MegaMekLab: 1 GB

09:12:02,905 ERROR [megameklab.MegaMekLab] {AWT-EventQueue-0}
megameklab.MegaMekLab.lambda$main$0(MegaMekLab.java:39) - Uncaught Exception Detected
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1043)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:997)
at megameklab.ui.mek.BMUtils.fillInFMU(BMUtils.java:82)
at megameklab.ui.mek.BMBuildTab.autoFillUnHittables(BMBuildTab.java:124)
at megameklab.ui.mek.BMBuildTab.refresh(BMBuildTab.java:115)
at megameklab.ui.mek.BMMainUI.refreshBuild(BMMainUI.java:190)
at megameklab.ui.generalUnit.AbstractEquipmentTab.refreshOtherTabs(AbstractEquipmentTab.java:200)
at megameklab.ui.generalUnit.AbstractEquipmentTab.lambda$new$0(AbstractEquipmentTab.java:77)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:297)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableDataChanged(AbstractTableModel.java:199)
at megameklab.ui.util.CriticalTableModel.refreshModel(CriticalTableModel.java:95)
at megameklab.ui.generalUnit.AbstractEquipmentTab.fireTableRefresh(AbstractEquipmentTab.java:192)
at megameklab.ui.generalUnit.AbstractEquipmentTab.refresh(AbstractEquipmentTab.java:183)
at megameklab.ui.mek.BMMainUI.refreshAll(BMMainUI.java:178)
at megameklab.ui.util.BAASBMDropTargetCriticalList.changeMountStatus(BAASBMDropTargetCriticalList.java:71)
at megameklab.ui.util.BAASBMDropTargetCriticalList.changeMountStatus(BAASBMDropTargetCriticalList.java:60)
at megameklab.ui.util.BAASBMDropTargetCriticalList.addHand(BAASBMDropTargetCriticalList.java:560)
at megameklab.ui.util.BAASBMDropTargetCriticalList.lambda$mousePressed$14(BAASBMDropTargetCriticalList.java:346)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
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:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

09:30:12,092 ERROR [megameklab.MegaMekLab] {AWT-EventQueue-0}
megameklab.MegaMekLab.lambda$main$0(MegaMekLab.java:39) - Uncaught Exception Detected
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1043)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:997)
at megameklab.ui.mek.BMUtils.fillInFMU(BMUtils.java:82)
at megameklab.ui.mek.BMBuildTab.autoFillUnHittables(BMBuildTab.java:124)
at megameklab.ui.mek.BMBuildTab.refresh(BMBuildTab.java:115)
at megameklab.ui.mek.BMMainUI.refreshBuild(BMMainUI.java:190)
at megameklab.ui.generalUnit.AbstractEquipmentTab.refreshOtherTabs(AbstractEquipmentTab.java:200)
at megameklab.ui.generalUnit.AbstractEquipmentTab.lambda$new$0(AbstractEquipmentTab.java:77)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:297)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableDataChanged(AbstractTableModel.java:199)
at megameklab.ui.util.CriticalTableModel.refreshModel(CriticalTableModel.java:95)
at megameklab.ui.generalUnit.AbstractEquipmentTab.fireTableRefresh(AbstractEquipmentTab.java:192)
at megameklab.ui.generalUnit.AbstractEquipmentTab.refresh(AbstractEquipmentTab.java:183)
at megameklab.ui.mek.BMMainUI.refreshAll(BMMainUI.java:178)
at megameklab.ui.util.BAASBMDropTargetCriticalList.changeMountStatus(BAASBMDropTargetCriticalList.java:71)
at megameklab.ui.util.BAASBMDropTargetCriticalList.changeMountStatus(BAASBMDropTargetCriticalList.java:60)
at megameklab.ui.util.BAASBMDropTargetCriticalList.addArm(BAASBMDropTargetCriticalList.java:591)
at megameklab.ui.util.BAASBMDropTargetCriticalList.lambda$mousePressed$16(BAASBMDropTargetCriticalList.java:361)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
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:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

@neoancient
Copy link
Member

This is the same underlying issue as #1121.

@neoancient
Copy link
Member

Fixed by #1138

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants