Date: Mon, 30 Aug 1999 16:01:56 +0930 From: Greg Lehey <grog@lemis.com> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Bernd Walter <ticso@cicely.de>, Mike Smith <mike@smith.net.au>, Parag Patel <parag@cgt.com>, freebsd-current@FreeBSD.ORG Subject: Re: 4.0-CURRENT SMP crash with vinum raid-5 and softupdates Message-ID: <19990830160155.G13904@freebie.lemis.com> In-Reply-To: <199908300559.WAA09987@apollo.backplane.com>; from Matthew Dillon on Sun, Aug 29, 1999 at 10:59:22PM -0700 References: <199908292224.PAA15435@dingo.cdrom.com> <199908292348.QAA07774@apollo.backplane.com> <19990830075311.A30271@cicely8.cicely.de> <199908300559.WAA09987@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990830160155.G13904>