Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Jun 2014 14:37:36 -0400
From:      grarpamp <grarpamp@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   ZFS import panic (kgdb backtrace attached)
Message-ID:  <CAD2Ti29gKmED34S5z6NEUnaGOsx8m2uPEJiPWPZLcebJ6PD-mw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
ZFS pool was 96% full and under heavy sequential write, and panicked.
Dumps were not enabled so this first panic was lost. Fixed that, then...

# zpool import -o readonly=on -f pool
(ok, zpool export pool)
# zpool import -f pool
(repeatably panics, coredump, reboot)

FreeBSD 8.4-STABLE #0 r265935 i386

[/usr/include]% kgdb /boot/kernel/kernel /.../vmcore.1
GNU gdb 6.1.1 [FreeBSD]
This GDB was configured as "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x11
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc13cb9f4
stack pointer           = 0x28:0xfcfb5ac0
frame pointer           = 0x28:0xfcfb5ae4
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 8 (txg_thread_enter)
trap number             = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0xc094cd8f at kdb_backtrace+0x4f
#1 0xc091c5bc at panic+0x15c
#2 0xc0d75193 at trap_fatal+0x323
#3 0xc0d7529c at trap_pfault+0xfc
#4 0xc0d7600a at trap+0x44a
#5 0xc0d5c2dc at calltrap+0x6
#6 0xc13c91d9 at metaslab_sync+0x509
#7 0xc13eb280 at vdev_sync+0x90
#8 0xc13dded6 at spa_sync+0x496
#9 0xc13e8835 at txg_sync_thread+0x145
#10 0xc08ef767 at fork_exit+0x97
#11 0xc0d5c354 at fork_trampoline+0x8
Uptime: 17m21s
Physical memory: 2026 MB
Dumping 162 MB: 147 131 115 99 83 67 51 35 19 3

Loaded symbols for /boot/kernel/zfs.ko
Loaded symbols for /boot/kernel/opensolaris.ko
Loaded symbols for /boot/kernel/geom_eli.ko
Loaded symbols for /boot/kernel/crypto.ko
Loaded symbols for /boot/kernel/zlib.ko
Loaded symbols for /boot/kernel/snd_ich.ko
Loaded symbols for /boot/kernel/sound.ko
Loaded symbols for /boot/kernel/drm.ko
Loaded symbols for /boot/kernel/i915.ko
Loaded symbols for /boot/kernel/atapicam.ko
Loaded symbols for /boot/kernel/cpuctl.ko

#0  doadump () at pcpu.h:244
244             __asm("movl %%fs:0,%0" : "=r" (td));

(kgdb) bt
#0  doadump () at pcpu.h:244
#1  0xc091c313 in boot (howto=260) at /.../src/sys/kern/kern_shutdown.c:443
#2  0xc091c5fe in panic (fmt=<value optimized out>) at
/.../src/sys/kern/kern_shutdown.c:634
#3  0xc0d75193 in trap_fatal (frame=0xfcfb5a80, eva=17) at
/.../src/sys/i386/i386/trap.c:1010
#4  0xc0d7529c in trap_pfault (frame=0xfcfb5a80, usermode=0, eva=17)
at /.../src/sys/i386/i386/trap.c:872
#5  0xc0d7600a in trap (frame=0xfcfb5a80) at /.../src/sys/i386/i386/trap.c:546
#6  0xc0d5c2dc in calltrap () at /.../src/sys/i386/i386/exception.s:168
#7  0xc13cb9f4 in range_tree_vacate (rt=0xc83dc000, func=0, arg=0x0)
    at /.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c:364
#8  0xc13c91d9 in metaslab_sync (msp=0xc8309000, txg=21088308)
    at /.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c:1486
#9  0xc13eb280 in vdev_sync (vd=0xc7f69800, txg=Unhandled dwarf
expression opcode 0x93
) at /.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:2274
#10 0xc13dded6 in spa_sync (spa=0xdf3bf000, txg=21088308)
    at /.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:6506
#11 0xc13e8835 in txg_sync_thread (arg=0xc7907400) at
/.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c:518
#12 0xc08ef767 in fork_exit (callout=0xc13e86f0 <txg_sync_thread>,
arg=0xc7907400, frame=0xfcfb5d28) at /.../src/sys/kern/kern_fork.c:872
#13 0xc0d5c354 in fork_trampoline () at /.../src/sys/i386/i386/exception.s:275

(kgdb) list *0xc13cb9f4
0xc13cb9f4 is in range_tree_vacate
(/.../src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c:364).
359             void *cookie = NULL;
360
361             ASSERT(MUTEX_HELD(rt->rt_lock));
362
363             if (rt->rt_ops != NULL)
364                     rt->rt_ops->rtop_vacate(rt, rt->rt_arg);
365
366             while ((rs = avl_destroy_nodes(&rt->rt_root, &cookie))
!= NULL) {
367                     if (func != NULL)
368                             func(arg, rs->rs_start, rs->rs_end -
rs->rs_start);

I'm copying over the readonly import now and can
probably play with this if you need more. Thanks.



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