From owner-freebsd-stable@FreeBSD.ORG Tue Sep 24 08:29:16 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 5B6F36C3 for ; Tue, 24 Sep 2013 08:29:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id ED81F2A94 for ; Tue, 24 Sep 2013 08:29:15 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.7/8.14.7) with ESMTP id r8O8T9vM079066; Tue, 24 Sep 2013 11:29:09 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.8.3 kib.kiev.ua r8O8T9vM079066 Received: (from kostik@localhost) by tom.home (8.14.7/8.14.7/Submit) id r8O8T9gh079065; Tue, 24 Sep 2013 11:29:09 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 24 Sep 2013 11:29:09 +0300 From: Konstantin Belousov To: Patrick Lamaiziere Subject: Re: Possible kqueue related issue on STABLE/RC. Message-ID: <20130924082909.GH41229@kib.kiev.ua> References: <20130911171913.GG41229@kib.kiev.ua> <20130912073643.GM41229@kib.kiev.ua> <20130920151705.33aae120@mr129166> <20130923153708.45c3be3d@mr129166> <20130923203141.GV41229@kib.kiev.ua> <20130924094427.0f4b902a@mr129166> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="I+bMzLstCROLYLmh" Content-Disposition: inline In-Reply-To: <20130924094427.0f4b902a@mr129166> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Sep 2013 08:29:16 -0000 --I+bMzLstCROLYLmh Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Sep 24, 2013 at 09:44:27AM +0200, Patrick Lamaiziere wrote: > Le Mon, 23 Sep 2013 23:31:41 +0300, > Konstantin Belousov a ?crit : >=20 > Hello, >=20 > ... >=20 >=20 > > > Ok This has been mfced to 9.2-STABLE. But I still see this panic > > > with 9-2/STABLE of today (Revision=9A: 255811). This may be better > > > because before the box paniced within minutes and now within hours > > > (still using poudriere). > > >=20 > > > panic: > > > fault code =3D supervisor read data, page not present > > > instruction pointer =3D 0x20:0xffffffff808ebfcd > > > stack pointer =3D 0x28:0xffffff824c2e0630 > > > frame pointer =3D 0x28:0xffffff824c2e06a0 > > > code segment =3D base 0x0, limit 0xfffff, type 0x1b > > > =3D DPL 0, pres 1, long 1, def32 0, gran 1 > > > processor eflags =3D interrupt enabled, resume, IOPL =3D 0 > > > current process =3D 54243 (gvfsd-trash) > > > trap number =3D 12 > > > panic: page fault > > > cpuid =3D 2 > > > KDB: stack backtrace: > > > #0 0xffffffff80939ad6 at kdb_backtrace+0x66 > > > #1 0xffffffff808ffacd at panic+0x1cd > > > #2 0xffffffff80cdfbe9 at trap_fatal+0x289 > > > #3 0xffffffff80cdff4f at trap_pfault+0x20f > > > #4 0xffffffff80ce0504 at trap+0x344 > > > #5 0xffffffff80cc9b43 at calltrap+0x8 > > > #6 0xffffffff8099d043 at filt_vfsvnode+0xf3 > > > #7 0xffffffff808c4793 at kqueue_register+0x3e3 > > > #8 0xffffffff808c4de8 at kern_kevent+0x108 > > > #9 0xffffffff808c5950 at sys_kevent+0x90 > > > #10 0xffffffff80cdf3a8 at amd64_syscall+0x5d8 > > > #11 0xffffffff80cc9e27 at Xfast_syscall+0xf7 > > >=20 > > > Full core.txt :=20 > > > http://user.lamaiziere.net/patrick/public/vfs_vnode-core.txt.0 > >=20 > > For start, please load the core into kgdb and for > > frame 8 > > p *kn >=20 > (kgdb) frame 8 > #8 0xffffffff8099d043 in filt_vfsvnode (kn=3D0xfffffe0147a7f000, hint=3D= 0) > at /usr/src/sys/kern/vfs_subr.c:4600 > 4600 VI_LOCK(vp); > (kgdb) p *kn > $1 =3D {kn_link =3D {sle_next =3D 0x0}, kn_selnext =3D {sle_next =3D 0x0}= ,=20 > kn_knlist =3D 0x0, kn_tqe =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0},=20 > kn_kq =3D 0xfffffe01079a6200, kn_kevent =3D {ident =3D 62, filter =3D -= 4,=20 > flags =3D 32784, fflags =3D 0, data =3D 0, udata =3D 0x0}, kn_status = =3D 24,=20 > kn_sfflags =3D 47, kn_sdata =3D 0, kn_ptr =3D {p_fp =3D 0xfffffe016949e= 190,=20 > p_proc =3D 0xfffffe016949e190, p_aio =3D 0xfffffe016949e190,=20 > p_lio =3D 0xfffffe016949e190}, kn_fop =3D 0xffffffff812fd440,=20 > kn_hook =3D 0xfffffe0119d0b1f8, kn_hookid =3D 0} =46rom the kgdb, also please do p *(struct vnode *)0xfffffe0119d0b1f8 >=20 >=20 > > Also, please follow > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/ke= rneldebug-deadlocks.html > > to recompile kernel with the debugging options and try to recreate > > the panic. >=20 > It's building. Please try the following. diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index aa165a0..5715f35 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -4421,10 +4421,14 @@ filt_vfsdetach(struct knote *kn) static int filt_vfsread(struct knote *kn, long hint) { - struct vnode *vp =3D (struct vnode *)kn->kn_hook; + struct vnode *vp; struct vattr va; int res; =20 + if ((kn->kn_status & KN_DETACHED) !=3D 0) + return (0); + vp =3D (struct vnode *)kn->kn_hook; + /* * filesystem is gone, so set the EOF flag and schedule * the knote for deletion. @@ -4450,8 +4454,11 @@ filt_vfsread(struct knote *kn, long hint) static int filt_vfswrite(struct knote *kn, long hint) { - struct vnode *vp =3D (struct vnode *)kn->kn_hook; + struct vnode *vp; =20 + if ((kn->kn_status & KN_DETACHED) !=3D 0) + return (0); + vp =3D (struct vnode *)kn->kn_hook; VI_LOCK(vp); =20 /* @@ -4469,9 +4476,12 @@ filt_vfswrite(struct knote *kn, long hint) static int filt_vfsvnode(struct knote *kn, long hint) { - struct vnode *vp =3D (struct vnode *)kn->kn_hook; + struct vnode *vp; int res; =20 + if ((kn->kn_status & KN_DETACHED) !=3D 0) + return (0); + vp =3D (struct vnode *)kn->kn_hook; VI_LOCK(vp); if (kn->kn_sfflags & hint) kn->kn_fflags |=3D hint; --I+bMzLstCROLYLmh Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.21 (FreeBSD) iQIcBAEBAgAGBQJSQU1VAAoJEJDCuSvBvK1BAacQAKci+a9PoDBfh+yAsEhqLK0I 5/qXLqv9yjqRPnDYuHoBpMuO7V67pon5UhOc0AqkWQg491sYE2+UGg8Or/+v5O89 twQhhOPmJgvoRNTKyL+tbVDHf1i0XqyR5AccClktpqgJ0JFv2XDIuCc+3dP6WwIm uD0nV8DrzZsP4v+fVJRSi1ggvHrFiBFcYnL89YUdFwJ1ueom2I1XOf5oDuUkFA/P wDELqq57e/gQPDMZEw4Mi0YlXDzUn9dF4NyW8wop05ChnJTBrCxuZ28Q+YJihPbu 4KV/fCpGoXD5DzMqjtiLRiEemvIworlWZcLJESLETct1svr6g3EQ134Qf99JQAlG fEm3KjBlinOHnUqTmSAi7yOVroOc9WTDIX1vID6kPnLR93VMHe+d0oP4YwxcXEo7 FovrGbyGvPd4Kg8yGr3yTWO/KFHJjWjQTseXJcr6ZauhfU2j8Dr+5sTkE2ABHhDY qdgfFd42DFnwipvarmiS+l++ZcEFA3aUVPBib+HeLK2jd9M6DAO5Bya8n97yYY9u SF3Rpb26D0I1PxLfFwYqKT/kr8OtQZaNqrKSHyqOruTO4T1Bxq7CZyKMGrdIt9p4 DcKq2ZWfEp9bIgvHZ3QqJNYpbijiAkwwhDfUtQohyQqAQ5pxJSwUbC7s4ppJyt/n jIWGsUH6BSIE6mnCTLr2 =V4Uu -----END PGP SIGNATURE----- --I+bMzLstCROLYLmh--