Stuck CLOSED sockets / sshd / zombies...
Konstantin Belousov
kostikbel at gmail.com
Tue Apr 8 21:23:25 UTC 2014
On Tue, Apr 08, 2014 at 10:06:36PM +0100, Karl Pielorz wrote:
>
>
> --On 8 April 2014 15:33:53 -0400 John Baldwin <jhb at freebsd.org> wrote:
>
> > I think this patch only changes debug info, so I think you can just build
> > and install and re-attach gdb without having to restart sshd. Also, this
> > patch should only require you to build and install libexec/rtld-elf.
>
> Ok, patched, re-attached and re-ran bt (output is below). I've got gdb from
> ports building on that machine but I probably won't be able to do any more
> with it tonight.
>
> -Karl
>
> ---
>
> [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 _rtld_get_stack_prot () from /libexec/ld-elf.so.1
> #4 0x00000008006498c9 in r_debug_state () from /libexec/ld-elf.so.1
> #5 0x00000008006470cd in .text () from /libexec/ld-elf.so.1
> #6 0x000000000041072c in grace_alarm_handler (sig=-17504) at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/sshd.c:378
> #7 <signal handler called>
> #8 0x00000008038ea89c in __error () from /lib/libthr.so.3
> #9 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
> #10 0x00000008038e821c in _thr_rtld_rlock_acquire (lock=0x803af9480) at
> atomic.h:143
> #11 0x000000080064f9a2 in _rtld_get_stack_prot () from /libexec/ld-elf.so.1
> #12 0x00000008006498c9 in r_debug_state () from /libexec/ld-elf.so.1
> #13 0x00000008006470cd in .text () from /libexec/ld-elf.so.1
> #14 0x000000000042f9dd in sshpam_sigchld_handler (sig=<value optimized
> out>) at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/auth-pam.c:152
> #15 <signal handler called>
> #16 0x0000000800653aea in _rtld_atfork_post () from /libexec/ld-elf.so.1
> #17 0x000000080064a1eb in dlclose () from /libexec/ld-elf.so.1
> #18 0x0000000800edd121 in openpam_clear_chains () from /usr/lib/libpam.so.5
> #19 0x0000000800edd0bc in openpam_clear_chains () from /usr/lib/libpam.so.5
> #20 0x0000000800edd0bc in openpam_clear_chains () from /usr/lib/libpam.so.5
> #21 0x0000000800edd061 in openpam_clear_chains () from /usr/lib/libpam.so.5
> #22 0x0000000800ed99e7 in pam_end () from /usr/lib/libpam.so.5
> #23 0x000000000042e15d in sshpam_cleanup () at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/auth-pam.c:614
> #24 0x000000000041d58f in do_cleanup (authctxt=0x80401a600) at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/session.c:2732
> #25 0x000000000041064f in ssh_cleanup_exit (i=255) at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/sshd.c:2545
> #26 0x0000000000428f83 in mm_request_receive (sock=<value optimized out>,
> m=<value optimized out>)
> at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/monitor_wrap.c:153
> #27 0x0000000000427e26 in monitor_read (pmonitor=0x804022220,
> ent=0x6465a0, pent=0x7fffffffd0c0)
> at /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/monitor.c:593
> #28 0x0000000000427b49 in monitor_child_preauth (_authctxt=<value
> optimized out>, pmonitor=0x804022220)
> at /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/monitor.c:387
> #29 0x000000000040fd15 in main (ac=<value optimized out>, av=<value
> optimized out>) at
> /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/sshd.c:679
Ok, so the patch sort of worked, but your rtld does not have debugging
information for compiled .c files. Please, in the patched tree, do
the following:
cd libexec/rtld-elf
make clean
make DEBUG_FLAGS=-g DEBUG=-DDEBUG
make install
and then re-do the backtracing.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20140409/dcc6b51a/attachment.sig>
More information about the freebsd-hackers
mailing list