View Issue Details

IDProjectCategoryView StatusLast Update
0002336Spring engineGeneralpublic2011-02-05 00:48
ReporterGoogle_Frog Assigned Tozerver  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version0.82.7.1 
Fixed in Version0.82.7+git 
Summary0002336: Game Crash in UnitScript.cpp:223
DescriptionSpring crashed with an unhandled exception for about half of the players in the game, myself included. Attempting to rejoin crashed at the same point.
TagsNo tags attached.
Attached Files
unhandledException_Tabluav2_0.82.7.sdf (Attachment missing)
infolog_crash.txt (Attachment missing)
Checked infolog.txt for Errors

Relationships

has duplicate 0002337 resolvedabma game crash in UnitScript.cpp:223 
has duplicate 0001908 resolvedzerver SIGSEGV in UnitScript.cpp:232 

Activities

abma

2011-02-04 01:22

administrator   ~0006334

Last edited: 2011-02-04 01:23

stacktrace from demo:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000cc42e4 in CUnitScript::Tick (this=0x7f0571661d00, deltaTime=33)
    at /home/abma/dev/spring/stable/rts/Sim/Units/COB/UnitScript.cpp:223
223 struct AnimInfo *ai = *it;


(gdb) thread apply all bt full

Thread 5 (Thread 0x7f0590b5a700 (LWP 16538)):
#0 0x00007f059ae3711d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1 0x00007f059b09d194 in SDL_Delay () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#2 0x00007f059b09d1d2 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
0000003 0x00007f059b055695 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
0000004 0x00007f059b09ae09 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
0000005 0x00007f059ae2e9ca in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7f0590b5a700
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139661879387904,
                -7738048736941482164, 0, 0, 0, 0, 7680832817989771084,
                7680845657012395852}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6 0x00007f0597c0970d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#7 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 0x7f058dcbe700 (LWP 16539)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
No locals.
#1 0x00007f059975f49c in boost::this_thread::sleep(boost::posix_time::ptime const&) () from /usr/lib/libboost_thread.so.1.40.0
No symbol table info available.
#2 0x0000000000e8cb7a in boost::this_thread::sleep<boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000l> > (rel_time=...)
    at /usr/include/boost/thread/pthread/thread_data.hpp:111
No locals.
0000003 0x0000000000e8989f in CSound::StartThread (this=0x3041020, maxSounds=32)
    at /home/abma/dev/spring/stable/rts/System/Sound/Sound.cpp:371
        curcontext = 0x7f059b2e7722
        curdevice = 0xe0d19b82
0000004 0x0000000000e92d69 in boost::_mfi::mf1<void, CSound, int>::operator() (
    this=0x3034f08, p=0x3041020, a1=32)
    at /usr/include/boost/bind/mem_fn_template.hpp:162
No locals.
0000005 0x0000000000e92cb1 in boost::_bi::list2<boost::_bi::value<CSound*>, boost::_bi::value<int> >::operator()<boost::_mfi::mf1<void, CSound, int>, boost::_bi::list0> (this=0x3034f18, f=..., a=...) at /usr/include/boost/bind/bind.hpp:306
No locals.
#6 0x0000000000e92c3f in boost::_bi::bind_t<void, boost::_mfi::mf1<void, CSound, int>, boost::_bi::list2<boost::_bi::value<CSound*>, boost::_bi::value<int> > >::operator() (this=0x3034f08) at /usr/include/boost/bind/bind_template.hpp:20
        a = {<No data fields>}
#7 0x0000000000e92a38 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf1<void, CSound, int>, boost::_bi::list2<boost::_bi::value<CSound*>, boost::_bi::value<int> > > >::run (this=0x3034e00)
    at /usr/include/boost/thread/detail/thread.hpp:56
No locals.
#8 0x00007f059975db70 in thread_proxy ()
   from /usr/lib/libboost_thread.so.1.40.0
