At 16:05 9/6/95 -0400, Jonathan Shapiro wrote:
>In KeyKOS, as I understand it, an key with an invalid allocation count
>is silently smashed into a zero number key. It seems to me that this
>defeats debugging, and that there is no real harm in leaving such a
>key in it's invalid form.
I know of no real problem. The main issue is how to represent the key to the debugger. Just the bits don't help much with figuring out what the key used to represent, and giving them away removes a level of information hiding which would defeat some of the uses of facades.
One possibility would be to characterize the ways a domain could get one of these keys. Jeff Peters called them DogTurd keys. I can think of three ways offhand, and there are probably others. One is to have an object be severed through the space bank (DogTurd0). Another is to have a domain receive a key where the sender does not offer one (DogTurd1). The third is the uninitialized value for the slots of a new node (DogTurd2). If a debugger could look at a DogTurd key and determine which type it was, that might be of help in debugging.
The answer from experience is that we didn't have any such mechanism, and never missed it so much that we were tempted to implement it.
Bill