panic on zfs unmount

pluknet pluknet at gmail.com
Thu May 27 14:49:34 UTC 2010


On 11 December 2009 23:28, Stefan Bethke <stb at lassitu.de> wrote:
> I still sometimes get the "lost" .zfs/snapshot directory, with resulting panic, and it just happened again.  I have the full crash dump, if anyone wants to look at details.
>
> # cd /jail/foo/.zfs
> # ls
> ls: snapshot: Bad file descriptor
> # cd
> # zfs umount tank/jail/foo
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0xa8
> fault code              = supervisor write data, page not present
> instruction pointer     = 0x20:0xffffffff8033fac5
> stack pointer           = 0x28:0xffffff80626cf9d0
> frame pointer           = 0x28:0xffffff80626cf9e0
> 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         = 38362 (zfs)
> trap number             = 12
> panic: page fault
> cpuid = 0
> Uptime: 7d3h33m46s
> Physical memory: 3313 MB
>
> #0  doadump () at pcpu.h:223
> 223     pcpu.h: No such file or directory.
>        in pcpu.h
> (kgdb) #0  doadump () at pcpu.h:223
> #1  0xffffffff80337bd9 in boot (howto=260)
>    at /usr/src/sys/kern/kern_shutdown.c:416
> #2  0xffffffff8033802c in panic (fmt=Variable "fmt" is not available.
> )
>    at /usr/src/sys/kern/kern_shutdown.c:579
> #3  0xffffffff805cc2ad in trap_fatal (frame=0xc, eva=Variable "eva" is not available.
> )
>    at /usr/src/sys/amd64/amd64/trap.c:857
> #4  0xffffffff805cc694 in trap_pfault (frame=0xffffff80626cf920, usermode=0)
>    at /usr/src/sys/amd64/amd64/trap.c:773
> #5  0xffffffff805cd06a in trap (frame=0xffffff80626cf920)
>    at /usr/src/sys/amd64/amd64/trap.c:499
> #6  0xffffffff805b2943 in calltrap ()
>    at /usr/src/sys/amd64/amd64/exception.S:224
> #7  0xffffffff8033fac5 in _sx_xlock (sx=0x90, opts=0,
>    file=0xffffffff80ac1d30 "/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c", line=1349) at atomic.h:158
> #8  0xffffffff80a53b85 in zfsctl_umount_snapshots (vfsp=Variable "vfsp" is not available.
> )
>    at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c:1349
> #9  0xffffffff80a604f9 in zfs_umount (vfsp=0xffffff00017518d0, fflag=0)
>    at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c:1020
> #10 0xffffffff803c080a in dounmount (mp=0xffffff00017518d0, flags=0, td=Variable "td" is not available.
> )
>    at /usr/src/sys/kern/vfs_mount.c:1294
> #11 0xffffffff803c1038 in unmount (td=0xffffff002ed50720,
>    uap=0xffffff80626cfbf0) at /usr/src/sys/kern/vfs_mount.c:1179
> #12 0xffffffff805cc906 in syscall (frame=0xffffff80626cfc80)
>    at /usr/src/sys/amd64/amd64/trap.c:989
> #13 0xffffffff805b2c21 in Xfast_syscall ()
>    at /usr/src/sys/amd64/amd64/exception.S:373
> #14 0x0000000800f4ba4c in ?? ()
> Previous frame inner to this frame (corrupt stack?)
> (kgdb)
>
> --
> Stefan Bethke <stb at lassitu.de>   Fon +49 151 14070811
>

Same trace, when trying to destroy pool with mounted snapshots.
Seen on 7.3-amd64

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0xc0
fault code              = supervisor write data, page not present
instruction pointer     = 0x8:0xffffffff80543525
stack pointer           = 0x10:0xffffff8107cd79c0
frame pointer           = 0x10:0xffffff8107cd79d0
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         = 50534 (zpool)
db> bt
Tracing pid 50534 tid 100409 td 0xffffff005e3ab740
_sx_xlock() at _sx_xlock+0x15
zfsctl_umount_snapshots() at zfsctl_umount_snapshots+0xa5
zfs_umount() at zfs_umount+0xd0
dounmount() at dounmount+0x2c9
unmount() at unmount+0x30a
syscall() at syscall+0x256
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (22, FreeBSD ELF64, unmount), rip = 0x801032cdc, rsp =
0x7fffffffaac8, rbp = 0x801302000 ---

-- 
wbr,
pluknet


More information about the freebsd-stable mailing list