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.33k stars 393 forks source link

2.6.630: CasualtySelector#selectCasualties:118 - java.lang.IllegalStateException #10262

Closed tripleabuilderbot closed 1 year ago

tripleabuilderbot commented 2 years ago

User Description

error sorted targets to pick from must have same size as total targets to pick from
error occured during AI trigger phase prior to combat Trigger ceremonial fire has burned out, has removed ceremonial fire etc etc etc

Map

warcraft_war_heroes

Log Message

sortedTargetsToPickFrom must have the same size as targetsToPickFrom list

TripleA Version

2.6.630

Java Version

11.0.9.1

Operating System

Windows 10

Stack Trace

Exception: java.lang.IllegalStateExceptionsortedTargetsToPickFrom must have the same size as targetsToPickFrom list
java.lang.Exception
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:118)
    at games.strategy.triplea.delegate.battle.steps.fire.SelectMainBattleCasualties$Select.apply(SelectMainBattleCasualties.java:157)
    at games.strategy.triplea.delegate.battle.steps.fire.SelectMainBattleCasualties.apply(SelectMainBattleCasualties.java:58)
    at games.strategy.triplea.delegate.battle.steps.fire.SelectMainBattleCasualties.apply(SelectMainBattleCasualties.java:29)
    at games.strategy.triplea.delegate.battle.steps.fire.SelectCasualties.execute(SelectCasualties.java:65)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.battle.MustFightBattle.fight(MustFightBattle.java:720)
    at games.strategy.triplea.odds.calculator.BattleCalculator.calculate(BattleCalculator.java:127)
    at games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator.lambda$calculate$4(ConcurrentBattleCalculator.java:232)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:952)
    at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:926)
    at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
    at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:408)
    at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:736)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:919)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
    at games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator.calculate(ConcurrentBattleCalculator.java:244)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:225)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:201)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.calculateBattleResults(ProOddsCalculator.java:134)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.calculateBattleResults(ProOddsCalculator.java:117)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.determineUnitsToAttackWith(ProCombatMoveAi.java:1096)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doCombatMove(ProCombatMoveAi.java:116)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:130)
    at games.strategy.triplea.ai.AbstractBuiltInAi.start(AbstractBuiltInAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:549)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:417)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:302)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:93)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.lambda$launch$0(LocalLauncher.java:61)
    at java.base/java.lang.Thread.run(Thread.java:834)
asvitkine commented 1 year ago

Dupe of https://github.com/triplea-game/triplea/issues/11610