Date: Thu, 6 May 2010 03:22:17 +0200 From: =?iso-8859-1?Q?St=E5le?= Kristoffersen <staale@kristoffersen.ws> To: freebsd-fs@freebsd.org Subject: Bad hardware + zfs = panic Message-ID: <20100506012217.GA41806@putsch.kolbu.ws>
index | next in thread | raw e-mail
I've been debugging a hardware error for the past few days, and I think it
was the CPU and that it is now fixed. But reading a file that was written to a
zfs-pool when stuff got corrupted still triggered a panic in ZFS code:
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x28
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff8106f2d3
stack pointer = 0x28:0xffffff80774914e0
frame pointer = 0x28:0xffffff8077491510
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 1350 (smbd)
trap number = 12
panic: page fault
cpuid = 0
Uptime: 2m53s
The lines in the backtrace that got my attention was:
#6 0xffffffff80847c73 in calltrap () at
/usr/src/sys/amd64/amd64/exception.S:224
#7 0xffffffff8106f2d3 in vdev_is_dead (vd=0x0) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1847
#8 0xffffffff8106f2ed in vdev_readable (vd=0x0) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1854
The complete bt is available here:
http://heim.ifi.uio.no/staalebk/zfs-panic.txt
As you can see vd=0x0, and I think that caused the panic, since it
tried to follow that pointer:
return (vd->vdev_state < VDEV_STATE_DEGRADED);
I then tried to remove the file and I got this:
Solaris: WARNING: metaslab_free_dva(): bad DVA
199476166:1296607792756162560
Solaris: WARNING: metaslab_free_dva(): bad DVA 4236221:7256850009726709760
Solaris: WARNING: metaslab_free_dva(): bad DVA
935912721:16480078061480073216
Maybe there should be a test to check if vd was zero, and
throw an io-error or something, instead of panicing?
I'm new to debugging kernels, so if what I'm typing makes no sense, just
tell me.
Kernel version is:
FreeBSD fs2 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan
5 21:11:58 UTC 2010
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
--
Ståle Kristoffersen
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100506012217.GA41806>
