triplea icon indicating copy to clipboard operation
triplea copied to clipboard

GamePlayer#getData:86 - java.lang.NullPointerException

Open tripleabuilderbot opened this issue 4 months ago • 1 comments

Map

greyhawk_wars / Greyhawk Wars

TripleA Version

2.7.15118

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)


tripleabuilderbot avatar Sep 15 '25 18:09 tripleabuilderbot

@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.

frigoref avatar Sep 15 '25 19:09 frigoref