FreeBSD 8.1-R/amd64 - zfs 'hangs' - help tracing?

Andriy Gapon avg at icyb.net.ua
Wed Sep 29 15:03:54 UTC 2010


on 29/09/2010 13:30 Karl Pielorz said the following:
> --On 29 September 2010 11:24 +0100 Martin Simmons <martin at 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


More information about the freebsd-fs mailing list