kern/145272: Panic during boot when accessing zfs on a gmirror

Christopher Key chris at chacal.cjkey.org.uk
Thu Apr 1 21:50:08 UTC 2010


>Number:         145272
>Category:       kern
>Synopsis:       Panic during boot when accessing zfs on a gmirror
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 01 21:50:07 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Christopher Key
>Release:        FreeBSD 8.0-RELEASE-p2 amd64
>Organization:
>Environment:
System: FreeBSD chacal.wzl33 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #1: Thu Apr 1 21:31:00 BST 2010 root at chacal.wzl33:/usr/obj/usr/src/sys/CHACAL-DEBUG amd64


	
>Description:

Panic during boot when accessing zfs on a gmirror.

This appears to have become a problem between 7.2-RELEASE and 8.0-RELEASE.  The steps below that reproduce the problem haven't been directly tested on a 7.2 system, but a similar configuration (zpool on a single slice on a gmirror) that worked under 7.2 shows identical symptoms under 8.0.


	
>How-To-Repeat:

# gmirror label gmtest /dev/da5
# zpool create zptest /dev/mirror/gmtest
# zpool export zptest
# reboot

... system boots fine.

# zpool import zptest
# reboot

... during boot:

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x0
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff80aa7dfe
stack pointer           = 0x28:0xffffff803f8a06e0
frame pointer           = 0x28:0xffffff803f8a0740
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         = 42 (zfs)
trap number             = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
panic() at panic+0x182
trap_fatal() at trap_fatal+0x2ad
trap_pfault() at trap_pfault+0x294
trap() at trap+0x3cf
calltrap() at calltrap+0x8
--- trap 0xc, rip = 0xffffffff80aa7dfe, rsp = 0xffffff803f8a06e0, rbp = 0xffffff                                                                             803f8a0740 ---
vdev_geom_open() at vdev_geom_open+0x10e
vdev_open() at vdev_open+0xa8
vdev_root_open() at vdev_root_open+0x86
vdev_open() at vdev_open+0xa8
spa_load() at spa_load+0x1d0
spa_load() at spa_load+0x452
spa_open_common() at spa_open_common+0x12d
spa_get_stats() at spa_get_stats+0x42
zfs_ioc_pool_stats() at zfs_ioc_pool_stats+0x2c
zfsdev_ioctl() at zfsdev_ioctl+0x8d
devfs_ioctl_f() at devfs_ioctl_f+0x77
kern_ioctl() at kern_ioctl+0xf6
ioctl() at ioctl+0xfd
syscall() at syscall+0x246
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (54, FreeBSD ELF64, ioctl), rip = 0x800fe874c, rsp = 0x7fffffffd808,                                                                              rbp = 0x80122d440 ---



	
>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list