Stuck CLOSED sockets / sshd / zombies...

Karl Pielorz kpielorz_lst at tdx.co.uk
Tue Apr 8 19:16:05 UTC 2014



--On 8 April 2014 12:19:51 -0400 John Baldwin <jhb at freebsd.org> wrote:

>> [Switching to LWP 100218]
>> 0x00000008038ea89c in __error () from /lib/libthr.so.3
>> (gdb) bt
>> # 0  0x00000008038ea89c in __error () from /lib/libthr.so.3
>> # 1  0x00000008038e104f in __thr_rwlock_rdlock (rwlock=0x803af9480,
>> flags=<value optimized out>, tsp=<value optimized out>)
>>     at /usr/src/lib/libthr/thread/thr_umtx.c:277
>> # 2  0x00000008038e821c in _thr_rtld_rlock_acquire (lock=0x803af9480) at
>> atomic.h:143
>> # 3  0x000000080064f9a2 in rlock_acquire (lock=0x80085fe00,
>> lockstate=0x7fffffffba68) at /usr/src/libexec/rtld-elf/rtld_lock.c:197
>> # 4  0x00000008006498c9 in _rtld_bind (obj=0x800662000, reloff=13008) at
>> /usr/src/libexec/rtld-elf/rtld.c:675
>> # 5  0x00000008006470cd in _rtld_bind_start () at
>> /usr/src/libexec/rtld-elf/amd64/rtld_start.S:99
>> # 6  0x0000000000000246 in ?? ()
>> # 7  0x0000000000000000 in ?? ()
>> "
>
> Can you do 'frame 3' and ' p *lock' as well as 'frame 1' and 'p *rwlock'?

Sure,

"
(gdb) frame 3
#3  0x000000080064f9a2 in rlock_acquire (lock=0x80085fe00, 
lockstate=0x7fffffffba68) at /usr/src/libexec/rtld-elf/rtld_lock.c:197
197             lockinfo.rlock_acquire(lock->handle);
Current language:  auto; currently minimal
(gdb) p *lock
$1 = {handle = 0x803af9480, mask = 1}
(gdb) frame 1
#1  0x00000008038e104f in __thr_rwlock_rdlock (rwlock=0x803af9480, 
flags=<value optimized out>, tsp=<value optimized out>)
    at /usr/src/lib/libthr/thread/thr_umtx.c:277
277             return _umtx_op_err(rwlock, UMTX_OP_RW_RDLOCK, flags, 
(void *)tm_size, tm_p);
(gdb) p *rwlock
$2 = {rw_state = -2147483648, rw_flags = 2, rw_blocked_readers = 0, 
rw_blocked_writers = 0, rw_spare = {0, 0, 0, 0}}
"

-Karl




More information about the freebsd-hackers mailing list