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.32k stars 392 forks source link

2.5.22294: MustFightBattle#execute:1722 - java.lang.IllegalStateException #11302

Closed tripleabuilderbot closed 4 months ago

tripleabuilderbot commented 1 year ago

Map

ww2_oil_and_snow_2nd_edition

Log Message

Round 10,000 reached in a battle. Something must be wrong. Please report this to TripleA. Attacking unit types: bomber,leadershipOffensive, Defending unit types: seamines

TripleA Version

2.5.22294

Java Version

11.0.6

Operating System

Windows 10

Memory

Heap utilization statistics [MB] Used Memory: 303 Free memory: 1676 Total memory: 1979 Max memory: 1979

Stack Trace

Exception: java.lang.IllegalStateExceptionRound 10,000 reached in a battle. Something must be wrong. Please report this to TripleA.
 Attacking unit types: bomber,leadershipOffensive, Defending unit types: seamines
java.lang.Exception
    at games.strategy.triplea.delegate.battle.MustFightBattle$29.execute(MustFightBattle.java:1722)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.battle.MustFightBattle.fight(MustFightBattle.java:841)
    at games.strategy.triplea.odds.calculator.BattleCalculator.calculate(BattleCalculator.java:128)
    at games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator.lambda$calculate$4(ConcurrentBattleCalculator.java:234)
    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:246)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:224)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:200)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:190)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.estimateAttackBattleResults(ProOddsCalculator.java:59)
    at games.strategy.triplea.ai.pro.data.ProTerritoryManager.removeTerritoriesThatCantBeConquered(ProTerritoryManager.java:167)
    at games.strategy.triplea.ai.pro.data.ProTerritoryManager.removeTerritoriesThatCantBeConquered(ProTerritoryManager.java:133)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doCombatMove(ProCombatMoveAi.java:84)
    at games.strategy.triplea.ai.pro.AbstractProAi.purchase(AbstractProAi.java:237)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:507)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:537)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:407)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:289)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:82)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.lambda$launch$0(LocalLauncher.java:56)
    at java.base/java.lang.Thread.run(Thread.java:834)
asvitkine commented 4 months ago

Closing in favor of https://github.com/triplea-game/triplea/issues/12488