Subj : Re: Linux thread weird problem.. To : comp.programming.threads From : ranjeetw Date : Fri Jul 01 2005 06:05 am Thanks Joe for replying... >> Debugging deadlock is just a matter of looking at the >> stack traces to see what your threads are waiting for. Yes, I believe that...And I was doing that since last 4 days, before seeking help here. I am posting the stack trace, just for u to have a look. (This is condition few minutes after application is locked. I could post full stack trace, in case u r interested.) Thread 9 (Thread -1221018704 (LWP 6053)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 8 (Thread -1231508560 (LWP 6054)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 7 (Thread -1241998416 (LWP 6055)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 6 (Thread -1252488272 (LWP 6056)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 5 (Thread -1262978128 (LWP 6057)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 4 (Thread -1273467984 (LWP 6058)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 3 (Thread -1283957840 (LWP 6059)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 2 (Thread -1294447696 (LWP 6060)): #0 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 Thread 1 (Thread -1220904736 (LWP 6051)): #0 0x0806494e in _Rb_tree_rebalance_for_erase (__z=0x819b220, __root=@0x819b14c, __leftmost=@0x819b150, __rightmost=@0x819b154) at stl_tree.h:107 #1 0x08080803 in std::_Rb_tree, std::_Select1st >, ltstr, std::allocator > >::erase(std::_Rb_tree_iterator, std::pair&, std::pair*>) (this=0x81946d8, __position={<_Rb_tree_base_iterator> = {_M_node = 0x819b220}, }) at stl_tree.h:1169 #2 0x0807fa28 in std::_Rb_tree, std::_Select1st >, ltstr, std::allocator > >::erase(std::_Rb_tree_iterator, std::pair&, std::pair*>, std::_Rb_tree_iterator, std::pair&, std::pair*>) (this=0x81946d8, __first= ---Type to continue, or q to quit--- {<_Rb_tree_base_iterator> = {_M_node = 0x819b220}, }, __last= {<_Rb_tree_base_iterator> = {_M_node = 0x819b1d8}, }) at stl_tree.h:1249 #3 0x0807ecd4 in std::_Rb_tree, std::_Select1st >, ltstr, std::allocator > >::erase(mapKeynode const&) (this=0x81946d8, __x=@0x81991a0) at stl_tree.h:1185 #4 0x0807e4ee in std::map > >::erase(mapKeynode const&) (this=0x81946d8, __x=@0x81991a0) at stl_map.h:297 #5 0x080780bb in ProcessMessage(int) (nID=2) at rs_v1.C:2230 #6 0x0807539c in startRoutingServer() () at rs_v1.C:1288 #7 0x08072bc6 in main () at rs_v1.C:349 0x0806494e 107 while (__x->_M_left != 0) __x = __x->_M_left; .