Date: Wed, 22 Aug 2012 15:27:53 -0400 From: Roger Hammerstein <cheeky.m@live.com> To: <avg@freebsd.org> Cc: freebsd-fs@freebsd.org Subject: RE: panic while zfs scrubbing Message-ID: <BAY170-W1147AC6AE266A62ED84BE53F9BF0@phx.gbl> In-Reply-To: <5034DA84.8050507@FreeBSD.org> References: <BAY170-W8668C02B4DAF69B54EE657F9B80@phx.gbl>, <5034DA84.8050507@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 bu=
g in ZFS
> code or some severe on-disk corruption.
>=20
> > #7 0xffffffff816818cf in vdev_mirror_io_start (zio=3D0xfffffe0037e5e00=
0)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/comm=
on/fs/zfs/vdev_mirror.c:89
>=20
> 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@opensolari=
s.org.
/var/crash # kgdb /boot/kernel/kernel ./vmcore.10
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation=2C Inc.
GDB is free software=2C covered by the GNU General Public License=2C and yo=
u are
welcome to change it and/or distribute copies of it under certain condition=
s.
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 =3D 5=3B apic id =3D 05
instruction pointer =3D 0x20:0xffffffff81674a14
stack pointer =3D 0x28:0xffffff810c3d4520
frame pointer =3D 0x28:0xffffff810c3d4540
code segment =3D base 0x0=2C limit 0xfffff=2C type 0x1b
=3D DPL 0=2C pres 1=2C long 1=2C def32 0=2C gran 1
processor eflags =3D interrupt enabled=2C resume=2C IOPL =3D 0
current process =3D 9480 (txg_thread_enter)
trap number =3D 18
panic: integer divide fault
cpuid =3D 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/kerne=
l/zfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/zfs.ko
Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /bo=
ot/kernel/opensolaris.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/opensolaris.ko
#0 doadump (textdump=3DVariable "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=3D0xfffffe0037e5e000)
at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/f=
s/zfs/vdev_mirror.c:89
89 mm->mm_preferred =3D spa_get_random(c)=3B
(kgdb) p *zio
$1 =3D {io_bookmark =3D {zb_objset =3D 21=2C zb_object =3D 291417=2C zb_lev=
el =3D 0=2C zb_blkid =3D 41}=2C io_prop =3D {
zp_checksum =3D ZIO_CHECKSUM_INHERIT=2C zp_compress =3D ZIO_COMPRESS_IN=
HERIT=2C zp_type =3D DMU_OT_NONE=2C
zp_level =3D 0 '\0'=2C zp_copies =3D 0 '\0'=2C zp_dedup =3D 0 '\0'=2C z=
p_dedup_verify =3D 0 '\0'}=2C
io_type =3D ZIO_TYPE_READ=2C io_child_type =3D ZIO_CHILD_LOGICAL=2C io_cm=
d =3D 0=2C io_priority =3D 20 '\024'=2C
io_reexecute =3D 0 '\0'=2C io_state =3D "\001"=2C io_txg =3D 223=2C io_sp=
a =3D 0xfffffe0008161000=2C
io_bp =3D 0xfffffe0037e5e060=2C io_bp_override =3D 0x0=2C io_bp_copy =3D =
{blk_dva =3D {{dva_word =3D {0=2C 0}}=2C {
dva_word =3D {0=2C 0}}=2C {dva_word =3D {0=2C 0}}}=2C blk_prop =3D =
0=2C blk_pad =3D {0=2C 223}=2C blk_phys_birth =3D 223=2C
blk_birth =3D 250=2C blk_fill =3D 105=2C blk_cksum =3D {zc_word =3D {63=
=2C 125=2C 202=2C 251}}}=2C io_parent_list =3D {
list_size =3D 48=2C list_offset =3D 16=2C list_head =3D {list_next =3D =
0xfffffe0037ea28b0=2C
list_prev =3D 0xfffffe0037ea28b0}}=2C io_child_list =3D {list_size =
=3D 48=2C list_offset =3D 32=2C list_head =3D {
list_next =3D 0xfffffe0037e5e110=2C list_prev =3D 0xfffffe0037e5e110}=
}=2C io_walk_link =3D 0x0=2C
io_logical =3D 0xfffffe0037e5e000=2C io_transform_stack =3D 0x0=2C io_rea=
dy =3D 0=2C
io_done =3D 0xffffffff8165e130 <dsl_scan_scrub_done>=2C io_private =3D 0x=
0=2C io_prev_space_delta =3D 0=2C
io_bp_orig =3D {blk_dva =3D {{dva_word =3D {0=2C 0}}=2C {dva_word =3D {0=
=2C 0}}=2C {dva_word =3D {0=2C 0}}}=2C blk_prop =3D 0=2C
blk_pad =3D {0=2C 223}=2C blk_phys_birth =3D 223=2C blk_birth =3D 250=
=2C blk_fill =3D 105=2C blk_cksum =3D {zc_word =3D {63=2C
125=2C 202=2C 251}}}=2C io_data =3D 0xfffffe003704e200=2C io_orig_d=
ata =3D 0xfffffe003704e200=2C io_size =3D 512=2C
io_orig_size =3D 512=2C io_vd =3D 0x0=2C io_vsd =3D 0x0=2C io_vsd_ops =3D=
0x0=2C io_offset =3D 0=2C io_deadline =3D 0=2C
io_offset_node =3D {avl_child =3D {0x0=2C 0x0}=2C avl_pcb =3D 0}=2C io_de=
adline_node =3D {avl_child =3D {0x0=2C 0x0}=2C
avl_pcb =3D 0}=2C io_vdev_tree =3D 0x0=2C io_flags =3D 2097264=2C io_st=
age =3D ZIO_STAGE_VDEV_IO_START=2C
io_pipeline =3D 2064386=2C io_orig_flags =3D 2097264=2C io_orig_stage =3D=
ZIO_STAGE_OPEN=2C
io_orig_pipeline =3D 2064386=2C io_error =3D 0=2C io_child_error =3D {0=
=2C 0=2C 0=2C 0}=2C io_children =3D {{0=2C 0}=2C {0=2C 0}=2C {
0=2C 0}=2C {0=2C 0}}=2C io_child_count =3D 0=2C io_parent_count =3D 1=
=2C io_stall =3D 0x0=2C io_gang_leader =3D 0x0=2C
io_gang_tree =3D 0x0=2C io_executor =3D 0xfffffe0015e9d470=2C io_waiter =
=3D 0x0=2C io_lock =3D {lock_object =3D {
lo_name =3D 0xffffffff81725cee "zio->io_lock"=2C lo_flags =3D 4096000=
0=2C lo_data =3D 0=2C lo_witness =3D 0x0}=2C
sx_lock =3D 1}=2C io_cv =3D {cv_description =3D 0xffffffff81725cfd "zio=
->io_cv)"=2C cv_waiters =3D 0}=2C
io_cksum_report =3D 0x0=2C io_ena =3D 0=2C io_task =3D {ost_task =3D {ta_=
link =3D {stqe_next =3D 0x0}=2C ta_pending =3D 0=2C
ta_priority =3D 0=2C ta_func =3D 0=2C ta_context =3D 0x0}=2C ost_func=
=3D 0=2C ost_arg =3D 0x0}}
(kgdb)
(kgdb) p *zio->io_bp
$2 =3D {blk_dva =3D {{dva_word =3D {0=2C 0}}=2C {dva_word =3D {0=2C 0}}=2C =
{dva_word =3D {0=2C 0}}}=2C blk_prop =3D 0=2C blk_pad =3D {
0=2C 223}=2C blk_phys_birth =3D 223=2C blk_birth =3D 250=2C blk_fill =
=3D 105=2C blk_cksum =3D {zc_word =3D {63=2C 125=2C 202=2C
251}}}
(kgdb)
> > #8 0xffffffff81699542 in zio_vdev_io_start (zio=3D0xfffffe0037e5e000)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/comm=
on/fs/zfs/zio.c:2305
> > #9 0xffffffff81698fe3 in zio_execute (zio=3D0xfffffe0037e5e000)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/comm=
on/fs/zfs/zio.c:1196
> > #10 0xffffffff8165ea1c in dsl_scan_scrub_cb (dp=3D0xffffff810c3d4538=2C=
=20
> > bp=3D0xffffff8003c53480=2C zb=3D0xffffff810c3d4970)
> > at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/comm=
on/fs/zfs/dsl_scan.c:1737
>=20
> And *bp and *scn here too.
(kgdb) frame 10
#10 0xffffffff8165ea1c in dsl_scan_scrub_cb (dp=3D0xffffff810c3d4538=2C bp=
=3D0xffffff8003c53480=2C
zb=3D0xffffff810c3d4970)
at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/f=
s/zfs/dsl_scan.c:1737
1737 zio_nowait(zio_read(NULL=2C spa=2C bp=2C data=2C si=
ze=2C
(kgdb) p *bp
$3 =3D {blk_dva =3D {{dva_word =3D {0=2C 0}}=2C {dva_word =3D {0=2C 0}}=2C =
{dva_word =3D {0=2C 0}}}=2C blk_prop =3D 0=2C blk_pad =3D {
0=2C 223}=2C blk_phys_birth =3D 223=2C blk_birth =3D 250=2C blk_fill =
=3D 105=2C blk_cksum =3D {zc_word =3D {63=2C 125=2C 202=2C
251}}}
(kgdb) p *scn
Cannot access memory at address 0x20
(kgdb)
=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAY170-W1147AC6AE266A62ED84BE53F9BF0>
