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
index | next in thread | previous in thread | raw e-mail
> >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
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512190248.VAA18815>
