Subject: Re: kern/33408: dvd of death
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Simon Burge <simonb@wasabisystems.com>
List: netbsd-bugs
Date: 05/12/2006 09:35:16
YAMAMOTO Takashi wrote:

> > >  > #33 0xc02d3de7 in physio_done (wk=0xc110ec24, dummy=0x0)
> > >  >     at /home/rpaulo/netbsd/src/sys/kern/kern_physio.c:207
> > >  > 207                     wakeup(mbp);
> > >  
> > >  - "p *bp" at frame #33, please.
> > 
> > (gdb) print *bp
> > $1 = {b_u = {u_actq = {tqe_next = 0xdeadbeef, tqe_prev = 0xc110eb90}, 
> >     u_work = {wk_entry = {sqe_next = 0xdeadbeef}}}, b_interlock = {
> >     lock_data = 1, 
> >     lock_file = 0xc04c7320 "/home/rpaulo/netbsd/src/sys/kern/kern_physio.c", 
> >     unlock_file = 0xc04c89c0 "/home/rpaulo/netbsd/src/sys/kern/kern_synch.c", 
> >     lock_line = 160, unlock_line = 525, list = {tqe_next = 0x0, 
> >       tqe_prev = 0xc04f9cd0}, lock_holder = 0}, b_flags = 8388624, 
> >   b_error = 0, b_prio = 1, b_bufsize = -559038737, b_bcount = -559038737, 
> >   b_resid = -559038737, can not access 0xdeadbeef, invalid translation (invalid PDE)
> > can not access 0xdeadbeef, invalid translation (invalid PDE)
> > can not access 0xdeadbeef, invalid translation (invalid PDE)
> > can not access 0xdeadbeef, invalid translation (invalid PDE)
> > can not access 0xdeadbeef, invalid translation (invalid PDE)
> > can not access 0xdeadbeef, invalid translation (invalid PDE)
> > b_dev = 4294967295, b_un = {
> >     b_addr = 0xdeadbeef <Address 0xdeadbeef out of bounds>}, 
> >   b_blkno = -2401053088876216593, b_rawblkno = -2401053088876216593, 
> >   b_iodone = 0xdeadbeef, b_proc = 0xdeadbeef, b_vp = 0xdeadbeef, b_dep = {
> >     lh_first = 0x0}, b_saveaddr = 0xdeadbeef, b_fspriv = {
> >     bf_private = 0xdeadbeef, bf_dcookie = -2401053088876216593}, b_hash = {
> >     le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_vnbufs = {
> >     le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_freelist = {
> >     tqe_next = 0xdeadbeef, tqe_prev = 0xdeadbeef}, b_lblkno = -1, 
> >   b_freelistindex = 1}
> 
> seems very weird.
> can you provide the dump?

I see the same problem here, with a reasonably similar *bp too:

(gdb) print *bp
$1 = {b_u = {u_actq = {tqe_next = 0x0, tqe_prev = 0xc0b2a090}, u_work = {
      wk_entry = {sqe_next = 0x0}}}, b_interlock = {lock_data = -1061781512}, 
  b_flags = 1837584, b_error = 22, b_prio = 1, b_bufsize = 2048, 
  b_bcount = 2048, b_resid = 0, can not access 0x878205c, invalid translation (invalid PDE)
can not access 0x878205c, invalid translation (invalid PDE)
can not access 0x878205c, invalid translation (invalid PDE)
can not access 0x878205c, invalid translation (invalid PDE)
can not access 0x878205c, invalid translation (invalid PDE)
can not access 0x878205c, invalid translation (invalid PDE)
b_dev = 3843, b_un = {
    b_addr = 0x878205c <Address 0x878205c out of bounds>}, b_blkno = 355124, 
  b_rawblkno = 88781, b_iodone = 0xc0246ba8 <physio_biodone>, 
  b_proc = 0xcbb859d8, b_vp = 0x0, b_dep = {lh_first = 0x0}, b_saveaddr = 0x0, 
  b_fspriv = {bf_private = 0xc0b67b24, bf_dcookie = -2401053089378960604}, 
  b_hash = {le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_vnbufs = {
    le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_freelist = {
    tqe_next = 0xdeadbeef, tqe_prev = 0xdeadbeef}, 
  b_lblkno = -2401053088876216593, b_freelistindex = -559038737}

I'll put a dump on ftp.netbsd.org.

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD Support and Service:         http://www.wasabisystems.com/