No symbol table info available.
#9 0x00007f059ae2e9ca in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7f058dcbe700
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139661830514432,
                -7738048736941482164, 0, 0, 0, 0, 7680878428394970956,
                7680845657012395852}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000010 0x00007f0597c0970d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#11 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7f058d4bd700 (LWP 16540)):
#0 0x00007f0597bfcf93 in *__GI___poll (fds=<value optimized out>,
    nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
        _a3 = -1
        _a1 = 50514800
        resultvar = <value optimized out>
        _a2 = 2
        oldtype = 0
        result = <value optimized out>
#1 0x00007f059770a41f in ?? () from /usr/lib/libpulse.so.0
No symbol table info available.
#2 0x00007f05976f9d86 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
No symbol table info available.
0000003 0x00007f05976fb809 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
No symbol table info available.
0000004 0x00007f05976fb8c0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
No symbol table info available.
0000005 0x00007f059770a21b in ?? () from /usr/lib/libpulse.so.0
No symbol table info available.
#6 0x00007f0593ae50e8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
No symbol table info available.
#7 0x00007f059ae2e9ca in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7f058d4bd700
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139661822121728,
                -7738048736941482164, 0, 0, 0, 0, 7680879528443469644,
                7680845657012395852}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8 0x00007f0597c0970d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#9 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7f058ccbc700 (LWP 16541)):
#0 0x00007f059ae3711d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1 0x00007f059b09d194 in SDL_Delay () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#2 0x0000000000748c7a in CGameServer::UpdateLoop (this=0x7f05880285a0)
    at /home/abma/dev/spring/stable/rts/Game/GameServer.cpp:2039
        scoped_lock = {m = 0x7f0588028750, is_locked = true}
0000003 0x0000000000777e89 in boost::_mfi::mf0<void, CGameServer>::operator() (
    this=0x7f058801a6d8, p=0x7f05880285a0)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
No locals.
0000004 0x0000000000777de6 in boost::_bi::list1<boost::_bi::value<CGameServer*> >::operator()<boost::_mfi::mf0<void, CGameServer>, boost::_bi::list0> (
    this=0x7f058801a6e8, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
No locals.
0000005 0x0000000000777d4b in boost::_bi::bind_t<void, boost::_mfi::mf0<void, CGameServer>, boost::_bi::list1<boost::_bi::value<CGameServer*> > >::operator() (
    this=0x7f058801a6d8) at /usr/include/boost/bind/bind_template.hpp:20
        a = {<No data fields>}
#6 0x0000000000776f20 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, CGameServer>, boost::_bi::list1<boost::_bi::value<CGameServer*> > > >::run (this=0x7f058801a5d0)
    at /usr/include/boost/thread/detail/thread.hpp:56
No locals.
#7 0x00007f059975db70 in thread_proxy ()
   from /usr/lib/libboost_thread.so.1.40.0
No symbol table info available.
#8 0x00007f059ae2e9ca in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7f058ccbc700
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139661813729024,
                -7738048736941482164, 0, 0, 0, 0, 7680876230445457228,
                7680845657012395852}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9 0x00007f0597c0970d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
0000010 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7f0591d14780 (LWP 16537)):
#0 0x0000000000cc42e4 in CUnitScript::Tick (this=0x7f0571661d00, deltaTime=33)
    at /home/abma/dev/spring/stable/rts/Sim/Units/COB/UnitScript.cpp:223
        ai = 0x7fff73a96680
        done = false
        it = {_M_node = 0x7f0500000205}
        remove = {<std::_Vector_base<CUnitScript::AnimInfo*, std::allocator<CUnitScript::AnimInfo*> >> = {
            _M_impl = {<std::allocator<CUnitScript::AnimInfo*>> = {<__gnu_cxx::new_allocator<CUnitScript::AnimInfo*>> = {<No data fields>}, <No data fields>},
              _M_start = 0x0, _M_finish = 0x0,
              _M_end_of_storage = 0x0}}, <No data fields>}
