Spring 87 crash

Spring 87 crash

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Spring 87 crash

Post by klapmongool »

Crashed mid game, twice. Can someone help me identify what the cause is?

http://pastebin.com/sAa0WiTb
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Re: Spring 87 crash

Post by klapmongool »

Is more information needed?
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: Spring 87 crash

Post by Forboding Angel »

Repeated

[f=0044270] Warning: [Watchdog] Hang detection triggered for Spring 87.0.

You should turn off hang detection. It's a serious pain in the cock.

In springsettings.cfg add: hangtimeout = 0
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Re: Spring 87 crash

Post by klapmongool »

Was that the cause of the crash? I added it so i guess time will tell. Thanks.
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: Spring 87 crash

Post by zerver »

Some lua gadget/widget is stuck in an endless loop:

https://github.com/spring/spring/tree/8 ... m.cpp#L251 0x009E370D
https://github.com/spring/spring/tree/8 ... m.cpp#L577 0x009E4EA6
https://github.com/spring/spring/tree/8 ... o.cpp#L377 0x009E87C0
https://github.com/spring/spring/tree/8 ... i.cpp#L813 0x009D6A31
https://github.com/spring/spring/tree/8 ... o.cpp#L119 0x009E7F8A
https://github.com/spring/spring/tree/8 ... o.cpp#L464 0x009E8009
https://github.com/spring/spring/tree/8 ... i.cpp#L834 0x009D687A
https://github.com/spring/spring/tree/8 ... e.cpp#L447 0x0051F643
https://github.com/spring/spring/tree/8 ... e.cpp#L476 0x0051F7AD
https://github.com/spring/spring/tree/8 ... dle.h#L110 0x0052A0A2
https://github.com/spring/spring/tree/8 ... r.cpp#L684 0x0089D6E5
https://github.com/spring/spring/tree/8 ... r.cpp#L390 0x004C6634
https://github.com/spring/spring/tree/8 ... ut.cpp#L98 0x008F4D1E
/slave/mingwlibs/include/boost/signals/detail/slot_call_iterator.hpp#L61 0x00D19410
/slave/mingwlibs/include/boost/optional/optional.hpp#L438 0x00C5CE87
https://github.com/spring/spring/tree/8 ... .cpp#L1003 0x0091A324
https://github.com/spring/spring/tree/8 ... in.cpp#L51 0x009013A1
https://github.com/spring/spring/tree/8 ... in.cpp#L65 0x00901904
https://github.com/spring/spring/tree/8 ... n.cpp#L101 0x00901A21
SkirmishAIWrapper.cpp#L0 0x0099D6F9
/root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c#L237 0x004010B4
/root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c#L271 0x00401128
??#L0 0x758B339A
??#L0 0x776C9EF2
??#L0 0x776C9EC5
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: Spring 87 crash

Post by zerver »

Forboding Angel wrote:You should turn off hang detection. It's a serious pain in the cock.

In springsettings.cfg add: hangtimeout = 0
You should only do this if you have problems with hang detection spam even though the game did not actually hang. With hang detection disabled, we have no information to help us fix bugs that cause hangs.
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Re: Spring 87 crash

Post by klapmongool »

zerver wrote:Some lua gadget/widget is stuck in an endless loop:

https://github.com/spring/spring/tree/8 ... m.cpp#L251 0x009E370D
https://github.com/spring/spring/tree/8 ... m.cpp#L577 0x009E4EA6
https://github.com/spring/spring/tree/8 ... o.cpp#L377 0x009E87C0
https://github.com/spring/spring/tree/8 ... i.cpp#L813 0x009D6A31
https://github.com/spring/spring/tree/8 ... o.cpp#L119 0x009E7F8A
https://github.com/spring/spring/tree/8 ... o.cpp#L464 0x009E8009
https://github.com/spring/spring/tree/8 ... i.cpp#L834 0x009D687A
https://github.com/spring/spring/tree/8 ... e.cpp#L447 0x0051F643
https://github.com/spring/spring/tree/8 ... e.cpp#L476 0x0051F7AD
https://github.com/spring/spring/tree/8 ... dle.h#L110 0x0052A0A2
https://github.com/spring/spring/tree/8 ... r.cpp#L684 0x0089D6E5
https://github.com/spring/spring/tree/8 ... r.cpp#L390 0x004C6634
https://github.com/spring/spring/tree/8 ... ut.cpp#L98 0x008F4D1E
/slave/mingwlibs/include/boost/signals/detail/slot_call_iterator.hpp#L61 0x00D19410
/slave/mingwlibs/include/boost/optional/optional.hpp#L438 0x00C5CE87
https://github.com/spring/spring/tree/8 ... .cpp#L1003 0x0091A324
https://github.com/spring/spring/tree/8 ... in.cpp#L51 0x009013A1
https://github.com/spring/spring/tree/8 ... in.cpp#L65 0x00901904
https://github.com/spring/spring/tree/8 ... n.cpp#L101 0x00901A21
SkirmishAIWrapper.cpp#L0 0x0099D6F9
/root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c#L237 0x004010B4
/root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c#L271 0x00401128
??#L0 0x758B339A
??#L0 0x776C9EF2
??#L0 0x776C9EC5

What way would you recommend to track down which gadget/widget causes this? Should it give this loop every time it runs or might it need triggers in game?
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: Spring 87 crash

Post by zerver »

If you study the trace above, you can see that it hangs in MouseRelease().

A first step would be to search all widgets gadgets for "MouseRelease" and then maybe add some debug prints Spring.Echo(...) at the start of those to help you find which was the last one that executed before the hang.

In the unlikely event that this still yields nothing, another option would be to temporarily remove/disable the "MouseRelease" code first in all widgets/gadgets just to confirm that it helps and then in one at a time until you have pinpointed the bug.
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Re: Spring 87 crash

Post by klapmongool »

zerver wrote:A first step would be to search all widgets gadgets for "MouseRelease" and then maybe add some debug prints Spring.Echo(...) at the start of those to help you find which was the last one that executed before the hang.
I can search all normal widgets in my widget dir for Mouserelease but 'adding debug prints' might be a big over my head. Dan i copy Spring.Echo(...) at the start of the line in which mouserelease is? Or at the start of that section? Should there be something in between the brackets? (...)
zerver wrote:In the unlikely event that this still yields nothing, another option would be to temporarily remove/disable the "MouseRelease" code first in all widgets/gadgets just to confirm that it helps and then in one at a time until you have pinpointed the bug.
The crash shows up very irregularly (as in, i could play 10 games in a row without problems and the next few games it happens multiple times).
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Spring 87 crash

Post by abma »

you can try to use that widget:

https://github.com/spring/spring/blob/d ... tchdog.lua

this widget decects other widgets, that "hang" and print a stacktrace then.
klapmongool
Posts: 843
Joined: 13 Aug 2007, 13:19

Re: Spring 87 crash

Post by klapmongool »

Cool, ill try that when I have time.
Post Reply

Return to “Help & Bugs”