Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jul 2017 23:08:15 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        svn-src-head@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r320452 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Message-ID:  <2865573.6VCVxXl8ZR@overcee.wemm.org>
In-Reply-To: <201706281359.v5SDxKDB033681@repo.freebsd.org>
References:  <201706281359.v5SDxKDB033681@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart4989529.jmlK0HNQCM
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="us-ascii"

On Wednesday, June 28, 2017 01:59:20 PM Andriy Gapon wrote:

>   A side bonus of this change is that now a vdev zio has a pointer
>   to its corresponding bio while the zio is active.

> @@ -1094,6 +1088,15 @@ sendreq:
>  static void
>  vdev_geom_io_done(zio_t *zio)
>  {
> +=09struct bio *bp =3D zio->io_bio;
> +
> +=09if (zio->io_type =3D=3D ZIO_TYPE_READ) {
> +=09=09abd_return_buf_copy(zio->io_abd, bp->bio_data, zio->io_size);
> +=09} else if (zio->io_type =3D=3D ZIO_TYPE_WRITE) {
> +=09=09abd_return_buf(zio->io_abd, bp->bio_data, zio->io_size);
> +=09}
> +
> +=09g_destroy_bio(bp);
>  }

We are getting a 100% repeatable failure when trying to boot machines w=
ith=20
degraded volumes in the freebsd.org cluster.

<118>Setting hostname: tiny.nyi.freebsd.org.
<118>Setting up harvesting: [UMA],
[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,D
<118>Feeding entropy: .

Fatal trap 12: page fault while in kernel mode
cpuid =3D 1; apic id =3D 01
fault virtual address=09=3D 0x28

Fatal trap 12: page fault while in kernel mode
cpuid =3D 3; apic id =3D 07
fault virtual address=09=3D 0x28

Fatal trap 12: page fault while in kernel mode
cpuid =3D 2; apic id =3D 06
apic id =3D 00
fault virtual address   =3D 0x28
                        =3D DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        =3D interrupt enabled, resume, fault virtual ad=
dress     =20
=3D 0x28
fault code              =3D supervisor read data, page not present
instruction pointer     =3D 0x20:0xffffffff803aab56
stack pointer           =3D 0x28:0xfffffe0239fa3a90
fault code              =3D supervisor read data, page not present
IOPL =3D 0
current process         =3D 0 (zio_write_intr_0)
frame pointer           =3D 0x28:0xfffffe0239fa3aa0

db> where                      =20
Tracing pid 0 tid 100471 td 0xfffff80005452000
vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe0239f9eaa0
zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe0239f9ead0
zio_execute() at zio_execute+0xac/frame 0xfffffe0239f9eb20

This is dereferencing a null bp (ie: zio->io_bio).  It traps on multipl=
e cores=20
concurrently.

FreeBSD 12.0-CURRENT #0 r320900: Wed Jul 12 03:00:15 UTC 2017

(This is a smoke-test machine, recycled from somewhere else)

=2D-=20
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI=
6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246
--nextPart4989529.jmlK0HNQCM
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEBgrA0Vr/vfNVuPoUNdaXCeyAngQFAlllvM8ACgkQNdaXCeyA
ngR9Vwf/dqaqhTJA8ny6hZyEsbB+lEJyfw198wADxJ+uzz9opjem/qk7wtp8dFRC
zHF6JeHkQXJ9x6z2AqLeySLmoDEGCfYi6fjlZq0Qw0si8sAclgZVjIl9Vklc1aYd
3Z9cTG41RwwZsEi3oPsgx1tNWsdo3lZJAwzg9fCb2x/U+WSJlQCvOgtCEqNTgMR+
+5SeqX7vLEJ+0m0Ylf4YJbTfQC+/87TYdnlvTyYbYY8FZNODFR1gCkXNLA7uWoI2
SMM6h9HqEpg/WP4yU1nZrbg71jH5sfyV3PQcCqUcPZgZX6n8YV7Aa52kK0ndY/S5
80YWn4xVc3rqIcVm997FAWKrO7E9FA==
=IFnl
-----END PGP SIGNATURE-----

--nextPart4989529.jmlK0HNQCM--




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