View Issue Details

IDProjectCategoryView StatusLast Update
0003200Spring engineGeneralpublic2013-11-01 02:54
Reporterabma Assigned Toabma  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version89.0.1+git 
Summary0003200: crashhandler / translated stacktrace seems to be broken
Descriptionsee 0003193
(maybe 0003141, too)
TagsNo tags attached.
Checked infolog.txt for Errors

Relationships

related to 0003193 resolvedabma SIGFPE in Rendering/ProjectileDrawer.cpp:212 

Activities

abma

2012-07-16 01:01

administrator   ~0009011

Last edited: 2012-07-16 01:03

/cheat
/crash

leads to:

C:\Games\Spring\spring.exe 0x004DFE08 rts/Game/UnsyncedGameCommands.cpp:2877
C:\Games\Spring\spring.exe 0x0042F7CF rts/Game/IActionExecutor.h:120
C:\Games\Spring\spring.exe 0x0042F948 rts/Game/Game.cpp:2327
C:\Games\Spring\spring.exe 0x004E8FA2 rts/Game/UnsyncedGameCommands.cpp:118
C:\Games\Spring\spring.exe 0x004EA749 rts/Game/UnsyncedGameCommands.cpp:143
C:\Games\Spring\spring.exe 0x0042FB83 rts/Game/Game.cpp:782
C:\Games\Spring\spring.exe 0x00935D74 rts/System/SpringApp.cpp:1183
C:\Games\Spring\spring.exe 0x00D6CA60 /slave/mingwlibs/include/boost/signals/detail/slot_call_iterator.hpp:61
C:\Games\Spring\spring.exe 0x00CADDB7 /slave/mingwlibs/include/boost/optional/optional.hpp:438
C:\Games\Spring\spring.exe 0x0093D03F rts/System/SpringApp.cpp:1011
C:\Games\Spring\spring.exe 0x00923761 rts/System/Main.cpp:51
C:\Games\Spring\spring.exe 0x00923CC4 rts/System/Main.cpp:65
C:\Games\Spring\spring.exe 0x00923DE1 rts/System/Main.cpp:101
C:\Games\Spring\spring.exe 0x009C15B9 GameData.cpp:0
C:\Games\Spring\spring.exe 0x004010B4 /root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c:237
C:\Games\Spring\spring.exe 0x00401128 /root/mingw/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c:271
C:\WINDOWS\system32\kernel32.dll 0x7C817077 ??:0

that really looks broken...

GameData.cpp:0 ???

abma

2012-07-16 01:27

administrator   ~0009013

on linux it looks better:

f=0001708] Cheating is enabled!
[f=0001804] Error: Segmentation fault (SIGSEGV) in spring 89.0 (OMP)
[f=0001804] Error: Stacktrace:
[f=0001804] Error: <0> [0x618400]
[f=0001804] Error: <1> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/UnsyncedGameCommands.cpp:2877
[f=0001804] Error: <2> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/IActionExecutor.h:120
[f=0001804] Error: <3> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/Game.cpp:2327
[f=0001804] Error: <4> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/Action.h:8
[f=0001804] Error: <5> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/UnsyncedGameCommands.cpp:143
[f=0001804] Error: <6> /build/buildd/spring-89.0~12.04~ppa1/rts/Game/Game.cpp:782
[f=0001804] Error: <7> /build/buildd/spring-89.0~12.04~ppa1/rts/System/SpringApp.cpp:1183
[f=0001804] Error: <8> /usr/include/c++/4.6/bits/stl_list.h:154
[f=0001804] Error: <9> /build/buildd/spring-89.0~12.04~ppa1/rts/System/SpringApp.cpp:1011
[f=0001804] Path cache hits 0 0%

zerver

2012-07-16 03:22

reporter   ~0009015

Is it really so broken? Those traces are fairly similar.

AFAIK only debug builds are somewhat guaranteed to be able to unwind the stack. In release builds it only gives an impression of what the real stack trace looks like.

abma

2012-07-16 07:59

administrator   ~0009016

thats how it looks like with gdb:

 bt
#0 (anonymous namespace)::CrashActionExecutor::Execute (this=0xc63ca78, action=...) at /home/matze/dev/spring/rts/Game/UnsyncedGameCommands.cpp:2877
#1 0x080e5700 in ExecuteAction (action=..., this=<optimized out>) at /home/matze/dev/spring/rts/Game/IActionExecutor.h:120
#2 CGame::ActionPressed (this=0x927d358, key=13, action=..., isRepeat=false) at /home/matze/dev/spring/rts/Game/Game.cpp:2361
0000003 0x080e5855 in CGame::ProcessAction (this=0x927d358, action=..., key=13, isRepeat=false) at /home/matze/dev/spring/rts/Game/Game.cpp:2327
0000004 0x081cca16 in CGame::ProcessCommandText (this=0x927d358, key=13, command=...) at /home/matze/dev/spring/rts/Game/UnsyncedGameCommands.cpp:117
0000005 0x081ced2c in CGame::ProcessKeyPressAction (this=0x927d358, key=13, action=...) at /home/matze/dev/spring/rts/Game/UnsyncedGameCommands.cpp:143
#6 0x080e5a90 in CGame::KeyPressed (this=0x927d358, key=17728, isRepeat=false) at /home/matze/dev/spring/rts/Game/Game.cpp:782
#7 0x085f16d5 in SpringApp::MainEventHandler (this=0xbffff198, event=...) at /home/matze/dev/spring/rts/System/SpringApp.cpp:1182
#8 0x085c57d0 in operator() (a0=..., this=<optimized out>) at /usr/include/boost/function/function_template.hpp:1013
#9 operator()<boost::signals::detail::connection_slot_pair> (slot=..., this=<optimized out>) at /usr/include/boost/signals/signal_template.hpp:119
0000010 dereference (this=<optimized out>) at /usr/include/boost/signals/detail/slot_call_iterator.hpp:61
#11 dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<const SDL_Event&, boost::function<void(const SDL_Event&)> >, boost::signals::detail::named_slot_map_iterator> > (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:517
0000012 operator* (this=<optimized out>) at /usr/include/boost/iterator/iterator_facade.hpp:643
0000013 postfix_increment_proxy (x=..., this=<optimized out>) at /usr/include/boost/iterator/iterator_facade.hpp:145
0000014 operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<const SDL_Event&, boost::function<void(const SDL_Event&)> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, const boost::signals::detail::unusable&, int> (i=...) at /usr/include/boost/iterator/iterator_facade.hpp:732
#15 operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<const SDL_Event&, boost::function<void(const SDL_Event&)> >, boost::signals::detail::named_slot_map_iterator> > (last=..., first=..., this=<optimized out>)
    at /usr/include/boost/last_value.hpp:49
