2019-07-20 11:43 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005354AILinuxpublic2018-11-27 17:03
Assigned To 
StatusclosedResolutionunable to reproduce 
Summary0005354: Java based AI crashes on Zero-K : "Failed to allocate memory"
Descriptionlooks like java path is not set correctly on ubuntu
windows freezes on gamestart
latest zero-k, java 8.x, ubuntu 16.04

CSI 1337y => : http://pastebin.com/A8PzWRaZ
NullOOJavaAI 0.1 => http://pastebin.com/aLtHsyEt
ZKGB 0.8.2 => http://pastebin.com/afNXHbgn
Steps To Reproduce(i used zklobby)
start a game against one of the above AIs
(game loads)
select commander
(game starts in 3..2..1..0)
window freezes at 0 => http://i.imgur.com/NkUVL7g.png
Additional Informationwindows freezes on gamestart => http://i.imgur.com/NkUVL7g.png

see discussion and attempted manual fix at https://github.com/Anarchid/zkgbai/issues/11
TagsNo tags attached.
Attached Files

related to 0004565closed Spring engine NullJavaAI makes spring crash when Zero-K is started 



Anarchid (reporter)

Note, this is probably two issues. While NullAI works for me with the passed JAVA_HOME env var, ZKGBAI still hangs (like in mojjj's windows case?)


abma (administrator)

first you should fix these errors before continuing:

[f=-000001] Error: Duplicate AI Interface Info found:
[f=-000001] Error: for interface: C 0.1
[f=-000001] Error: in files:
[f=-000001] Error: /home/mo6ba4/.spring/AI/Interfaces/C/0.1/InterfaceInfo.lua
[f=-000001] Error: /home/mo6ba4/.spring/engine/103.0.1-131-g5a68792/AI/Interfaces/C/0.1/InterfaceInfo.lua
[f=-000001] Error: using: /home/mo6ba4/.spring/engine/103.0.1-131-g5a68792/AI/Interfaces/C/0.1/InterfaceInfo.lua
[f=-000001] Error: Duplicate AI Interface Info found:
[f=-000001] Error: for interface: Java 0.1
[f=-000001] Error: in files:
[f=-000001] Error: /home/mo6ba4/.spring/AI/Interfaces/Java/0.1/InterfaceInfo.lua
[f=-000001] Error: /home/mo6ba4/.spring/engine/103.0.1-131-g5a68792/AI/Interfaces/Java/0.1/InterfaceInfo.lua
[f=-000001] Error: using: /home/mo6ba4/.spring/engine/103.0.1-131-g5a68792/AI/Interfaces/Java/0.1/InterfaceInfo.lua

i suggest to delete /home/mo6ba4/.spring/AI/. The AI's / Interfaces basicly aren't compatible to different versions of spring. Maybe in some cases it works, mostly it doesn't work.

second: how many memory is available at your system?
java can be bitchy when to few continous memory is available, i.e. enabling swap memory (when it disabled) could fix the issue.

third: possible this is caused by using java 8, maybe works with java 7?! didn't try for a long while, maybe ask in form, an Java AI dev with the knowledge can respond.


abma (administrator)

hm, maybe a duplicate of 0004565 :-|


mojjj (reporter)

thx for the resposnses

1) done. started a game vs zkgb with no change. freeze at start

2) i got 16G ram and 8G swap. ram is not full when playing zk.



abma (administrator)

meh, i can at least reproduce the error, zk crashes for me, too. in ba it seems to work.


abma (administrator)

when run with gdb it hangs here:


basicly CCustomExplosionGenerator::ParseExplosionCode

(wtf? memory corruption?)


abma (administrator)

fun fact:

adding "return 0" in front of:

int LuaSyncedCtrl::SpawnCEG(lua_State* L)

makes it work for me!


abma (administrator)

Last edited: 2016-09-27 12:58

View 2 revisions

just a wild guess:

jvm changes a lot of the running process: i.e. signal handlers are changed

also the CEG related warnings (Warning: [CCEG::Load]...) should be fixed before this is investigated more

i spent already a lot of time with fsanitize=address build which just crashes with no informal message. gdb always showed the above error and sometimes it randomly crashed before


lamer (reporter)

Last edited: 2016-09-27 16:12

View 4 revisions

Interesting enough i can't reproduce it with arch64 + springlobby + spring on gcc6.2.1 (new ABI) + /usr/lib/jvm/java-8-openjdk/jre + zkgb, nullJavaAI, nullOOJavAI.
Everything works.


abma (administrator)

I tested with the official build (on a x64 16.04 ubuntu) and with a debug build with gcc 5.4.0. Both of these failed, so not sure whats the cause. The official build uses the old abi and gcc 5.4 should have used the new abi: imo this shouldn't matter as the jvm is written in C.

still interesting that it works, maybe someone finds the real cause of the problem.

If i remember right i used oracle jre, too. So this could be the issue here, will test soon.


abma (administrator)

the official build is compiled with oracle jdk:


-Issue History
Date Modified Username Field Change
2016-09-26 19:34 mojjj New Issue
2016-09-26 21:34 Anarchid Note Added: 0016687
2016-09-26 21:37 abma Note Added: 0016688
2016-09-26 21:43 abma Note Added: 0016689
2016-09-26 21:44 mojjj Note Added: 0016690
2016-09-26 21:46 abma Summary Java based AI not working, crashes, memory allocation error (JAVA path on linux?) => Java based AI not working, crashes, "Failed to allocate memory" (JAVA path on linux?)
2016-09-26 21:52 abma Note Added: 0016691
2016-09-26 21:53 abma Relationship added related to 0004565
2016-09-26 22:43 abma Note Added: 0016694
2016-09-26 23:15 abma Note Added: 0016695
2016-09-27 01:27 abma Summary Java based AI not working, crashes, "Failed to allocate memory" (JAVA path on linux?) => Java based AI crashes on Zero-K : "Failed to allocate memory"
2016-09-27 12:55 abma Note Added: 0016700
2016-09-27 12:58 abma Note Edited: 0016700 View Revisions
2016-09-27 13:53 lamer Note Added: 0016701
2016-09-27 13:54 lamer Note Edited: 0016701 View Revisions
2016-09-27 16:09 lamer Note Edited: 0016701 View Revisions
2016-09-27 16:12 lamer Note Edited: 0016701 View Revisions
2016-09-28 17:33 abma Note Added: 0016704
2016-09-28 17:35 abma Note Added: 0016705
2018-11-27 17:03 Kloot Status new => closed
2018-11-27 17:03 Kloot Resolution open => unable to reproduce
+Issue History