Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2010 18:03:47 +0300
From:      Andriy Gapon <avg@icyb.net.ua>
To:        Karl Pielorz <kpielorz_lst@tdx.co.uk>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: FreeBSD 8.1-R/amd64 - zfs 'hangs' - help tracing?
Message-ID:  <4CA35553.1080804@icyb.net.ua>
In-Reply-To: <8CF1F1F15531907E2F8DC2A2@HexaDeca64.dmpriest.net.uk>
References:  <E535F873EBCF64D19AC01035@HexaDeca64.dmpriest.net.uk>	<201009291024.o8TAOnph013730@higson.cam.lispworks.com> <8CF1F1F15531907E2F8DC2A2@HexaDeca64.dmpriest.net.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
on 29/09/2010 13:30 Karl Pielorz said the following:
> --On 29 September 2010 11:24 +0100 Martin Simmons <martin@lispworks.com> wrote:
> 
>>> I saw a while ago a command under 8.1 to get 'more info' for these stuck
>>> processes, but can't for the life of me remember it?
>>
>> Maybe procstat -k -k $pid is what you are looking for (i.e. a kernel
>> backtrace)?  Use -a instead of $pid to get all processes.
> 
> Yup, that's it - thanks!
> 
> Having run it I get:
> 
> procstat -k -k 1927 (PID 1927 is the 'ls' that's locked up)
> 
>  PID    TID COMM             TDNAME           KSTACK
> 1927 100206 ls               -                mi_switch+0x16f sleepq_wait+0x42
> _cv_wait+0x111 zio_wait+0x61 dbuf_read+0x39a dnode_hold_impl+0xe7
> dmu_bonus_hold+0x2a zfs_zget+0x227 zfs_dirent_lock+0x4e3 zfs_dirlook+0x69
> zfs_lookup+0x1f0 zfs_freebsd_lookup+0x81 vfs_cache_lookup+0xf0 VOP_LOOKUP_APV+0x40
> lookup+0x40a namei+0x52b kern_statat_vnhook+0x8f kern_statat+0x15
> 
> 
> Which will hopefully mean something more to someone here than it does me at the
> moment ;)

This looks like the process is stuck waiting for I/O completion.
Can't tell whether it's an I/O problem, or perhaps the I/O operation has long
completed but wakeup from it was lost...

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CA35553.1080804>