2025-07-21 07:29 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003200Spring engineGeneralpublic2013-11-01 02:54
Reporterabma 
Assigned Toabma 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
Product Version89.0.1+git 
Target VersionFixed in Version 
Summary0003200: crashhandler / translated stacktrace seems to be broken
Descriptionsee 0003193
(maybe 0003141, too)
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

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

-Notes

~0009011

abma (administrator)

Last edited: 2012-07-16 01:03

View 3 revisions

/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 ???

~0009013

abma (administrator)

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%

~0009015

zerver (reporter)

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.

~0009016

abma (administrator)

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

~0009017

abma (administrator)

Last edited: 2012-07-16 08:40

View 2 revisions

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

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

~0009035

abma (administrator)

Last edited: 2012-07-16 19:38

View 2 revisions

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....)

~0009036

abma (administrator)

buildslave SIGNAN, RELWITHDEBINFO is broken, too:

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

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

~0009039

jK (developer)

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).

~0009043

abma (administrator)

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...

~0009103

abma (administrator)

Last edited: 2012-08-03 21:16

View 3 revisions

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)

~0009104

abma (administrator)

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

~0009115

abma (administrator)

sorry, no idea how to fix :-/
+Notes

-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 View Revisions
2012-07-16 01:03 abma Note Edited: 0009011 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
2012-08-03 21:16 abma Note Edited: 0009103 View Revisions
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
+Issue History