Re: ZFS + usb in trouble?

From: Hans Petter Selasky <hselasky_at_c2i.net>
Date: Sun, 27 Jan 2013 16:59:02 +0100
On Sunday 27 January 2013 13:52:20 Alexander Nedotsukov wrote:
> Thank you, Pawel.
> 
> Hans, can please you take a look at your commits done on Dec 20 (r244500
> and r244503)? They are seems to be the culprit.

Hi,

I don't have 10-current machine here right now, but I tried the following on a 
9-stable machine:

9.1-STABLE FreeBSD 9.1-STABLE /usr/obj/usr/src/sys/GENERIC i386

1) Copy sys/dev/usb from 10-current to 9-stable. Keep "sys/dev/usb/usb_pf.
[ch]"

2) Compiled new kernel.

3) Inserted three brand new and identical memory sticks:

da1 da2 da3

zpool create tank raidz da1 da2 da3

OK

cd /tank
tar -xvf 10-current.tar

zpool export tank

PANIC 100% reproducible:

After reboot:

zpool import tank
cannot import 'tank': pool is formatted using a newer ZFS version

 zpool import
   pool: tank
     id: 3524585230830777970
  state: FAULTED
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
   see: http://illumos.org/msg/ZFS-8000-5E
 config:

	tank                      FAULTED  corrupted data
	  raidz1-0                ONLINE
	    11957153069341388916  UNAVAIL  corrupted data
	    2594767990561096052   UNAVAIL  corrupted data
	    2009858017158938805   UNAVAIL  corrupted data


Fatal trap 12: page fault while in kernel mode
cpuid = 6; apic id = 16
fault virtual address   = 0x54
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xcd09c584
stack pointer           = 0x28:0xf0ee8a60
frame pointer           = 0x28:0xf0ee8a88
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 8049 (zpool)
trap number             = 12
panic: page fault
cpuid = 6
KDB: stack backtrace:
#0 0xc0afecef at kdb_backtrace+0x4f
#1 0xc0acb56f at panic+0x16f
#2 0xc0e33c03 at trap_fatal+0x323
#3 0xc0e33d08 at trap_pfault+0xf8
#4 0xc0e34c8a at trap+0x46a
#5 0xc0e1e22c at calltrap+0x6
#6 0xcd0bcc17 at vdev_metaslab_fini+0x57
#7 0xcd0bd654 at vdev_free+0x64
#8 0xcd0bd62f at vdev_free+0x3f
#9 0xcd0a3b92 at spa_unload+0xb2
#10 0xcd0a74ab at spa_export_common+0x13b
#11 0xcd0f704d at zfs_ioc_pool_export+0x3d
#12 0xcd0f75ad at zfsdev_ioctl+0xcd
#13 0xc09ae0ea at devfs_ioctl_f+0x10a
#14 0xc0b10360 at kern_ioctl+0x2a0
#15 0xc0b104d4 at sys_ioctl+0x134
#16 0xc0e3437a at syscall+0x34a
#17 0xc0e1e291 at Xint0x80_syscall+0x21
Uptime: 13m19s
Physical memory: 3519 MB
Dumping 351 MB: 336 320 304 288 272 256 240 224 208 192 176 160 144 128 112 96 
80 64 48 32 16

#0  doadump (textdump=1) at pcpu.h:249
249     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) #0  doadump (textdump=1) at pcpu.h:249
#1  0xc0acb2b5 in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:448
#2  0xc0acb5b2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:636
#3  0xc0e33c03 in trap_fatal (frame=0xf0ee8a20, eva=84)
    at /usr/src/sys/i386/i386/trap.c:1043
#4  0xc0e33d08 in trap_pfault (frame=0xf0ee8a20, usermode=0, eva=84)
    at /usr/src/sys/i386/i386/trap.c:895
#5  0xc0e34c8a in trap (frame=0xf0ee8a20) at /usr/src/sys/i386/i386/trap.c:555
#6  0xc0e1e22c in calltrap () at /usr/src/sys/i386/i386/exception.s:169
#7  0xcd09c584 in metaslab_fini (msp=0xcd680000)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c:760
#8  0xcd0bcc17 in vdev_metaslab_fini (vd=0xcb685000)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:898
#9  0xcd0bd654 in vdev_free (vd=0xcb685000)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:596
#10 0xcd0bd62f in vdev_free (vd=0xcb685800)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:587
#11 0xcd0a3b92 in spa_unload (spa=0xcb64d000)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:1193
#12 0xcd0a74ab in spa_export_common (pool=Variable "pool" is not available.
)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:4312
#13 0xcd0f704d in zfs_ioc_pool_export (zc=0xcd728000)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:1328
#14 0xcd0f75ad in zfsdev_ioctl (dev=0xcb5bb500, cmd=3583531523, 
    addr=0xcd728000 "tank", flag=0, td=0xcb7ad2f0)
    at 
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:5248
#15 0xc09ae0ea in devfs_ioctl_f (fp=0xcdaf01f8, com=3583531523, 
    data=0xcd728000, cred=0xcd64a400, td=0xcb7ad2f0)
    at /usr/src/sys/fs/devfs/devfs_vnops.c:757
#16 0xc0b10360 in kern_ioctl (td=0xcb7ad2f0, fd=3, com=3583531523, 
    data=0xcd728000 "tank") at file.h:311
#17 0xc0b104d4 in sys_ioctl (td=0xcb7ad2f0, uap=0xf0ee8ccc)
    at /usr/src/sys/kern/sys_generic.c:692
#18 0xc0e3437a in syscall (frame=0xf0ee8d08) at subr_syscall.c:135
#19 0xc0e1e291 in Xint0x80_syscall ()
    at /usr/src/sys/i386/i386/exception.s:267
#20 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) 
Received on Sun Jan 27 2013 - 14:57:56 UTC

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