View Issue Details

IDProjectCategoryView StatusLast Update
0003050Spring engineGeneralpublic2012-04-03 11:45
Reporterabma Assigned TojK  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version89.0 
Summary0003050: hang at exiting spring in Watchdog::Uninstall () / endless loop in thread_backtrace.cpp:28
Descriptionspring simply doesn't exit...
Additional Information(gdb) thread apply all bt full

Thread 5 (Thread 0x7fae97cb2700 (LWP 7319)):
#0 0x00007faea22c73d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#1 0x00007faea22c5efe in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#2 0x00007faea1e0fe9a in start_thread (arg=0x7fae97cb2700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fae97cb2700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -4059580718134447733, 140388023972384,
                140387847711168, 0, 3, 4104001154352034187, 4103970141456445835},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000003 0x00007fae9ecec4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

0000004 0x0000000000000000 in ?? ()
No symbol table info available.

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 0x7fae974b1700 (LWP 7320)):
#0 0x00007faea22c73d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#1 0x00007faea22c5efe in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#2 0x00007faea1e0fe9a in start_thread (arg=0x7fae974b1700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fae974b1700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -4059580718134447733, 140388023972384,
                140387839318464, 0, 3, 4104000055377277323, 4103970141456445835},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000003 0x00007fae9ecec4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

0000004 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7fae96cb0700 (LWP 7321)):
---Type <return> to continue, or q <return> to quit---
#0 0x00007faea22c73d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#1 0x00007faea22c5efe in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#2 0x00007faea1e0fe9a in start_thread (arg=0x7fae96cb0700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fae96cb0700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -4059580718134447733, 140388023972384,
                140387830925760, 0, 3, 4103998952107553163, 4103970141456445835},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000003 0x00007fae9ecec4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

0000004 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7fae964af700 (LWP 7322)):
#0 0x00000000012023ac in TranslateStackAddrToBufferAddr (
---Type <return> to continue, or q <return> to quit---
    p=0x7fae787e3780 "\340\016;\216\377\177", stackbot=0x7fff8dbcf000 "",
    stack_buffer=0x7fae780018a0 "")
    at /home/abma/dev/spring/develop/rts/System/Platform/Linux/thread_backtrace.cpp:28
        addr = 140735579623136
        pos = 8265440
        frame = 0x7fae787e3780 "\340\016;\216\377\177"
#1 0x00000000012025a8 in internal_pthread_backtrace (thread=140388025948096,
    buffer=0x7fae78001370, max=12, depth=0x7fae964aebd8, skip=0)
    at /home/abma/dev/spring/develop/rts/System/Platform/Linux/thread_backtrace.cpp:81
        stack_depth = 2751981174
        frame = 0x7fae787e3780 "\340\016;\216\377\177"
        last_frame = 0x7fae787e3780 "\340\016;\216\377\177"
        offset = 8265440
        stackbot = 0x7fff8dbcf000 ""
        guard_size = 0
        longest_stack = 48
        longest_offset = 8363664
        attr = {
          __size = "\000\000\000\000\000\000\000\000\b\000\000\000\256\177", '\000' <repeats 11 times>"\360, <\216\377\177\000\000\000\000\200\000\000\000\000\000\020\020\000x\256\177\000\000 \000\000\000\000\000\000", __align = 0}
        frame = 0x11dc13f "H\213E\360\311\303UH\211\345H\211}\370H\213E\370]ÐUH\211\345H\211}\370H\211u\360H\213E\370H\213U\360H\211\020]\303UH\211\345H\211}\370H\213E\370]ÐUH\211\345SH\203\354(H\211}\330H\211u\320H\213E\320H\211\307\350\377H\213E\320H\211E\340H\213E\340H\203\300\020H\211\307\3---Type <return> to continue, or q <return> to quit---
50\274\377\377\377H\211\303H\213U\330H\215E\357H\211\326H\211\307\350\275\004"
        stack_size = 8388608
        sbuffer = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = {
            _M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fae780018a0 "",
              _M_finish = 0x7fae788018a0 "",
              _M_end_of_storage = 0x7fae788018a0 ""}}, <No data fields>}
        stack_buffer = 0x7fae780018a0 ""
        check_area = 6704333
#2 0x00000000012027e1 in thread_backtrace (thread=140388025948096, buffer=0x7fae78001370, size=12)
    at /home/abma/dev/spring/develop/rts/System/Platform/Linux/thread_backtrace.cpp:114
        num_frames = 0
