Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jun 2007 11:53:43 -0400
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        Current@FreeBSD.org
Subject:   ZFS and deadlock with {nullfs,NFS}
Message-ID:  <1182354823.6504.23.camel@shumai.marcuscom.com>

next in thread | raw e-mail | index | archive | help

--=-gme0goPbq6jcP1AhuPl7
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I've resurrected by amd64 Tinderbox with a ZFS base, and I've been
seeing a 100% reproducible deadlock when I use it with either localhost
NFS or nullfs.  When this occurs, the CPU is 100% idle, but I can no
longer connect via SSH, and the box will only reboot from the debugger.
I know there are some tuning bits I can tweak, but all I've run across
is for memory consumption.  Any pointers would be helpful.  I'm also at
the debugger, so if there is anything I can do to help troubleshoot why
this is happening, please let me know. =20

This box is -CURRENT as of June 19, 2007.  It has a GENERIC kernel minus
devices I do not have (i.e. SMP kernel).  I am currently using nullfs
for the Tinderbox.  The process that most regularly locks up is mtree.
Here is the trace:

FreeBSD cobbler.marcuscom.com 7.0-CURRENT FreeBSD 7.0-CURRENT #32: Tue
Jun 19 12:53:28 EDT 2007
marcus@cobbler.marcuscom.com:/usr/obj/usr/src/sys/COBBLER  amd64

Tracing command mtree pid 34844 tid 100169 td 0xffffff0060350680
sched_switch() at sched_switch+0x176
mi_switch() at mi_switch+0x231
sleepq_switch() at sleepq_switch+0xc7
sleepq_wait() at sleepq_wait+0x44
_cv_wait() at _cv_wait+0x14e
zio_wait() at zio_wait+0x5f
dbuf_read() at dbuf_read+0x2d5
dbuf_findbp() at dbuf_findbp+0xf7
dbuf_prefetch() at dbuf_prefetch+0xa9
dmu_zfetch_dofetch() at dmu_zfetch_dofetch+0xd4
dmu_zfetch() at dmu_zfetch+0x603
dbuf_read() at dbuf_read+0x535
dnode_hold_impl() at dnode_hold_impl+0xe7
dmu_bonus_hold() at dmu_bonus_hold+0x32
zfs_zget() at zfs_zget+0x6b
zfs_dirent_lock() at zfs_dirent_lock+0x2fc
zfs_dirlook() at zfs_dirlook+0x58
zfs_freebsd_lookup() at zfs_freebsd_lookup+0x13d
vfs_cache_lookup() at vfs_cache_lookup+0xf8
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x6d
lookup() at lookup+0x363
namei() at namei+0x2ca
kern_lstat() at kern_lstat+0x5e
lstat() at lstat+0x2a
syscall() at syscall+0x1ce
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (190, FreeBSD ELF64, lstat), rip =3D 0x800807e5c, rsp =3D
0x7fffffffe5b8, rbp =3D 0x556170 ---

A full process list from the debugger can be found at
http://www.marcuscom.com/downloads/cobbler_proc.txt .

Joe

--=20
Joe Marcus Clarke
FreeBSD GNOME Team      ::      gnome@FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome

--=-gme0goPbq6jcP1AhuPl7
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQBGeU2Gb2iPiv4Uz4cRAm1vAJsG+eaMf5x5amP2+/dT0FHtykomWQCfc96V
lR7KxcTu6q7/htqyzQBosjw=
=a1GC
-----END PGP SIGNATURE-----

--=-gme0goPbq6jcP1AhuPl7--




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