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

------------------------------------------------------------------------------