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

UnifiedInvocationHandler#invoke:57 - java.lang.reflect.UndeclaredThrowableException #12852

Open tripleabuilderbot opened 3 weeks ago

tripleabuilderbot commented 3 weeks ago

Map

ww2_oil_and_snow_april_1941_master / ww2_oil_and_snow_april_1941

Log Message

Exception on remote

TripleA Version

2.6.14706

Java Version

11.0.19

Operating System

Windows 11

Heap Size

1972M

Stack Trace

Exception: java.lang.RuntimeException Exception on remote
java.lang.Exception
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:57)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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.player.PlayerBridge$GameOverInvocationHandler.invoke(PlayerBridge.java:154)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at games.strategy.triplea.ai.pro.util.ProMoveUtils.doMove(ProMoveUtils.java:444)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doMove(ProCombatMoveAi.java:160)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:136)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:593)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:450)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:345)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:312)
    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:829)

Exception: java.lang.reflect.UndeclaredThrowableException 
java.lang.Exception
    at com.sun.proxy.$Proxy31.selectCasualties(Unknown Source)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:134)
    at games.strategy.triplea.delegate.battle.casualty.AaCasualtySelector.getAaCasualties(AaCasualtySelector.java:54)
    at games.strategy.triplea.delegate.AaInMoveUtil.selectCasualties(AaInMoveUtil.java:337)
    at games.strategy.triplea.delegate.AaInMoveUtil$2.execute(AaInMoveUtil.java:188)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.AaInMoveUtil.fireAa(AaInMoveUtil.java:65)
    at games.strategy.triplea.delegate.MovePerformer.fireAa(MovePerformer.java:492)
    at games.strategy.triplea.delegate.MovePerformer$2.execute(MovePerformer.java:120)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.MovePerformer.populateStack(MovePerformer.java:321)
    at games.strategy.triplea.delegate.MovePerformer.moveUnits(MovePerformer.java:79)
    at games.strategy.triplea.delegate.MoveDelegate.performMove(MoveDelegate.java:677)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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$1.invoke(DelegateExecutionManager.java:120)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
    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:97)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:55)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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.player.PlayerBridge$GameOverInvocationHandler.invoke(PlayerBridge.java:154)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at games.strategy.triplea.ai.pro.util.ProMoveUtils.doMove(ProMoveUtils.java:444)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doMove(ProCombatMoveAi.java:160)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:136)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:593)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:450)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:345)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:312)
    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:829)

Exception: java.lang.reflect.InvocationTargetException 
java.lang.Exception
    at jdk.internal.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
    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.$Proxy31.selectCasualties(Unknown Source)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:134)
    at games.strategy.triplea.delegate.battle.casualty.AaCasualtySelector.getAaCasualties(AaCasualtySelector.java:54)
    at games.strategy.triplea.delegate.AaInMoveUtil.selectCasualties(AaInMoveUtil.java:337)
    at games.strategy.triplea.delegate.AaInMoveUtil$2.execute(AaInMoveUtil.java:188)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.AaInMoveUtil.fireAa(AaInMoveUtil.java:65)
    at games.strategy.triplea.delegate.MovePerformer.fireAa(MovePerformer.java:492)
    at games.strategy.triplea.delegate.MovePerformer$2.execute(MovePerformer.java:120)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.MovePerformer.populateStack(MovePerformer.java:321)
    at games.strategy.triplea.delegate.MovePerformer.moveUnits(MovePerformer.java:79)
    at games.strategy.triplea.delegate.MoveDelegate.performMove(MoveDelegate.java:677)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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$1.invoke(DelegateExecutionManager.java:120)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
    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:97)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:55)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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.player.PlayerBridge$GameOverInvocationHandler.invoke(PlayerBridge.java:154)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at games.strategy.triplea.ai.pro.util.ProMoveUtils.doMove(ProMoveUtils.java:444)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doMove(ProCombatMoveAi.java:160)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:136)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:593)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:450)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:345)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:312)
    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:829)

