View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003050 | Spring engine | General | public | 2012-04-03 11:22 | 2012-04-03 11:45 |
| Reporter | abma | Assigned To | jK | ||
| Priority | normal | Severity | major | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Product Version | 89.0 | ||||
| Summary | 0003050: hang at exiting spring in Watchdog::Uninstall () / endless loop in thread_backtrace.cpp:28 | ||||
| Description | spring 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. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
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" |
|
|
fix by limit stack depth? (i know, it seems like something triggered watchdog / crashhandler, but the crashhandler imo should, if possible, never fail.) |
| 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 |