Date: Mon, 18 Dec 1995 21:48:58 -0500 (EST) From: Peter Dufault <dufault@hda.com> To: gibbs@freefall.freebsd.org (Justin T. Gibbs) Cc: m.sapsed@bangor.ac.uk, hm@hcs.de, freebsd-bugs@freebsd.org Subject: Re: Problem with FreeBSD 2.1.0-RELEASE Message-ID: <199512190248.VAA18815@hda.com> In-Reply-To: <199512181948.LAA15318@freefall.freebsd.org> from "Justin T. Gibbs" at Dec 18, 95 11:48:36 am
next in thread | previous in thread | raw e-mail | index | archive | help
> >This is probably your problem. I found this in cd.c: > > > >#define CDUNIT(DEV) ((minor(DEV)&0xF8) >> 3) /* 5 bit unit */ > > > >It should be: > > > >#define CDUNIT(DEV) ((minor(DEV) >> 11) | ((minor(DEV)&0xF8) >> 3)) > > > >This is probably a general problem in the SCSI code. > > Actually, this only becomes a factor with 32 cds. Hmmm. Can you > put ddb in your kernel and get a traceback from the panic? This is certainly the same problem that Hellmuth and others have been having with CD-ROM changers. Hellmuth sent me the changer so I want to find some time to track it down soon. I saved some mail from him that says it takes place here: > Fatal trap 12: page fault while in kernel mode > Fault virtual address = 0x60 > Fault code = supervisor read, page not present > Instruction pointer = 0x8:0xf01250ac > Code segment = base 0x0 limit 0xfffff type 0x1b > = DPL 0, pres 1, def 321, gran 1 > Processor eflags = interrupt enabled, resume, IOPL = 0 > Current process = 470 (iozone) > Interrupt mask = bio > Kernel: type 12 trap, code = 0 > Stopped at _incore+0x48: cmpl %esi, 0x48(%ebx) I believe this is here in kern/vfs_bio.c: > int s = splbio(); > > bh = BUFHASH(vp, blkno); > bp = bh->lh_first; > > /* Search hash chain */ > while (bp) { where we go indirect on that bp. -- Peter Dufault Real Time Machine Control and Simulation HD Associates, Inc. Voice: 508 433 6936 dufault@hda.com Fax: 508 433 5267
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512190248.VAA18815>