MegaMek / megamek

MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight using giant robots, tanks, and/or infantry on a hex-based map.
http://www.megamek.org
GNU General Public License v2.0
299 stars 288 forks source link

NPE preventing space scenario from launching #3542

Open SuperStucco opened 2 years ago

SuperStucco commented 2 years ago

In the attached 49.7 savegame, the aerospace fighters have been set up from MekHQ. When "Done" is clicked, it chucks an error and fails to get to the deployment phase.

Space_nodeploy.sav.gz megamek.log

The Centurion CNT-1A is flagged as an Invalid design, although it doesn't seem to be the issue - it can be removed and it still fails.

Windchild292 commented 2 years ago
18:44:34,582 ERROR [megamek.MegaMek] {Packet Pump}
megamek.MegaMek.lambda$main$0(MegaMek.java:59) - Uncaught Exception Detected
java.lang.NullPointerException
    at megamek.common.IAero.updateWeaponGroups(IAero.java:197)
    at megamek.server.Server.checkEntityExchange(Server.java:2523)
    at megamek.server.Server.executePhase(Server.java:2463)
    at megamek.server.Server.changePhase(Server.java:2132)
    at megamek.server.Server.endCurrentPhase(Server.java:2602)
    at megamek.server.Server.checkReady(Server.java:1911)
    at megamek.server.Server.handle(Server.java:30993)
    at megamek.server.Server$PacketPump.run(Server.java:151)
    at java.base/java.lang.Thread.run(Thread.java:834)
Windchild292 commented 2 years ago

@SuperStucco can we get the MUL file for this? It'll be necessary for debugging and testing

SuperStucco commented 2 years ago

Space - Interception.zip

Campaign file: Autosave-1-Harrison's Harriers-30540426.cpnx.gz Infantry Pack.zip

Unfortunately it's already overwritten the pre-play save. I should have grabbed that one too.

One bit of weirdness I've been seeing, is a tank (Goblin LRM) that was deployed as reinforcements has been showing up in subsequent scenarios. Even the last two space scenarios in the campaign file. I've had to manually undeploy it from the TO&E tab.