#16 boost::signal1<void, SDL_Event const&, boost::last_value<void>, int, std::less<int>, boost::function<void (SDL_Event const&)> >::operator()(SDL_Event const&) (this=0x8cdb72c, a1=...) at /usr/include/boost/signals/signal_template.hpp:354
---Type <return> to continue, or q <return> to quit---
#17 0x085f59e5 in SpringApp::Run (this=0xbffff198, argc=1, argv=0xbffff384) at /home/matze/dev/spring/rts/System/SpringApp.cpp:1014
#18 0x085d3453 in MainFunc (argc=207866488, argv=0xc63ca78, ret=0x89f4540) at /home/matze/dev/spring/rts/System/Main.cpp:51
#19 0x085d39c8 in Run (argc=1, argv=0xbffff384) at /home/matze/dev/spring/rts/System/Main.cpp:62
0000020 0x085d3abb in main (argc=1, argv=0xbffff384) at /home/matze/dev/spring/rts/System/Main.cpp:92

abma

2012-07-16 08:04

administrator   ~0009017

Last edited: 2012-07-16 08:40

aaah, damit, it was limited to 10... why such a small limit?

https://github.com/spring/spring/commit/29051ad82932f868c08ab7c317079c3488c52af3

abma

2012-07-16 19:27

administrator   ~0009035

Last edited: 2012-07-16 19:38

ok, its broken in some cases imo:


(thats locally, RELWITHDEBINFO, SIGNAN)
http://paste.springfiles.com/view/raw/b6e8c67d


and thats a bt from the validation buildslave created by spring:

(DEBUG2, SIGNAN)

http://paste.springfiles.com/view/raw/12c3a5db

they should be the same! (but aren't....)

abma

2012-07-16 20:09

administrator   ~0009036

buildslave SIGNAN, RELWITHDEBINFO is broken, too:

http://paste.springfiles.com/view/db5aa434

so its not the buildtype, maybe its addr2line on the buildslave?!

jK

2012-07-17 02:09

developer   ~0009039

They shouldn't be the same.
DEBUG2 disables nearly all optimizations and so the code is executed in a similar way it is written, while with RELEASE some massive optimizations are done which can restructure the code totally. Also RELWITHDEBINFO has holes in the debugsymbols (again cause of optimizations).

abma

2012-07-17 14:15

administrator   ~0009043

yep, but they should be similar. the bt's from the buildslave really looks broken:
( http://paste.springfiles.com/view/db5aa434 )

so something is wrong at the buildslave, at my computer the bt's make sense...

abma

2012-08-03 20:59

administrator   ~0009103

Last edited: 2012-08-03 21:16

hmm, investigated a bit (command & output of addr2line:)

http://paste.springfiles.com/view/d38bd5e0

vs gdb

http://paste.springfiles.com/view/bd8bb7c7

not sure whats broken on fedora with gcc 4.7... (thats on the validation buildlsave)

abma

2012-08-03 21:19

administrator   ~0009104

seems like some invalid addresses are included. every second (?) address seems to be invalid.

abma

2012-08-09 11:31

administrator   ~0009115

sorry, no idea how to fix :-/

Issue History

Date Modified Username Field Change
2012-07-16 00:59 abma New Issue
2012-07-16 01:01 abma Note Added: 0009011
2012-07-16 01:02 abma Note Edited: 0009011
2012-07-16 01:03 abma Note Edited: 0009011
2012-07-16 01:03 abma Relationship added related to 0003193
2012-07-16 01:27 abma Note Added: 0009013
2012-07-16 03:22 zerver Note Added: 0009015
2012-07-16 07:59 abma Note Added: 0009016
2012-07-16 08:04 abma Note Added: 0009017
2012-07-16 08:40 abma Note Edited: 0009017
2012-07-16 08:40 abma Status new => resolved
2012-07-16 08:40 abma Resolution open => fixed
2012-07-16 08:40 abma Assigned To => abma
2012-07-16 19:27 abma Note Added: 0009035
2012-07-16 19:27 abma Status resolved => new
2012-07-16 19:38 abma Note Edited: 0009035
2012-07-16 20:09 abma Note Added: 0009036
2012-07-17 02:09 jK Note Added: 0009039
2012-07-17 14:15 abma Note Added: 0009043
2012-08-03 20:59 abma Note Added: 0009103
2012-08-03 20:59 abma Note Edited: 0009103
2012-08-03 21:16 abma Note Edited: 0009103
2012-08-03 21:19 abma Note Added: 0009104
2012-08-09 11:31 abma Assigned To abma =>
2012-08-09 11:31 abma Note Added: 0009115
2013-11-01 02:54 abma Status new => closed
2013-11-01 02:54 abma Assigned To => abma