Date: Wed, 6 Apr 2011 04:00:43 -0400 From: Nathaniel W Filardo <nwf@cs.jhu.edu> To: freebsd-current@freebsd.org, freebsd-fs@freebsd.org Subject: ZFS panic with concurrent recv and read-heavy workload Message-ID: <20110406080043.GQ609@gradx.cs.jhu.edu>
next in thread | raw e-mail | index | archive | help
--NEvmWj2iiHf6S+l1
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
When racing two workloads, one doing
> zfs recv -v -d testpool
and the other
> find /testpool -type f -print0 | xargs -0 sha1
I can (seemingly reliably) trigger this panic:
panic: Lock buf_hash_table.ht_locks[i].ht_lock not exclusively locked @ /us=
r/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/arc.=
c:1869 =20
=
=20
cpuid =3D 1 =
=20
KDB: stack backtrace: =
=20
panic() at panic+0x1c8 =
=20
_sx_assert() at _sx_assert+0xc4 =
=20
_sx_xunlock() at _sx_xunlock+0x98 =
=20
arc_evict() at arc_evict+0x614 =
=20
arc_get_data_buf() at arc_get_data_buf+0x360 =
=20
arc_buf_alloc() at arc_buf_alloc+0x94 =
=20
dmu_buf_will_fill() at dmu_buf_will_fill+0xfc
dmu_write() at dmu_write+0xec
dmu_recv_stream() at dmu_recv_stream+0x8a8 =
=20
zfs_ioc_recv() at zfs_ioc_recv+0x354 =
=20
zfsdev_ioctl() at zfsdev_ioctl+0xe0 =
=20
devfs_ioctl_f() at devfs_ioctl_f+0xe8 =
=20
kern_ioctl() at kern_ioctl+0x294 =
=20
ioctl() at ioctl+0x198
syscallenter() at syscallenter+0x270
syscall() at syscall+0x74 =
=20
-- syscall (54, FreeBSD ELF64, ioctl) %o7=3D0x40c13e24 -- =
=20
userland() at 0x40e72cc8 =
=20
user trace: trap %o7=3D0x40c13e24 =
=20
pc 0x40e72cc8, sp 0x7fdffff4641
pc 0x40c158f4, sp 0x7fdffff4721 =
=20
pc 0x40c1e878, sp 0x7fdffff47f1 =
=20
pc 0x40c1ce54, sp 0x7fdffff8b01 =
=20
pc 0x40c1dbe0, sp 0x7fdffff9431 =
=20
pc 0x40c1f718, sp 0x7fdffffd741 =
=20
pc 0x10731c, sp 0x7fdffffd831 =
=20
pc 0x10c90c, sp 0x7fdffffd8f1 =
=20
pc 0x103ef0, sp 0x7fdffffe1d1 =
=20
pc 0x4021aff4, sp 0x7fdffffe291 =
=20
done
The machine is a freshly installed and built sparc64 2-way SMP, running
today's -CURRENT with
http://people.freebsd.org/~mm/patches/zfs/zfs_ioctl_compat_bugfix.patch
applied. Of note, it has only 1G of RAM in it, so kmem_max <=3D 512M.
Thoughts? More information? Thanks in advance.
--nwf;
--NEvmWj2iiHf6S+l1
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAk2cHasACgkQTeQabvr9Tc+K4QCeOE6VM+JEoPVsvgDXPpIhSuG/
Nq4Ani1uL00nzKfhxpAQRxWCc51hWxw2
=ep5z
-----END PGP SIGNATURE-----
--NEvmWj2iiHf6S+l1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110406080043.GQ609>
