2019-08-24 11:19 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005952Spring engineAIpublic2018-04-09 13:00
ReporterDeinFreund 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
Product Version104.0 +git 
Target VersionFixed in Version 
Summary0005952: Java AIs are not killed on Spring.Restart
DescriptionWhen playing multiple games in a row, Java AIs start colonizing spring's JVM memory. It's possible to reduce the impact by releasing as much memory as possible in the AI once the game is over. It would be best to kill the AI completely though.
Steps To ReproducePlay a game with a java AI.
Restart the game.
The new game has two AIs in the JVM, the old one simply doesn't receive any call-ins anymore.
TagsNo tags attached.
Checked infolog.txt for lua Errors
Attached Files

-Relationships
+Relationships

-Notes

~0018997

abma (administrator)

atm this is by design:

existing env is not reused:
https://github.com/spring/spring/blob/develop/AI/Interfaces/Java/src/main/native/JavaBridge.c#L1253

existing env is not freed:
https://github.com/spring/spring/blob/develop/AI/Interfaces/Java/src/main/native/JavaBridge.c#L1264

~0018998

Kloot (developer)

Last edited: 2018-04-09 13:00

View 2 revisions

I remember there being some sort (forgot the details) of issue with sending release events to Java AI's, which was apparently "solved" by making java_skirmishAI_release a no-op.

the Java bridge code also long predates Spring.Reload so envs not being freed wasn't a real problem until that became available and reliable.

+Notes

-Issue History
Date Modified Username Field Change
2018-04-04 21:29 DeinFreund New Issue
2018-04-09 11:34 abma Note Added: 0018997
2018-04-09 12:59 Kloot Note Added: 0018998
2018-04-09 13:00 Kloot Note Edited: 0018998 View Revisions
+Issue History