Date: Thu, 3 Apr 2014 11:03:40 -0400 From: John Baldwin <jhb@freebsd.org> To: Karl Pielorz <kpielorz_lst@tdx.co.uk> Cc: freebsd-hackers@freebsd.org Subject: Re: Stuck CLOSED sockets / sshd / zombies... Message-ID: <201404031103.41171.jhb@freebsd.org> In-Reply-To: <9FDC091D98AB2CF92DE4399F@Mail-PC.tdx.co.uk> References: <3FE645E9723756F22EF901AE@Mail-PC.tdx.co.uk> <201404021405.56878.jhb@freebsd.org> <9FDC091D98AB2CF92DE4399F@Mail-PC.tdx.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, April 03, 2014 4:02:21 am Karl Pielorz wrote:
>
> --On 02 April 2014 14:05 -0400 John Baldwin <jhb@freebsd.org> wrote:
>
> > Grr, I guess that's what I should have expected. Was sort of hoping to
> > be able to see which socket it was blocked on. Can you run 'kgdb' as root
> > (no args), then do 'proc 4346' and 'bt'? If you are familiar with gdb,
> > walk up to the frame that in sys_read and do 'p *uap' so we can see which
> > fd is being read.
>
> Ok, think I've done this right (if not, let me know what I should be doing
> :)
>
> "
> ...
> (kgdb) up
> #9 0xffffffff80903133 in sys_read (td=<value optimized out>, uap=<value
> optimized out>) at ../../../kern/sys_generic.c:171
> 171 error = kern_readv(td, uap->fd, &auio);
> (kgdb) p *uap
> $1 = {fd_l_ = 0xfffff800238bb920 "\b\021I\201ÿÿÿÿ", fd = -2125917944,
> fd_r_ = "ÿÿÿÿ", buf_l_ = 0xfffff800238bb928 "", buf =
> 0xfffff800237a1000,
> buf_r_ = 0xfffff800238bb930 "", nbyte_l_ = 0xfffff800238bb930 "", nbyte =
> 0, nbyte_r_ = 0xfffff800238bb938 "\020\020z#"}
Hmm, that fd value doesn't make any sense now. Do you have the backtrace for
that process? The fd may show up in the arguments to kern_readv().
--
John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404031103.41171.jhb>
