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.29k stars 381 forks source link

2.6.14752: UnifiedInvocationHandler#invoke:57 - java.lang.IllegalStateException #12650

Open tripleabuilderbot opened 2 weeks ago

tripleabuilderbot commented 2 weeks ago

Map

domination / Domination 1902

Log Message

Exception on remote

TripleA Version

2.6.14752

Java Version

11.0.23

Operating System

Linux

Heap Size

1964M

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.$Proxy20.placeUnits(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor83.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.$Proxy20.placeUnits(Unknown Source)
    at games.strategy.triplea.TripleAPlayer.place(TripleAPlayer.java:585)
    at games.strategy.triplea.TripleAPlayer.startImpl(TripleAPlayer.java:172)
    at games.strategy.triplea.TripleAPlayer.start(TripleAPlayer.java:125)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:603)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:452)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:347)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:314)
    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.IllegalStateException getMaxUnitsToBePlaced originally returned: 8, 
Which is not the same as it is returning after using freePlacementCapacity: 4, 
For territory: Washington D.C., Current Producer: Washington D.C., All Producers: [], 
Units Total: 4 artilleries and 4 infantry, Units Left To Place By This Producer: 4 artilleries and 4 infantry
java.lang.Exception
    at games.strategy.triplea.delegate.AbstractPlaceDelegate.placeUnits(AbstractPlaceDelegate.java:268)
    at games.strategy.triplea.delegate.AbstractPlaceDelegate.placeUnits(AbstractPlaceDelegate.java:197)
    at jdk.internal.reflect.GeneratedMethodAccessor83.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.$Proxy20.placeUnits(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor97.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.$Proxy20.placeUnits(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor83.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.$Proxy20.placeUnits(Unknown Source)
    at games.strategy.triplea.TripleAPlayer.place(TripleAPlayer.java:585)
    at games.strategy.triplea.TripleAPlayer.startImpl(TripleAPlayer.java:172)
    at games.strategy.triplea.TripleAPlayer.start(TripleAPlayer.java:125)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:603)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:452)
    at games.strategy.engine.framework.ServerGame.runNextStep(ServerGame.java:347)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:314)
    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)
asvitkine commented 1 day ago

It would be helpful if there were repro steps or a save game.