triplea
triplea copied to clipboard
GamePlayer#getData:86 - java.lang.NullPointerException
Map
greyhawk_wars / Greyhawk Wars
TripleA Version
Java Version
21.0.7
Operating System
Windows 10
Heap Size
4086M
Stack Trace
Exception: java.lang.NullPointerException
java.lang.Exception
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:902)
at games.strategy.engine.data.GamePlayer.getData(GamePlayer.java:86)
at games.strategy.engine.data.GamePlayer.getTechAttachment(GamePlayer.java:232)
at games.strategy.triplea.delegate.TechTracker.getCurrentTechAdvances(TechTracker.java:224)
at games.strategy.triplea.delegate.TechTracker.getCurrentTechAdvances(TechTracker.java:215)
at games.strategy.triplea.delegate.TechTracker.getSumOfBonuses(TechTracker.java:173)
at games.strategy.triplea.delegate.TechTracker.lambda$getMovementBonus$2(TechTracker.java:59)
at games.strategy.triplea.delegate.TechTracker.lambda$getCached$17(TechTracker.java:160)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
at games.strategy.triplea.delegate.TechTracker.getCached(TechTracker.java:160)
at games.strategy.triplea.delegate.TechTracker.getMovementBonus(TechTracker.java:60)
at games.strategy.triplea.attachments.UnitAttachment.getMovement(UnitAttachment.java:1486)
at games.strategy.engine.data.Unit.getMaxMovementAllowed(Unit.java:460)
at games.strategy.engine.data.changefactory.ChangeFactory.markNoMovementChange(ChangeFactory.java:225)
at games.strategy.triplea.attachments.TriggerAttachment.placeUnits(TriggerAttachment.java:1391)
at games.strategy.triplea.attachments.TriggerAttachment.triggerUnitPlacement(TriggerAttachment.java:2283)
at games.strategy.triplea.attachments.TriggerAttachment.fireTriggers(TriggerAttachment.java:313)
at games.strategy.triplea.attachments.TriggerAttachment.collectAndFireTriggers(TriggerAttachment.java:225)
at games.strategy.triplea.delegate.BaseTripleADelegate.triggerWhenTriggerAttachments(BaseTripleADelegate.java:81)
at games.strategy.triplea.delegate.BaseTripleADelegate.start(BaseTripleADelegate.java:32)
at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:596)
at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:456)
at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:350)
at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:317)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:92)
at games.strategy.engine.framework.startup.launcher.LocalLauncher.lambda$launch$0(LocalLauncher.java:60)
at java.base/java.lang.Thread.run(Thread.java:1583)
@Author: Could you please provide a save game file to reproduce this issue?
It seems that technically during unit placement a Unit is there without an assigned GamePlayer (null) which should not occur in this case. Not sure, how this could have happened.