0000003 0x00000000011fa88f in CrashHandler::Stacktrace (keepRunning=0x7fae964aecea,
    hThread=0x7fae964aed18, threadName=0x7fae780008f8 "main")
    at /home/abma/dev/spring/develop/rts/System/Platform/Linux/CrashHandler.cpp:366
        buffer = {<std::_Vector_base<void*, std::allocator<void*> >> = {
            _M_impl = {<std::allocator<void*>> = {<__gnu_cxx::new_allocator<void*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fae78001370, _M_finish = 0x7fae780013d0,
              _M_end_of_storage = 0x7fae780013d0}}, <No data fields>}
        numLines = 32686
        lines = 0x7faea26ad7c0
        containsOglSo = false
        containedAIInterfaceSo = false
        containedSkirmishAISo = false
---Type <return> to continue, or q <return> to quit---
        symbols = {<std::_Vector_base<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >> = {
            _M_impl = {<std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
        _keepRunning = false
        stacktrace = {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {
            _M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
              _M_end_of_storage = 0x0}}, <No data fields>}
        numLine = 32686
0000004 0x00000000011faefb in CrashHandler::Stacktrace (thread=140388025948096, threadName=...)
    at /home/abma/dev/spring/develop/rts/System/Platform/Linux/CrashHandler.cpp:458
No locals.
0000005 0x000000000116c11e in Watchdog::HangDetectorLoop ()
    at /home/abma/dev/spring/develop/rts/System/Platform/Watchdog.cpp:124
        th_info = 0x1cceee0
        i = 0
        curtime = {_vptr.spring_time = 0x16f7380, static binder = {class_ = 0x232d8e0, base = 0x0,
---Type <return> to continue, or q <return> to quit---
            flags = creg::CF_None, memberRegistrator = 0x1cce9e0, name = 0x16f7328 "spring_time",
            size = 16, constructor = 0x115743e <spring_time::_ConstructInstance(void*)>,
            destructor = 0x115746a <spring_time::_DestructInstance(void*)>,
            nextBinder = 0x1ccdfe0}, static memberRegistrator = 0x1ccea60, x = 40308}
        hangDetected = true
#6 0x000000000116d537 in boost::detail::thread_data<void (*)()>::run (this=0x2376ba0)
    at /usr/include/boost/thread/detail/thread.hpp:61
No locals.
#7 0x00007faea04acce9 in thread_proxy () from /usr/lib/libboost_thread.so.1.46.1
No symbol table info available.
#8 0x00007faea1e0fe9a in start_thread (arg=0x7fae964af700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fae964af700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -4059580718134447733, 140388016953472,
                140387822533056, 0, 3, 4103997853132796299, 4103970141456445835},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9 0x00007fae9ecec4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
---Type <return> to continue, or q <return> to quit---
No locals.
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

0000010 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7faea26ad7c0 (LWP 7318)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
No locals.
#1 0x00007faea04adfdb in boost::thread::join() () from /usr/lib/libboost_thread.so.1.46.1
No symbol table info available.
#2 0x000000000116cce5 in Watchdog::Uninstall ()
    at /home/abma/dev/spring/develop/rts/System/Platform/Watchdog.cpp:318
        lock = {m = 0x1cceea0, is_locked = true}
0000003 0x0000000001173397 in SpringApp::Shutdown ()
    at /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:1067
No locals.
0000004 0x0000000001173116 in SpringApp::Run (this=0x7fff8e3cc5f0, argc=2, argv=0x7fff8e3cc7e8)
    at /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:1020
No locals.
0000005 0x0000000001152014 in MainFunc (argc=2, argv=0x7fff8e3cc7e8, ret=0x7fff8e3cc6cc)
    at /home/abma/dev/spring/develop/rts/System/Main.cpp:51

        app = {cmdline = 0x232cd90, binaryName = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x232d2f8 "/home/abma/local/spring/develop/bin/spring"}}}
---Type <return> to continue, or q <return> to quit---
#6 0x00000000011523cb in Run (argc=2, argv=0x7fff8e3cc7e8)
    at /home/abma/dev/spring/develop/rts/System/Main.cpp:62
        ret = -1
        err = 0x257
#7 0x0000000001152464 in main (argc=2, argv=0x7fff8e3cc7e8)
    at /home/abma/dev/spring/develop/rts/System/Main.cpp:92
No locals.
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
Checked infolog.txt for Errors

Activities

abma

2012-04-03 11:24

administrator   ~0008560

aah, endless loop in

Platform/Linux/thread_backtrace.cpp:28

        stack_depth = 2751981174
        frame = 0x7fae787e3780 "\340\016;\216\377\177"
        last_frame = 0x7fae787e3780 "\340\016;\216\377\177"

abma

2012-04-03 11:26

administrator   ~0008561

Last edited: 2012-04-03 11:30

fix by limit stack depth?

(i know, it seems like something triggered watchdog / crashhandler, but the crashhandler imo should, if possible, never fail.)

Issue History

Date Modified Username Field Change
2012-04-03 11:22 abma New Issue
2012-04-03 11:24 abma Note Added: 0008560
2012-04-03 11:26 abma Note Added: 0008561
2012-04-03 11:30 abma Note Edited: 0008561
2012-04-03 11:32 abma File Added: infolog.txt
2012-04-03 11:36 abma Summary hang at exiting spring in Watchdog::Uninstall () => hang at exiting spring in Watchdog::Uninstall () / endless loop in thread_backtrace.cpp:28
2012-04-03 11:39 abma Product Version => 89.0
2012-04-03 11:45 jK Status new => resolved
2012-04-03 11:45 jK Resolution open => fixed
2012-04-03 11:45 jK Assigned To => jK