Subject: Re: process wedged in vnlock
To: Tom Spindler <dogcow@babymeat.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: current-users
Date: 02/27/2007 17:19:45
--m51xatjYGsM+13rf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Tue, Feb 27, 2007 at 03:22:10PM -0800, Tom Spindler wrote:
> Here's the results. (I had to boot into multiuser mode, which was kind
> of annoying; didn't seem to work in singleuser.)
Didn't seem to fail, you mean? :-)
> db> ps/l
> PID LID S FLAGS STRUCT LWP * UAREA * WAIT =
=20
> 116 1 3 0x1000004 0xceff11c0 0xcd22ece0 vnlock
> 1054 1 3 0x84 0xceff1340 0xcd04ece0 pause
> 977 1 3 0x84 0xceff1ac0 0xcc3aece0 ttyin
> 855 1 3 0x84 0xcb1b3020 0xcc65ece0 ttyin
> 1039 1 3 0x84 0xcb1b34a0 0xcbe6ece0 wait
> 946 1 3 0x84 0xcb1b37a0 0xcbca8ce0 ttyin
> 1013 1 3 0x84 0xceff14c0 0xcce7ece0 nanoslp
> 1050 1 3 0x84 0xceff17c0 0xccc1ece0 select
> 1023 1 3 0x84 0xceff1640 0xccd0ece0 select
> 952 1 3 0x84 0xceff1940 0xcc82ece0 select
> 764 1 3 0x84 0xceff1dc0 0xcc74ece0 select
> 726 1 3 0x84 0xcb1b31a0 0xcc59ece0 pause
> 435 1 2 0x4 0xcb1b3320 0xcc4aece0=20
> 349 1 3 0x84 0xcb1b3620 0xcbcacce0 select
> 91 1 3 0x204 0xceff1c40 0xcc98ece0 physiod
> 14 1 3 0x204 0xcb1b3920 0xcbca4ce0 aiodon=
ed
> 13 1 3 0x204 0xcb1b3aa0 0xcbca1ce0 syncer
> 12 1 3 0x204 0xcb1b3c20 0xcbc9ece0 pgdaem=
on
> 11 1 3 0x204 0xcb1b3da0 0xcbc99ce0 sccomp
> 10 1 3 0x204 0xcb1ac000 0xcbc93ce0 apmev
> 9 1 3 0x284 0xcb1ac180 0xcbc90ce0 fwprobe
> db> t/a 0xceff11c0
> trace: pid 116 lid 1 at 0xcd22e9fc
> sleepq_switch(0,0,cd1b7c74,c0363964,0) at netbsd:sleepq_switch+0x53
> ltsleep(cd1b7c74,14,c0363964,0,cd1b7c74) at netbsd:ltsleep+0x13b
> acquire(0,40500,c019de46,0,74) at netbsd:acquire+0x104
> _lockmgr(cd1b7c74,10002,cd1b7bec,c0386930,937) at netbsd:_lockmgr+0x9bb
Ok, this looks like normal vnode lock aquisition.
What we need to know is which process holds this vnode lock, and what it=20
is sleeping on.
> ufs_lock(cd22eb60,cd22eb94,cf0b2334,cd22ebb8,0) at netbsd:ufs_lock+0x3a
> VOP_LOCK(cd1b7bec,10002,2b7,0,5) at netbsd:VOP_LOCK+0x23
> vn_lock(cd1b7bec,20002,200,0,cf0b3a88) at netbsd:vn_lock+0x96
> vn_close(cd1b7bec,5,cf0b2334,ceff11c0,ceff11c0) at netbsd:vn_close+0x21
> vn_closefile(cf0b3a88,ceff11c0,5b3,0,0) at netbsd:vn_closefile+0x1a
> closef(cf0b3a88,ceff11c0,cd22ec68,cd22ece0,8054000) at netbsd:closef+0x17c
> syscall_plain() at netbsd:syscall_plain+0xb4
> --- syscall (number 6) ---
> 0xbbb191fb:
> db> show lock ufs_hashlock
Doesn't really matter, you're in a normal vnode call path.
Take care,
Bill
--m51xatjYGsM+13rf
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (NetBSD)
iD8DBQFF5NixWz+3JHUci9cRAgP/AKCXYYX+MYbluSwauRiXYanNc8hz8QCfVSTo
zP3spq2ed3Xtajb2NNguGg0=
=CQeY
-----END PGP SIGNATURE-----
--m51xatjYGsM+13rf--