#1 0x0000000000cc3000 in CUnitScriptEngine::Tick (this=0x1415850,
    deltaTime=33)
    at /home/abma/dev/spring/stable/rts/Sim/Units/COB/UnitScriptEngine.cpp:81
        myScopedTimerFromMakro = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, name = {static npos = 18446744073709551615,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7f05733f37d8 "Scripts"}},
            starttime = 252579}, <No data fields>}
        it = {_M_node = 0x7f0567026880}
        curit = {_M_node = 0x7f05897ad2b0}
#2 0x00000000007d37a6 in CGame::SimFrame (this=0x7f0588239ae0)
    at /home/abma/dev/spring/stable/rts/Game/Game.cpp:3612
        cputimer = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, name = {static npos = 18446744073709551615,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7f055c70fb98 "CPU load"}},
            starttime = 252535}, <No data fields>}
        forced = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, name = {static npos = 18446744073709551615,
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator
<char>> = {<No data fields>}, <No data fields>},
                _M_p = 0x7f0571bb05c8 "Sim time"}},
            starttime = 252571}, <No data fields>}
0000003 0x00000000007d5465 in CGame::ClientReadNet (this=0x7f0588239ae0)
    at /home/abma/dev/spring/stable/rts/Game/Game.cpp:3976
        inbuf = 0x4e4f6f0 "\002c`\003"
        dataLength = 1
        packetCode = 2 '\002'
        packet = {px = 0x53feeb0, pn = {pi_ = 0x3606340}}
        procstarttime = 252388
        __PRETTY_FUNCTION__ = "void CGame::ClientReadNet()"
0000004 0x00000000007cf602 in CGame::Update (this=0x7f0588239ae0)
    at /home/abma/dev/spring/stable/rts/Game/Game.cpp:2832
        timeNow = 252388
        difTime = 562
        dif = 0.562000036
0000005 0x0000000000d7aa8f in SpringApp::Update (this=0x7fff73a973d0)
    at /home/abma/dev/spring/stable/rts/System/SpringApp.cpp:1051
        ret = 1
#6 0x0000000000d7ae4d in SpringApp::Run (this=0x7fff73a973d0, argc=2,
    argv=0x7fff73a97548)
    at /home/abma/dev/spring/stable/rts/System/SpringApp.cpp:1182
No locals.
#7 0x0000000000d7f723 in Run (argc=2, argv=0x7fff73a97548)
    at /home/abma/dev/spring/stable/rts/System/Main.cpp:55
        app = {cmdline = 0x2c08320, screenWidth = 1680, screenHeight = 1000,
          windowPosX = 0, windowPosY = 49, windowState = 6, FSAA = false,
          depthBufferBits = true, lastRequiredDraw = 20944}
#8 0x0000000000d7f87b in main (argc=2, argv=0x7fff73a97548)
    at /home/abma/dev/spring/stable/rts/System/Main.cpp:90
No locals.

zerver

2011-02-05 00:48

reporter   ~0006345

Bug has been in there for ages, think I finally nuked it

https://github.com/spring/spring/commit/7475a9b230df87b4a6b16e93a4bf8e2e41378e01

Issue History

Date Modified Username Field Change
2011-02-02 05:45 Google_Frog New Issue
2011-02-02 05:45 Google_Frog File Added: unhandledException_Tabluav2_0.82.7.sdf
2011-02-02 05:46 Google_Frog File Added: infolog_crash.txt
2011-02-04 01:22 abma Note Added: 0006334
2011-02-04 01:23 abma Note Edited: 0006334
2011-02-04 01:24 abma Summary Game Crash => Game Crash in UnitScript.cpp:223
2011-02-04 01:25 abma Relationship added has duplicate 0002337
2011-02-04 12:51 abma Severity major => crash
2011-02-05 00:48 zerver Note Added: 0006345
2011-02-05 00:48 zerver Status new => resolved
2011-02-05 00:48 zerver Fixed in Version => 0.82.7+git
2011-02-05 00:48 zerver Resolution open => fixed
2011-02-05 00:48 zerver Assigned To => zerver
2011-05-04 18:41 zerver Relationship added has duplicate 0001908