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: BattleDelegate#doScrambling:740 - java.lang.reflect.InvocationTargetException #12434

Closed tripleabuilderbot closed 4 months ago

tripleabuilderbot commented 6 months ago

User Description

Playing Oil and Snow during AI (Germany) combat phase in round 2.

Map

ww2_oil_and_snow_2nd_edition

TripleA Version

2.5.22294

Java Version

11.0.6

Operating System

Windows 10

Memory

Heap utilization statistics [MB] Used Memory: 523 Free memory: 1456 Total memory: 1979 Max memory: 1979

Stack Trace

Exception: java.lang.reflect.UndeclaredThrowableException
java.lang.Exception
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at games.strategy.triplea.delegate.battle.BattleDelegate.doScrambling(BattleDelegate.java:740)
    at games.strategy.triplea.delegate.battle.BattleDelegate.start(BattleDelegate.java:94)
    at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:519)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:398)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
    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)

Exception: java.lang.reflect.InvocationTargetException
java.lang.Exception
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at games.strategy.engine.delegate.DelegateExecutionManager.lambda$newOutboundImplementation$1(DelegateExecutionManager.java:79)
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at games.strategy.triplea.delegate.battle.BattleDelegate.doScrambling(BattleDelegate.java:740)
    at games.strategy.triplea.delegate.battle.BattleDelegate.start(BattleDelegate.java:94)
    at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:519)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:398)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
    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)

Exception: java.lang.RuntimeExceptionException on remote
java.lang.Exception
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:58)
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at games.strategy.engine.delegate.DelegateExecutionManager.lambda$newOutboundImplementation$1(DelegateExecutionManager.java:79)
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at games.strategy.triplea.delegate.battle.BattleDelegate.doScrambling(BattleDelegate.java:740)
    at games.strategy.triplea.delegate.battle.BattleDelegate.start(BattleDelegate.java:94)
    at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:519)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:398)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
    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)

Exception: java.lang.IllegalStateExceptionjava.lang.IllegalStateException: 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
java.lang.Exception
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:600)
    at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678)
    at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:737)
    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.calculateBattleResults(ProOddsCalculator.java:133)
    at games.strategy.triplea.ai.pro.util.ProOddsCalculator.calculateBattleResults(ProOddsCalculator.java:116)
    at games.strategy.triplea.ai.pro.ProScrambleAi.scrambleUnitsQuery(ProScrambleAi.java:55)
    at games.strategy.triplea.ai.pro.AbstractProAi.scrambleUnitsQuery(AbstractProAi.java:466)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeSingle(EndPoint.java:136)
    at games.strategy.engine.message.unifiedmessenger.EndPoint.lambda$invokeMultiple$0(EndPoint.java:120)
    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$ReduceOp.evaluateSequential(ReduceOps.java:913)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
    at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeMultiple(EndPoint.java:121)
    at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeLocal(EndPoint.java:111)
    at games.strategy.engine.message.unifiedmessenger.UnifiedMessenger.invokeAndWait(UnifiedMessenger.java:98)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:56)
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at games.strategy.engine.delegate.DelegateExecutionManager.lambda$newOutboundImplementation$1(DelegateExecutionManager.java:79)
    at com.sun.proxy.$Proxy30.scrambleUnitsQuery(Unknown Source)
    at games.strategy.triplea.delegate.battle.BattleDelegate.doScrambling(BattleDelegate.java:740)
    at games.strategy.triplea.delegate.battle.BattleDelegate.start(BattleDelegate.java:94)
    at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:519)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:398)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
    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)

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.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
asvitkine commented 4 months ago

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