On Sun, Aug 29, 1999 at 04:48:32PM -0700, Matthew Dillon wrote:
> :
> :How similar? The trap above is extremely bad; it looks like a return
> :on a corrupted stack or a jump through a null function vector.
> :
> :Make very sure that your vinum kld is in sync with your kernel.
>
> This looks like an indirect call through a NULL function pointer.
>
In my case it is a call to bp->b_iodone in kern/vfs_bio.c:2580 which is 0 :(
> The stack looks intact ... look at the sp verses the frame pointer.
> If the 'trace' command is resulting in a panic, perhaps it is because
> there is no new stack frame. Giving the trace command an argument
> will help. I forget how the arguments to 'trace' work under DDB
> though.
>
(kgdb) target remote /dev/cuaa2
Remote debugging using /dev/cuaa2
0x0 in ?? ()
(kgdb) bt
#0 0x0 in ?? ()
#1 0xc017228f in biodone (bp=0xc09ebd80) at ../../kern/vfs_bio.c:2580
#2 0xc0123db6 in dadone (periph=0xc0882c80, done_ccb=0xc09bd200) at
../../cam/scsi/scsi_da.c:1294
#3 0xc011fa7b in camisr (queue=0xc02726b4) at ../../cam/cam_xpt.c:6141
#4 0xc011f88d in swi_cambio () at ../../cam/cam_xpt.c:6048
#5 0xc020db30 in splz_swi ()
(kgdb) frame 1
#1 0xc017228f in biodone (bp=0xc09ebd80) at ../../kern/vfs_bio.c:2580
2580 ../../kern/vfs_bio.c: No such file or directory.
(kgdb) print bp
$1 = (struct buf *) 0xc09ebd80
(kgdb) print *bp
$2 = {
b_hash = {
le_next = 0x0,
le_prev = 0x0
},
b_vnbufs = {
tqe_next = 0x0,
tqe_prev = 0x0
},
b_freelist = {
tqe_next = 0x0,
tqe_prev = 0x0
},
b_act = {
tqe_next = 0x0,
tqe_prev = 0xc0885400
},
b_flags = 0x8100204,
b_qindex = 0x0,
b_unused1 = 0x0,
b_xflags = 0x0,
b_lock = {
lk_interlock = {
lock_data = 0x0
},
lk_flags = 0x400,
lk_sharecount = 0x0,
lk_waitcount = 0x0,
lk_exclusivecount = 0x1,
lk_prio = 0x14,
lk_wmesg = 0x0,
lk_timo = 0x0,
lk_lockholder = 0x4
},
b_error = 0x0,
b_bufsize = 0x400,
b_bcount = 0x400,
b_resid = 0x0,
b_dev = 0xc098d840,
b_data = 0xc0befc00 "\2275\t",
b_kvabase = 0x0,
b_kvasize = 0x0,
b_lblkno = 0x0,
b_blkno = 0x0,
b_offset = 0x0,
b_iodone = 0,
b_iodone_chain = 0x0,
b_vp = 0xc5d4a700,
b_dirtyoff = 0x0,
b_dirtyend = 0x0,
b_rcred = 0xffffffff,
b_wcred = 0xffffffff,
b_pblkno = 0x260c1f,
b_saveaddr = 0x0,
b_driver1 = 0x0,
b_driver2 = 0x0,
b_caller1 = 0x0,
b_caller2 = 0x0,
b_pager = {
pg_spc = 0x0,
pg_reqpage = 0x0
},
b_cluster = {
cluster_head = {
tqh_first = 0x0,
tqh_last = 0x0
},
cluster_entry = {
tqe_next = 0x0,
tqe_prev = 0x0
}
},
b_pages = {0x0 <repeats 32 times>},
b_npages = 0x0,
b_dep = {
lh_first = 0x0
},
b_chain = {
parent = 0x0,
count = 0x0
}
}
(kgdb)
--
B.Walter COSMO-Project http://www.cosmo-project.de
[EMAIL PROTECTED] Usergroup [EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message