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>