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: CasualtyOrderOfLosses#sortUnitsForCasualtiesWithSupport:241 - java.lang.OutOfMemoryError #12354

Closed tripleabuilderbot closed 2 months ago

tripleabuilderbot commented 6 months ago

User Description

Game hanging on USA Non Combat Move phase in the same spot every time. The Trigger text is:

"Trigger americanRock2: Setting isLandTransportable to true for unitAttachment attached to americanRocket"

After being seemingly stuck in this spot for several hours, it eventually results in an Out of Memory error.

I can't get past this spot so this saved appears to be ruined. Hope this helps.

Map

total_world_war

Log Message

Java heap space

TripleA Version

2.5.22294

Java Version

11.0.6

Operating System

Windows 10

Memory

Heap utilization statistics [MB] Used Memory: 1977 Free memory: 1 Total memory: 1979 Max memory: 1979

Stack Trace

Exception: java.lang.OutOfMemoryErrorJava heap space
java.lang.Exception
    at java.base/java.util.Arrays.copyOf(Arrays.java:3720)
    at java.base/java.util.Arrays.copyOf(Arrays.java:3689)
    at java.base/java.util.ArrayList.toArray(ArrayList.java:400)
    at java.base/java.util.ArrayList.<init>(ArrayList.java:179)
    at games.strategy.triplea.delegate.battle.casualty.CasualtyOrderOfLosses.sortUnitsForCasualtiesWithSupport(CasualtyOrderOfLosses.java:241)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.getDefaultCasualties(CasualtySelector.java:280)
    at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:115)
    at games.strategy.triplea.delegate.battle.Fire.selectCasualties(Fire.java:259)
    at games.strategy.triplea.delegate.battle.Fire.selectCasualties(Fire.java:249)
    at games.strategy.triplea.delegate.battle.Fire$2.execute(Fire.java:123)
    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 games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator$$Lambda$2105/0x0000000021e58440.apply(Unknown Source)
    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)
panther2 commented 6 months ago

Enhance Xmx and Xms (for example from 2048 to 4096) in the triplea.vmoptions file.

TheDog-GH commented 6 months ago

What panther2 says

Here is a link back to the forums with a variant. https://forums.triplea-game.org/topic/3133/get-ready-for-our-new-game-the-shogun-coming-soon

beelee1 commented 6 months ago

@tripleabuilderbot please close if successful in solving issue.