Page 1 of 1

Spring 95 crash - TA blue_fields T2.5 stage, if own air scou

Posted: 29 Nov 2013, 01:59
by NeonStorm
Now I have crashed 3-4 times because of the same thing.

With TA, Spring 95.0, everything runs fine - firstly.
I can use Blaze (the T1.5 napalm bomber), scout the whole map with hundred Finkkys or spam 100 flashes/...

But when the game reaches the stage of about 150m+ income, I can not send Finkkys and Blaze at the enemy (didn't really tried with slower air units) without crashing.
It works ok if the enemy throws bombers at me - no matter which.

The game starts slowing down, lagging for a few seconds, then I read Spring Hang dedection, my ram and swap fills (7 GB in 4 Spring processes) and even CRTL+ALT+F2 to get a console login needs 10-20 seconds.

Some infolog from 2013-11-05 (System date is 29, I don't know why it writes -05 - I even deleted an old infolog to be sure get the right one)
Nevertheless, it should contain some usefull information: http://paste.ubuntu.com/6492008/
(I used the the infolog from same folder as springsettings.cfg)


I guess this crashes have to do something with LOS (los view was not enabled), ghosted buildings, etc.
With all players playing either 91.0 (ZK) or 95.0 (BA,TA) I can't play spring until it is fixed.

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 29 Nov 2013, 07:48
by abma

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 29 Nov 2013, 14:22
by Silentwings
sounds like that second one to me

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 29 Nov 2013, 14:29
by Kloot
TA also includes unit_target_on_the_move

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 29 Nov 2013, 15:12
by Silentwings
To tell which you have of the two bugs abma linked too - find out (in 95) if your the mem usage increased throughout the game (-> the second) or suddenly in one big spike (-> the first).

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 30 Nov 2013, 23:08
by NeonStorm
Bug-Description (http://springrts.com/mantis/view.php?id=4064):
Most modern mice have side buttons that by default are used to go forward or back on webpages and some other functions. Hitting any of these buttons within a game will instantly cause spring to crash.
http://springrts.com/mantis/view.php?id=4152 (second)
Kloot> What happens if you issue /luaui disable on A? (important because widgets can direct *Spring* to allocate memory, not just the Lua VM which has garbage collection)

silentwings> It seems as though the rate at which mem is leaking increases as more widgets are enabled and the responsibility is shared across all widgets.

Kloot> Currently my assumption is that the Lua garbage collector cannot keep up in larger games (because it runs for a limited amount of time per invocation in 95) so the rate at which memory is consumed exceeds the rate at which it is freed. Both the amount of time (MaxLuaGarbageCollectionTime) spent and the number of steps (MaxLuaGarbageCollectionSteps) taken per collection call are configurable in 95+, ...

1MB every 3 seconds sounds excessive though, does it leak that fast from game start (with all widgets enabled) or does the rate increase over time?

silentwings> With WorkerThreadCount = -1, memleak doesn't happen. With WorkerThreadCount = 0, it memleaks.
Kloot> Should be fixed as of 129-g0b1cbb8, can you (or anyone else) confirm that?

NOTE: only parts of the text are quoted
In another bug (http://springrts.com/mantis/view.php?id=4140)
Kloot> Could be but that change applied to the exploit of watching a demo (with second client instance) while a game was still in progress, which is not really possible anymore since as of 92.0 demos are recorded in-memory.
Does the demo consumes that much mem?

Is there any good debugger?
I know ZK-Devs made some, but it is LUA too and not really helpfull if the game itself as a whole is unresponsive.
Ingame /debug provides more as it can display - some information is hidden beneath the bottom of my screen.

I don't use many widgets. I removed anything from dmg-number display to show player names above coms.
Only default widgets and death explosion radius or adv.player.list are enabled.

It would also be usefull if somebody can link me to a program which logs mem useage of processes. I can't write a programm which does it every second myself, because it would slow down together with spring and be unreliable if it comes to mesure microseconds (when some widget is handled).

Currently I use htop as task manager (CRTL+ALT+F1..6 console login)

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 01 Dec 2013, 02:17
by Jools
Windows? Why not try Process explorer? It has a lot of functionality, also mem display.

http://technet.microsoft.com/en-us/sysi ... 96653.aspx

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 01 Dec 2013, 14:44
by NeonStorm
Jools> Windows? Why not try Process explorer? It has a lot of functionality, also mem display.
No.
NeonStorm> Currently I use htop as task manager (CRTL+ALT+F1..6 console login)
Linux console. CRTL+ALT+Fx doesn't work on window that way.

If spring crashes and freezes, the whole GUI freezes. Console login is your only choice then.
(which is not bad, just not shows you a (well grouped) list of programms you can use like the start-menu does)

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 01 Dec 2013, 18:42
by Beherith
top > toplog.txt

Re: Spring 95 crash - TA blue_fields T2.5 stage, if own air

Posted: 01 Dec 2013, 20:55
by nixtux
@neonstorm can you please try version v2.23.5 unit_target_on_the_move has been removed


also it may be worth setting WorkerThreadCount = -1 in spring config