Subject: Re: kern/68: call of null function ptr not handled well by i386 ddb.
To: None <mycroft@gnu.ai.mit.edu>
From: Bill Sommerfeld <sommerfeld@orchard.medford.ma.us>
List: netbsd-bugs
Date: 01/13/1994 10:17:06
At least on *my* machine, when you fault in DDB, it longjmp()s back to
the top-level reader and leaves you in the same state as when you
entered DDB.
How old is your kernel?
Very recent (2-3 days old).
It wasn't at *all* obvious that DDB returned to the original state,
and the traceback stopped at trap() rather than showing where the
call-through-NULL came from. (a:
printf("Fault in DDB caught and ignored\n");
just before the longjmp would go a long way towards fixing this..
The real bug, IMHO, is that DDB doesn't deal well with a call through
NULL in the kernel.
(the actual cause of the call through NULL is unknown, though I
suspect version skew between .o's; it stopped happening when I
reconfiged and rebuilt the kernel from scratch).
It's probably obvious, but both faults went through this path,
printf("vm_fault(%x, %x, %x, 0) -> %x\n",
map, va, ftype, rv);
goto we_re_toast;
where "map" was &vmspace0, va was zero, and I don't recall what ftype
and rv were..
- Bill
------------------------------------------------------------------------------