ZFS panic when changing zfs dataset mountpoint

Niki Denev nike_d at cytexbg.com
Tue Feb 12 11:04:40 UTC 2008


Hi,

I got the following panic when trying to set/change the mountpoint
property of a dataset.

I did :
  # zfs set mountpoint=/usr/ports zfs2/ports
and the machine crashed.

The datased had one snapshot taken.

Here is what i was able to extract from the dump :

# kgdb -q /boot/kernel/kernel.symbols /var/crash/vmcore.0
[GDB will not be able to debug user-mode threads:
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]

Unread portion of the kernel message buffer:


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:0xffffffff804800d5
stack pointer           = 0x10:0xffffffffd7a71980
frame pointer           = 0x10:0xffffffffd7a71a20
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         = 71366 (zfs)
trap number             = 12
panic: page fault
cpuid = 0
Uptime: 7d21h41m6s
Physical memory: 2034 MB
Dumping 1879 MB: 1864 1848 1832 1816 1800 1784 1768 1752 1736 1720
1704 1688 1672 1656 1640 1624 1608 1592 1576 1560 1544 1528 1512 1496
1480 1464 1448 1432 1416 1400 1384 1368 1352 1336 1320 1304 1288 1272
1256 1240 1224 1208 1192 1176 1160 1144 1128 1112 1096 1080 1064 1048
1032 1016 1000 984 968 952 936 920 904 888 872 856 840 824 808 792 776
760 744 728 712 696 680 664 648 632 616 600 584 568 552 536 520 504
488 472 456 440 424 408 392 376 360 344 328 312 296 280 264 248 232
216 200 184 168 152 136 120 104 88 72 56 40 24 8

#0  doadump () at pcpu.h:194
194     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) add-symbol-file /boot/kernel/zfs.ko.symbols 0xffffffff80bfc000
add symbol table from file "/boot/kernel/zfs.ko.symbols" at
        .text_addr = 0xffffffff80bfc000
(y or n) y
Reading symbols from /boot/kernel/zfs.ko.symbols...done.
(kgdb) list *0xffffffff804800d5
0xffffffff804800d5 is in _sx_xlock (atomic.h:142).
137     atomic.h: No such file or directory.
        in atomic.h
(kgdb) bt
#0  doadump () at pcpu.h:194
#1  0x0000000000000004 in avl_balance2child ()
#2  0xffffffff80478619 in boot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:409
#3  0xffffffff80478a1d in panic (fmt=0x104 <Address 0x104 out of
bounds>) at /usr/src/sys/kern/kern_shutdown.c:563
#4  0xffffffff8074f154 in trap_fatal (frame=0xffffff001483b6a0,
eva=18446742974905006288) at /usr/src/sys/amd64/amd64/trap.c:724
#5  0xffffffff8074f525 in trap_pfault (frame=0xffffffffd7a718d0,
usermode=0) at /usr/src/sys/amd64/amd64/trap.c:641
#6  0xffffffff8074fe68 in trap (frame=0xffffffffd7a718d0) at
/usr/src/sys/amd64/amd64/trap.c:410
#7  0xffffffff80735ace in calltrap () at
/usr/src/sys/amd64/amd64/exception.S:169
#8  0xffffffff804800d5 in _sx_xlock (sx=0xa0, opts=0,
    file=0xffffffff80c697f0
"/usr/src/sys/modules/zfs/../../contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c",
line=1069) at atomic.h:142
#9  0xffffffff80c50b2a in zfsctl_umount_snapshots (vfsp=Variable
"vfsp" is not available.
) at /usr/src/sys/modules/zfs/../../contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c:1069
#10 0xffffffff80c57978 in zfs_umount (vfsp=0xffffff00014f5650,
fflag=0, td=0xffffff001483b6a0)
    at /usr/src/sys/modules/zfs/../../contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c:692
#11 0xffffffff804ebfce in dounmount (mp=0xffffff00014f5650, flags=0,
td=0xffffff001483b6a0) at /usr/src/sys/kern/vfs_mount.c:1286
#12 0xffffffff804ec7b5 in unmount (td=0xffffff001483b6a0,
uap=0xffffffffd7a71be0) at /usr/src/sys/kern/vfs_mount.c:1182
#13 0xffffffff8074f7a7 in syscall (frame=0xffffffffd7a71c70) at
/usr/src/sys/amd64/amd64/trap.c:852
#14 0xffffffff80735cdb in Xfast_syscall () at
/usr/src/sys/amd64/amd64/exception.S:290
#15 0x0000000800f1396c in ?? ()
Previous frame inner to this frame (corrupt stack?)


I'll be glad to provide more info if needed.

The machine is running : FreeBSD fyut.bg.freebsd.org 7.0-PRERELEASE
FreeBSD 7.0-PRERELEASE #0: Sat Feb  2 17:27:18 EET 2008
root at fyut.bg.freebsd.org:/usr/obj/usr/src/sys/FYUT  amd64


More information about the freebsd-fs mailing list