Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Oct 1995 03:15:10 +0100 (MET)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        starner@clark.net (Mark Starner)
Cc:        bugs@freebsd.org, moriya@ifi.unicamp.br
Subject:   Re: Bug accessing /dev/cd1
Message-ID:  <199510090215.DAA03420@uriah.heep.sax.de>
In-Reply-To: <01BA958D.CA1F82A0@ras2.HAN.UnisysGSG.COM> from "Mark Starner" at Oct 8, 95 02:53:10 pm

next in thread | previous in thread | raw e-mail | index | archive | help
As Mark Starner wrote:
> 
> Fatal trap 12: page fault while in kernel mode
> 
> fault virtual address		= 0x10a
> fault code			= supervisor read, page not present
> instruction pointer		= 0x8:0xf011efdc
> code segment			= base 0x0, limit 0xfffff, type 0x1b
> processor eflags		= interrupt enabled, resume IOPL=0
> current process			= 133(cat)
> interrupt mask			= bio
> panic: page fault
> 
> syncing disks..................... 4 4 4 4 4 4 4 4 4 giving up
> Automaitc reboot in 15 seconds - press a key on the console to abort
> 
> -------
> 
> Is it easy to repair ?

Unfortunately not. :-(

I know only of two people where this happens: you, and Hellmuth
Michaelis (but i believe it's a CD changer for him).  I seem to
remember that there's been another report from someone with two CDs,
it happened for the second drive for him.

I know of at least one person reliably operating a six-CD
configuration under 2.0.5.  This basically proves that it's not simply
the _amount_ of CD drives available; it must be something else.

You forgot to attach the appropriate part of your kernel's name list
to your message, but i assume it's still the same.  (It's also been
the same spot in function incore() for Hellmuth Michaelis.)

I guess I have to convince somebody of you to track it down with
DDB...

> The bug happens in line 694 of vfs_bio.c:
> 
>    686  incore(struct vnode * vp, daddr_t blkno)
>    687  {
>    688          struct buf *bp;
>    689          struct bufhashhdr *bh;
>    690  
>    691          int s = splbio();
>    692  
>    693          bh = BUFHASH(vp, blkno);
>    694          bp = bh->lh_first;
>                      ^^^^

Yeah, well, anybody out there who understands the BUFHASH() macro???

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510090215.DAA03420>