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