From owner-freebsd-current Sun Aug 29 23:33: 7 1999 Delivered-To: freebsd-current@freebsd.org Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134]) by hub.freebsd.org (Postfix) with ESMTP id A41C515145 for ; Sun, 29 Aug 1999 23:33:01 -0700 (PDT) (envelope-from grog@freebie.lemis.com) Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137]) by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id QAA27262; Mon, 30 Aug 1999 16:01:58 +0930 (CST) Received: (from grog@localhost) by freebie.lemis.com (8.9.3/8.9.0) id QAA76922; Mon, 30 Aug 1999 16:01:56 +0930 (CST) Date: Mon, 30 Aug 1999 16:01:56 +0930 From: Greg Lehey To: Matthew Dillon Cc: Bernd Walter , Mike Smith , Parag Patel , freebsd-current@FreeBSD.ORG Subject: Re: 4.0-CURRENT SMP crash with vinum raid-5 and softupdates Message-ID: <19990830160155.G13904@freebie.lemis.com> References: <199908292224.PAA15435@dingo.cdrom.com> <199908292348.QAA07774@apollo.backplane.com> <19990830075311.A30271@cicely8.cicely.de> <199908300559.WAA09987@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i In-Reply-To: <199908300559.WAA09987@apollo.backplane.com>; from Matthew Dillon on Sun, Aug 29, 1999 at 10:59:22PM -0700 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sunday, 29 August 1999 at 22:59:22 -0700, Matthew Dillon wrote: > >> (kgdb) target remote /dev/cuaa2 >> Remote debugging using /dev/cuaa2 >> 0x0 in ?? () >> (kgdb) bt >> #0 0x0 in ?? () >> #1 0xc017228f in biodone (bp=0xc09ebd80) at ../../kern/vfs_bio.c:2580 >> #2 0xc0123db6 in dadone (periph=0xc0882c80, done_ccb=0xc09bd200) at ../../cam/scsi/scsi_da.c:1294 >> #3 0xc011fa7b in camisr (queue=0xc02726b4) at ../../cam/cam_xpt.c:6141 >> #4 0xc011f88d in swi_cambio () at ../../cam/cam_xpt.c:6048 >> #5 0xc020db30 in splz_swi () >> (kgdb) frame 1 >> #1 0xc017228f in biodone (bp=0xc09ebd80) at ../../kern/vfs_bio.c:2580 >> 2580 ../../kern/vfs_bio.c: No such file or directory. >> (kgdb) print bp >> $1 = (struct buf *) 0xc09ebd80 >> (kgdb) print *bp >> $2 = { >> b_hash = { >> le_next = 0x0, >> le_prev = 0x0 >> }, >> b_vnbufs = { >> ... >> (kgdb) > > This is definitely a pbuf. What's a pbuf? > Did you apply the patches Greg emailed? They will panic the > machine earlier while it is still in the correct stack frame, > allowing Greg to track down where the I/O initiation came from. Well, in fact they didn't do that. The only one that I hit was in biodone, which is effectively the same thing as the panic. But they did show that it wasn't like that when it left vinum. > Index: kern/vfs_bio.c > =================================================================== > RCS file: /home/ncvs/src/sys/kern/vfs_bio.c,v > retrieving revision 1.227 > diff -w -u -r1.227 vfs_bio.c > --- vfs_bio.c 1999/08/28 00:46:23 1.227 > +++ vfs_bio.c 1999/08/30 01:31:00 > @@ -2576,6 +2576,8 @@ > > /* call optional completion function if requested */ > if (bp->b_flags & B_CALL) { > + if (bp->b_iodone == NULL) > + Debugger ("biodone"); > bp->b_flags &= ~B_CALL; > (*bp->b_iodone) (bp); > splx(s); > Index: dev/vinum/vinumrequest.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/vinum/vinumrequest.c,v > retrieving revision 1.35 > diff -w -u -r1.35 vinumrequest.c > --- vinumrequest.c 1999/08/28 00:42:42 1.35 > +++ vinumrequest.c 1999/08/30 01:26:58 > @@ -396,6 +390,9 @@ > if (debug & DEBUG_LASTREQS) > logrq(loginfo_rqe, (union rqinfou) rqe, rq->bp); > #endif > + if ((rqe->b.b_flags & B_CALL) > + && (rqe->b.b_iodone == NULL) ) > + Debugger ("launch_requests"); > /* fire off the request */ > BUF_STRATEGY(&rqe->b, 0); > } > > You could also enable some of Vinum's internal logging: > > # vinum debug 324 Note that this should read 328. 324 will always land you in the Debugger (a feature, not a bug :-). Greg -- See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message