ZFS panic import

From: Danilo Baio <danilobaio_at_gmail.com>
Date: Wed, 2 Jun 2010 16:52:28 -0300
Hi,

I have (had), a freebsd 8.0 release-p2 running a zfs poll with raidz, 3
disks 250gb SATA and 1 disk IDE... OK... this was running for a while
without problem, but, some day ago, with a power outage the zfs don't import
anymore.

All the system was in the ZFS, so, i had to use a fixit cd for try to
import.

zpool import -o ro ID..
cannot import ' tank': pool may be in use from other system
use -f to import anyway

with -f:

panic: solaris assert: size != 0, file
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c,
line: 91
cpuid = 0
Uptime: .10m55s

I saved the coredump:

kgdb kernel.debug /home/dbaio/zfs.vmcore.0
...
...
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is
present;
to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf.
ZFS filesystem version 13
ZFS storage pool version 13
panic: solaris assert: size != 0, file:
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c,
line: 91
cpuid = 0
Uptime: 7m13s
Physical memory: 3949 MB
Dumping 1288 MB: (CTRL-C to abort) (CTRL-C to abort) 1273 1257 1241 1225
1209 1193 1177 1161 1145 1129 1113 1097 1081 1065 1049 1033 1017 1001 985
969 953 937 921 905 889 873 857 841 825 809 793 777 761 745 729 713 697 681
665 649 633 617 601 585 569 553 537 521 505 489 473 457 441 425 409 393 377
361 345 329 313 297 281 265 249 233 217 201 185 169 153 137 121 105 89 73 57
41 25 9

Reading symbols from /mnt2/boot/kernel/opensolaris.ko...done.
Loaded symbols for /mnt2/boot/kernel/opensolaris.ko
Reading symbols from /mnt2/boot/kernel/zfs.ko...done.
Loaded symbols for /mnt2/boot/kernel/zfs.ko
#0 doadump () at pcpu.h:223
223 __asm __volatile("movq %%gs:0,%0" : "=r" (td));
(kgdb) backtrace
#0 doadump () at pcpu.h:223
#1 0xffffffff8057f8c9 in boot (howto=260)
at /usr/src/sys/kern/kern_shutdown.c:416
#2 0xffffffff8057fcfc in panic (
fmt=0xffffffff814fdce8 "solaris assert: %s, file: %s, line: %d")
at /usr/src/sys/kern/kern_shutdown.c:579
#3 0xffffffff8146f1d3 in space_map_add () from /mnt2/boot/kernel/zfs.ko
#4 0xffffffff81461195 in metaslab_free_dva () from /mnt2/boot/kernel/zfs.ko
#5 0xffffffff814612ea in metaslab_free () from /mnt2/boot/kernel/zfs.ko
#6 0x0000000000000000 in ?? ()
#7 0x0000000000053732 in ?? ()
#8 0x0000000000000008 in ?? ()
#9 0xffffff0004866870 in ?? ()
#10 0xffffff000411d000 in ?? ()
#11 0x0000000000000000 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0xffffff80756ff660 in ?? ()
#14 0xffffffff81487d67 in zio_dva_free () from /mnt2/boot/kernel/zfs.ko
#15 0xffffffff81488f07 in zio_execute () from /mnt2/boot/kernel/zfs.ko
#16 0xffffffff8143a675 in arc_free () from /mnt2/boot/kernel/zfs.ko
#17 0xffffffff814557a2 in dsl_dataset_block_kill ()
from /mnt2/boot/kernel/zfs.ko
#18 0xffffffff8144fbdf in free_blocks () from /mnt2/boot/kernel/zfs.ko
---Type <return> to continue, or q <return> to quit---

Now, with 8.1 beta fixit, the same error...

panic: solaris assert: size != 0, file
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c,
line: 90

...

With opensolaris indiana, i can import this zfs with -f
I have already save the data content and now i can do some tests if you
want..

root_at_opensolaris:~# zpool import
pool: tank
id: 18269788674034674773
state: ONLINE
status: The pool is formatted using an older on-disk version.
action: The pool can be imported using its name or numeric identifier,
though
some features will not be available without an explicit 'zpool upgrade'.
config:

tank ONLINE
raidz1 ONLINE
c7d0p1 ONLINE
c9d0p1 ONLINE
c7d1p1 ONLINE
c8d0p1 ONLINE

This machine is a AMD Athlon(tm) 64 Processor 3000+ with 4gb ram.


If something that i can do for help, let me know... maybe the problem is me
=)

Regards.

-- 
Danilo Gonçalves Baio (dbaio)
danilobaio  (*) gmail . com
+55 (44) 8801 1257
Received on Wed Jun 02 2010 - 18:17:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:04 UTC