Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Oct 1995 08:59:58 -0400
From:      Mark Starner <starner@clark.net>
To:        "'J Wunsch'" <j@uriah.heep.sax.de>, Mark Starner <starner@clark.net>
Cc:        "bugs@freebsd.org" <bugs@freebsd.org>, "moriya@ifi.unicamp.br" <moriya@ifi.unicamp.br>
Subject:   RE: Bug accessing /dev/cd1
Message-ID:  <01BA9625.9D140040@ras2.HAN.UnisysGSG.COM>

next in thread | raw e-mail | index | archive | help
Yes, I tracked it down with nm and it is the same place (the bp = bh->lh_first; instruction)



----------
From:  J Wunsch[SMTP:j@uriah.heep.sax.de]
Sent:  Sunday, October 08, 1995 11:15 PM
To:  Mark Starner
Cc:  bugs@freebsd.org; moriya@ifi.unicamp.br
Subject:  Re: Bug accessing /dev/cd1

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?01BA9625.9D140040>