Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 May 2010 18:49:33 +0400
From:      pluknet <pluknet@gmail.com>
To:        Stefan Bethke <stb@lassitu.de>
Cc:        FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: panic on zfs unmount
Message-ID:  <AANLkTim2nw2cuzDeAkzBmHKoe-9tQG13ZvjBjCySQFIi@mail.gmail.com>
In-Reply-To: <36AED70D-52B8-47AD-8E6A-C21402D42151@lassitu.de>
References:  <36AED70D-52B8-47AD-8E6A-C21402D42151@lassitu.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11 December 2009 23:28, Stefan Bethke <stb@lassitu.de> wrote:
> I still sometimes get the "lost" .zfs/snapshot directory, with resulting =
panic, and it just happened again. =A0I 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 =3D 0; apic id =3D 00
> fault virtual address =A0 =3D 0xa8
> fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor write data, page not=
 present
> instruction pointer =A0 =A0 =3D 0x20:0xffffffff8033fac5
> stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff80626cf9d0
> frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff80626cf9e0
> code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1=
b
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D DPL 0, pres 1, long 1,=
 def32 0, gran 1
> processor eflags =A0 =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D 0
> current process =A0 =A0 =A0 =A0 =3D 38362 (zfs)
> trap number =A0 =A0 =A0 =A0 =A0 =A0 =3D 12
> panic: page fault
> cpuid =3D 0
> Uptime: 7d3h33m46s
> Physical memory: 3313 MB
>
> #0 =A0doadump () at pcpu.h:223
> 223 =A0 =A0 pcpu.h: No such file or directory.
> =A0 =A0 =A0 =A0in pcpu.h
> (kgdb) #0 =A0doadump () at pcpu.h:223
> #1 =A00xffffffff80337bd9 in boot (howto=3D260)
> =A0 =A0at /usr/src/sys/kern/kern_shutdown.c:416
> #2 =A00xffffffff8033802c in panic (fmt=3DVariable "fmt" is not available.
> )
> =A0 =A0at /usr/src/sys/kern/kern_shutdown.c:579
> #3 =A00xffffffff805cc2ad in trap_fatal (frame=3D0xc, eva=3DVariable "eva"=
 is not available.
> )
> =A0 =A0at /usr/src/sys/amd64/amd64/trap.c:857
> #4 =A00xffffffff805cc694 in trap_pfault (frame=3D0xffffff80626cf920, user=
mode=3D0)
> =A0 =A0at /usr/src/sys/amd64/amd64/trap.c:773
> #5 =A00xffffffff805cd06a in trap (frame=3D0xffffff80626cf920)
> =A0 =A0at /usr/src/sys/amd64/amd64/trap.c:499
> #6 =A00xffffffff805b2943 in calltrap ()
> =A0 =A0at /usr/src/sys/amd64/amd64/exception.S:224
> #7 =A00xffffffff8033fac5 in _sx_xlock (sx=3D0x90, opts=3D0,
> =A0 =A0file=3D0xffffffff80ac1d30 "/usr/src/sys/modules/zfs/../../cddl/con=
trib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c", line=3D1349) at atomic.h:=
158
> #8 =A00xffffffff80a53b85 in zfsctl_umount_snapshots (vfsp=3DVariable "vfs=
p" is not available.
> )
> =A0 =A0at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/com=
mon/fs/zfs/zfs_ctldir.c:1349
> #9 =A00xffffffff80a604f9 in zfs_umount (vfsp=3D0xffffff00017518d0, fflag=
=3D0)
> =A0 =A0at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/com=
mon/fs/zfs/zfs_vfsops.c:1020
> #10 0xffffffff803c080a in dounmount (mp=3D0xffffff00017518d0, flags=3D0, =
td=3DVariable "td" is not available.
> )
> =A0 =A0at /usr/src/sys/kern/vfs_mount.c:1294
> #11 0xffffffff803c1038 in unmount (td=3D0xffffff002ed50720,
> =A0 =A0uap=3D0xffffff80626cfbf0) at /usr/src/sys/kern/vfs_mount.c:1179
> #12 0xffffffff805cc906 in syscall (frame=3D0xffffff80626cfc80)
> =A0 =A0at /usr/src/sys/amd64/amd64/trap.c:989
> #13 0xffffffff805b2c21 in Xfast_syscall ()
> =A0 =A0at /usr/src/sys/amd64/amd64/exception.S:373
> #14 0x0000000800f4ba4c in ?? ()
> Previous frame inner to this frame (corrupt stack?)
> (kgdb)
>
> --
> Stefan Bethke <stb@lassitu.de> =A0 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 =3D 0; apic id =3D 00
fault virtual address   =3D 0xc0
fault code              =3D supervisor write data, page not present
instruction pointer     =3D 0x8:0xffffffff80543525
stack pointer           =3D 0x10:0xffffff8107cd79c0
frame pointer           =3D 0x10:0xffffff8107cd79d0
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 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 =3D 0x801032cdc, rsp =3D
0x7fffffffaac8, rbp =3D 0x801302000 ---

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTim2nw2cuzDeAkzBmHKoe-9tQG13ZvjBjCySQFIi>