panic while zfs scrubbing
Roger Hammerstein
cheeky.m at live.com
Wed Aug 22 19:28:59 UTC 2012
Thank you for the reply.
> Not sure what triggers this problem but it looks like zio is issued for a
> block-pointer with no valid DVA. It's either a result of some logical bug in ZFS
> code or some severe on-disk corruption.
>
> > #7 0xffffffff816818cf in vdev_mirror_io_start (zio=0xfffffe0037e5e000)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:89
>
> Could you please print *zio and *zio->io_bp in this frame?
> It might also be good idea to report this issue to zfs-discuss at opensolaris.org.
/var/crash # kgdb /boot/kernel/kernel ./vmcore.10
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Unread portion of the kernel message buffer:
Fatal trap 18: integer divide fault while in kernel mode
cpuid = 5; apic id = 05
instruction pointer = 0x20:0xffffffff81674a14
stack pointer = 0x28:0xffffff810c3d4520
frame pointer = 0x28:0xffffff810c3d4540
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 = 9480 (txg_thread_enter)
trap number = 18
panic: integer divide fault
cpuid = 5
KDB: stack backtrace:
#0 0xffffffff80920346 at kdb_backtrace+0x66
#1 0xffffffff808ea35e at panic+0x1ce
#2 0xffffffff80bd7a30 at trap_fatal+0x290
#3 0xffffffff80bd80c5 at trap+0x105
#4 0xffffffff80bc295f at calltrap+0x8
#5 0xffffffff816818cf at vdev_mirror_io_start+0x2bf
#6 0xffffffff81699542 at zio_vdev_io_start+0x232
#7 0xffffffff81698fe3 at zio_execute+0xc3
#8 0xffffffff8165ea1c at dsl_scan_scrub_cb+0x3ec
#9 0xffffffff8165fe14 at dsl_scan_visitbp+0x534
#10 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
#11 0xffffffff81660c84 at dsl_scan_visitdnode+0x84
#12 0xffffffff81660070 at dsl_scan_visitbp+0x790
#13 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
#14 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
#15 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
#16 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
#17 0xffffffff8165fd99 at dsl_scan_visitbp+0x4b9
Uptime: 1h51m55s
Dumping 614 out of 3818 MB:..3%..11%..21%..32%..42%..53%..63%..71%..81%..92%
Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /boot/kernel/zfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/zfs.ko
Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/opensolaris.ko
#0 doadump (textdump=Variable "textdump" is not available.
) at pcpu.h:224
224 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) frame 7
#7 0xffffffff816818cf in vdev_mirror_io_start (zio=0xfffffe0037e5e000)
at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:89
89 mm->mm_preferred = spa_get_random(c);
(kgdb) p *zio
$1 = {io_bookmark = {zb_objset = 21, zb_object = 291417, zb_level = 0, zb_blkid = 41}, io_prop = {
zp_checksum = ZIO_CHECKSUM_INHERIT, zp_compress = ZIO_COMPRESS_INHERIT, zp_type = DMU_OT_NONE,
zp_level = 0 '\0', zp_copies = 0 '\0', zp_dedup = 0 '\0', zp_dedup_verify = 0 '\0'},
io_type = ZIO_TYPE_READ, io_child_type = ZIO_CHILD_LOGICAL, io_cmd = 0, io_priority = 20 '\024',
io_reexecute = 0 '\0', io_state = "\001", io_txg = 223, io_spa = 0xfffffe0008161000,
io_bp = 0xfffffe0037e5e060, io_bp_override = 0x0, io_bp_copy = {blk_dva = {{dva_word = {0, 0}}, {
dva_word = {0, 0}}, {dva_word = {0, 0}}}, blk_prop = 0, blk_pad = {0, 223}, blk_phys_birth = 223,
blk_birth = 250, blk_fill = 105, blk_cksum = {zc_word = {63, 125, 202, 251}}}, io_parent_list = {
list_size = 48, list_offset = 16, list_head = {list_next = 0xfffffe0037ea28b0,
list_prev = 0xfffffe0037ea28b0}}, io_child_list = {list_size = 48, list_offset = 32, list_head = {
list_next = 0xfffffe0037e5e110, list_prev = 0xfffffe0037e5e110}}, io_walk_link = 0x0,
io_logical = 0xfffffe0037e5e000, io_transform_stack = 0x0, io_ready = 0,
io_done = 0xffffffff8165e130 <dsl_scan_scrub_done>, io_private = 0x0, io_prev_space_delta = 0,
io_bp_orig = {blk_dva = {{dva_word = {0, 0}}, {dva_word = {0, 0}}, {dva_word = {0, 0}}}, blk_prop = 0,
blk_pad = {0, 223}, blk_phys_birth = 223, blk_birth = 250, blk_fill = 105, blk_cksum = {zc_word = {63,
125, 202, 251}}}, io_data = 0xfffffe003704e200, io_orig_data = 0xfffffe003704e200, io_size = 512,
io_orig_size = 512, io_vd = 0x0, io_vsd = 0x0, io_vsd_ops = 0x0, io_offset = 0, io_deadline = 0,
io_offset_node = {avl_child = {0x0, 0x0}, avl_pcb = 0}, io_deadline_node = {avl_child = {0x0, 0x0},
avl_pcb = 0}, io_vdev_tree = 0x0, io_flags = 2097264, io_stage = ZIO_STAGE_VDEV_IO_START,
io_pipeline = 2064386, io_orig_flags = 2097264, io_orig_stage = ZIO_STAGE_OPEN,
io_orig_pipeline = 2064386, io_error = 0, io_child_error = {0, 0, 0, 0}, io_children = {{0, 0}, {0, 0}, {
0, 0}, {0, 0}}, io_child_count = 0, io_parent_count = 1, io_stall = 0x0, io_gang_leader = 0x0,
io_gang_tree = 0x0, io_executor = 0xfffffe0015e9d470, io_waiter = 0x0, io_lock = {lock_object = {
lo_name = 0xffffffff81725cee "zio->io_lock", lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, io_cv = {cv_description = 0xffffffff81725cfd "zio->io_cv)", cv_waiters = 0},
io_cksum_report = 0x0, io_ena = 0, io_task = {ost_task = {ta_link = {stqe_next = 0x0}, ta_pending = 0,
ta_priority = 0, ta_func = 0, ta_context = 0x0}, ost_func = 0, ost_arg = 0x0}}
(kgdb)
(kgdb) p *zio->io_bp
$2 = {blk_dva = {{dva_word = {0, 0}}, {dva_word = {0, 0}}, {dva_word = {0, 0}}}, blk_prop = 0, blk_pad = {
0, 223}, blk_phys_birth = 223, blk_birth = 250, blk_fill = 105, blk_cksum = {zc_word = {63, 125, 202,
251}}}
(kgdb)
> > #8 0xffffffff81699542 in zio_vdev_io_start (zio=0xfffffe0037e5e000)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:2305
> > #9 0xffffffff81698fe3 in zio_execute (zio=0xfffffe0037e5e000)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1196
> > #10 0xffffffff8165ea1c in dsl_scan_scrub_cb (dp=0xffffff810c3d4538,
> > bp=0xffffff8003c53480, zb=0xffffff810c3d4970)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c:1737
>
> And *bp and *scn here too.
(kgdb) frame 10
#10 0xffffffff8165ea1c in dsl_scan_scrub_cb (dp=0xffffff810c3d4538, bp=0xffffff8003c53480,
zb=0xffffff810c3d4970)
at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c:1737
1737 zio_nowait(zio_read(NULL, spa, bp, data, size,
(kgdb) p *bp
$3 = {blk_dva = {{dva_word = {0, 0}}, {dva_word = {0, 0}}, {dva_word = {0, 0}}}, blk_prop = 0, blk_pad = {
0, 223}, blk_phys_birth = 223, blk_birth = 250, blk_fill = 105, blk_cksum = {zc_word = {63, 125, 202,
251}}}
(kgdb) p *scn
Cannot access memory at address 0x20
(kgdb)
More information about the freebsd-fs
mailing list