Exception: java.lang.RuntimeException Exception on remote
java.lang.Exception
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:57)
    at com.sun.proxy.$Proxy31.selectCasualties(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
    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.$Proxy31.selectCasualties(Unknown Source)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:134)
    at games.strategy.triplea.delegate.battle.casualty.AaCasualtySelector.getAaCasualties(AaCasualtySelector.java:54)
    at games.strategy.triplea.delegate.AaInMoveUtil.selectCasualties(AaInMoveUtil.java:337)
    at games.strategy.triplea.delegate.AaInMoveUtil$2.execute(AaInMoveUtil.java:188)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.AaInMoveUtil.fireAa(AaInMoveUtil.java:65)
    at games.strategy.triplea.delegate.MovePerformer.fireAa(MovePerformer.java:492)
    at games.strategy.triplea.delegate.MovePerformer$2.execute(MovePerformer.java:120)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.MovePerformer.populateStack(MovePerformer.java:321)
    at games.strategy.triplea.delegate.MovePerformer.moveUnits(MovePerformer.java:79)
    at games.strategy.triplea.delegate.MoveDelegate.performMove(MoveDelegate.java:677)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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$1.invoke(DelegateExecutionManager.java:120)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
    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:97)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:55)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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.player.PlayerBridge$GameOverInvocationHandler.invoke(PlayerBridge.java:154)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at games.strategy.triplea.ai.pro.util.ProMoveUtils.doMove(ProMoveUtils.java:444)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doMove(ProCombatMoveAi.java:160)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:136)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:593)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:450)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:345)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:312)
    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:829)

Exception: java.lang.NullPointerException 
java.lang.Exception
    at games.strategy.triplea.ai.pro.AbstractProAi.selectCasualties(AbstractProAi.java:416)
    at jdk.internal.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
    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:97)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:55)
    at com.sun.proxy.$Proxy31.selectCasualties(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
    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.$Proxy31.selectCasualties(Unknown Source)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:134)
    at games.strategy.triplea.delegate.battle.casualty.AaCasualtySelector.getAaCasualties(AaCasualtySelector.java:54)
    at games.strategy.triplea.delegate.AaInMoveUtil.selectCasualties(AaInMoveUtil.java:337)
    at games.strategy.triplea.delegate.AaInMoveUtil$2.execute(AaInMoveUtil.java:188)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.AaInMoveUtil.fireAa(AaInMoveUtil.java:65)
    at games.strategy.triplea.delegate.MovePerformer.fireAa(MovePerformer.java:492)
    at games.strategy.triplea.delegate.MovePerformer$2.execute(MovePerformer.java:120)
    at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34)
    at games.strategy.triplea.delegate.MovePerformer.populateStack(MovePerformer.java:321)
    at games.strategy.triplea.delegate.MovePerformer.moveUnits(MovePerformer.java:79)
    at games.strategy.triplea.delegate.MoveDelegate.performMove(MoveDelegate.java:677)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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$1.invoke(DelegateExecutionManager.java:120)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
    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:97)
    at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:55)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
    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.player.PlayerBridge$GameOverInvocationHandler.invoke(PlayerBridge.java:154)
    at com.sun.proxy.$Proxy17.performMove(Unknown Source)
    at games.strategy.triplea.ai.pro.util.ProMoveUtils.doMove(ProMoveUtils.java:444)
    at games.strategy.triplea.ai.pro.ProCombatMoveAi.doMove(ProCombatMoveAi.java:160)
    at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:136)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:516)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:593)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:450)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:345)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:312)
    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:829)
frigoref commented 3 weeks ago

NullPointerException at games.strategy.triplea.ai.pro.AbstractProAi.selectCasualties(AbstractProAi.java:416) should refer (according to history) to image

From what I can see variable battle is likely null which is strange as the battle ID has is passed to method selectCasualties. Would need someone to explain what happend on user level and another one to explain how the method should handle this case.

There are already 2 throw-statements for IllegalStateException which seems plausible to me to be used in this case too, but I think it would not that prevent a similar issue as posted here.