Page 1 of 2

87.0 mt version - crash in BA 7.64

Posted: 11 Mar 2012, 23:55
by jamerlan
Spring crashed 2 times during the battle.
Both times - when commander blowed.
But some commanders were blowed without crash.
Infolog attached.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 03:42
by abma
please install the debug-symbols for spring (spring-dbg) + use spring non-mt.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 04:25
by jamerlan
thank you! spring-dbg was installed. I will still try to use spring-mt and I will update this thread if this bug will be reproduced.

Lot's of people use mt because it rocks. I love beautiful(smooth) mid game joins.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 04:42
by Mach2Infinity
abma wrote:please install the debug-symbols for spring (spring-dbg) + use spring non-mt.
Just to clarify. Is "spring-dbg" a client side debug build? I've been asked to use one due to an ongoing issue I'm experiencing. So it would be useful. Thank you!

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 13:15
by abma
spring-dbg (ubuntu-package) are the debug-symbols...

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 14:44
by jamerlan
abma wrote:spring-dbg (ubuntu-package) are the debug-symbols...
I don't understand it too.
So wikipedia says: http://en.wikipedia.org/wiki/Debug_symbol
"Sometimes the symbolic information is compiled together with the module's binary file, or distributed in separate file". Looks like in this situation "debug-symbols" are distributed in separate file.

But I still has no idea how this file will be linked to binary to provide more info during crash. I just decided to look at infolog next time to see the differences.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 14:58
by abma
meh, sorry i forgot, the debug-symbols are only useful if you use gdb.

so, to get a more useful stacktrace when it crashed: don't press ok on the "Spring has crashed" dialog box.

to attach gdb to the running spring, you've to first get the pid:

Code: Select all

ps aux|grep spring
abma      2586 10.6  6.9 1058856 282028 ?      Sl   13:13  10:49 /usr/lib/firefox-10.0.2/firefox http://springrts.com/phpbb/viewtopic.php?f=11&t=27804&p=516598&e=516598
abma      4439 14.8  6.0 480956 245584 pts/0   S+   14:54   0:09 spring
abma      4455  0.4  0.5 278152 20932 pts/0    S+   14:54   0:00 zenity --title Spring crashed? --error --text Spring has crashed:?Segmentation fault (SIGSEGV).??A stacktrace has been written to:?  /var/tmp/home/.spring/infolog.txt?
abma      4482  0.0  0.0  10764   872 pts/1    S+   14:55   0:00 grep spring
here it is 4439, then attach gdb to the running process:

Code: Select all

sudo gdb -p 4439
then with "bt" or "bt full" you get a similar (but much more useful) output like in infolog.txt. without the debug symbols, no line info is shown.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 15:25
by jamerlan
ty, abma! Interesting quest! :-D

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 17:00
by klapmongool
abma wrote:meh, sorry i forgot, the debug-symbols are only useful if you use gdb.

so, to get a more useful stacktrace when it crashed: don't press ok on the "Spring has crashed" dialog box.

to attach gdb to the running spring, you've to first get the pid:

Code: Select all

ps aux|grep spring
abma      2586 10.6  6.9 1058856 282028 ?      Sl   13:13  10:49 /usr/lib/firefox-10.0.2/firefox http://springrts.com/phpbb/viewtopic.php?f=11&t=27804&p=516598&e=516598
abma      4439 14.8  6.0 480956 245584 pts/0   S+   14:54   0:09 spring
abma      4455  0.4  0.5 278152 20932 pts/0    S+   14:54   0:00 zenity --title Spring crashed? --error --text Spring has crashed:?Segmentation fault (SIGSEGV).??A stacktrace has been written to:?  /var/tmp/home/.spring/infolog.txt?
abma      4482  0.0  0.0  10764   872 pts/1    S+   14:55   0:00 grep spring
here it is 4439, then attach gdb to the running process:

Code: Select all

sudo gdb -p 4439
then with "bt" or "bt full" you get a similar (but much more useful) output like in infolog.txt. without the debug symbols, no line info is shown.
I don't understand what you are saying here.. Could u make this more clear (possibly with a link to the stuff I'd need)? I have been having irregular crashes throughout the last versions which don't give any(!) info in the infolog so maybe this method gives some insight.

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 17:04
by abma
this only works on linux, i guess you're on windows?

Re: 87.0 mt version - crash in BA 7.64

Posted: 12 Mar 2012, 17:13
by klapmongool
abma wrote:this only works on linux, i guess you're on windows?
Yes. Are there solutions for windows to get more info on a crash if it doesnt get jotted down in infolog?

Re: 87.0 mt version - crash in BA 7.64

Posted: 15 Mar 2012, 00:37
by zerver
The cause of this crash has been identified. Thanks for reporting.

Re: 87.0 mt version - crash in BA 7.64

Posted: 15 Mar 2012, 07:59
by jamerlan
zerver wrote:The cause of this crash has been identified. Thanks for reporting.
Super! Thank you zerver for mt version!

Re: 87.0 mt version - crash in BA 7.64

Posted: 17 Mar 2012, 19:07
by zerver

Re: 87.0 mt version - crash in BA 7.64

Posted: 17 Mar 2012, 19:42
by jamerlan
zerver, what to do for linux users like me? If you can provide instructions how to checkout to this version, I will test it.

Today I see a lot of people crashing when commander blowed. I hope it will be really fixed in 88.0 :-)

Re: 87.0 mt version - crash in BA 7.64

Posted: 17 Mar 2012, 22:23
by zerver
checkout 87.0 and then

git cherry-pick 029369c
git cherry-pick d304846

Re: 87.0 mt version - crash in BA 7.64

Posted: 17 Mar 2012, 23:12
by wolas
A bit offtopic, but anyone tested how much debug version slowdown everything?

Re: 87.0 mt version - crash in BA 7.64

Posted: 18 Mar 2012, 00:12
by zerver
wolas wrote:A bit offtopic, but anyone tested how much debug version slowdown everything?
You mean a regular debug build? That is unplayably slow.

Re: 87.0 mt version - crash in BA 7.64

Posted: 18 Mar 2012, 00:22
by wolas
Stupid post warning!
I m not coder so this might sound stupid. Yeah I mean debug build which was named spring-dbg in the ubuntu repos is it regular debug build? I guess no?

I know that normal debug build you can see every variable and so on so this one is -> unplayable slow, but spring-dbg package is something different if not whats the point in recommending it if you cant even go to such point where it will crash?
Stupid post warning!

Re: 87.0 mt version - crash in BA 7.64

Posted: 18 Mar 2012, 00:28
by zerver
I am not sure about linux, but if it is something like this:

http://springrts.com/dl/buildbot/default/master/87.0/

spring-dbg is simply the debug symbols for spring. You use it to translate the addresses in a stack trace and help you guess in which source files the bug is located.