[kaffe] [PATCH] use InternalError for memory errors

Timothy Stack stack at cs.utah.edu
Fri Mar 5 13:58:03 PST 2004


> Hi,

hi,

> I'd like to suggest that instead of throwing a NullPointerException
> for bad memory accesses (SIGBUS and SIGSEGV) an InternalError is
> thrown instead.

Well, if the VM has done a bad memory access that isn't a null pointer 
dereference, there is really no point in continuing and the VM should just 
abort.  But, as you already know, it doesn't do that for everyone.

> It's more descriptive, and less confusing.

Indeed, it is a little more helpful, but its usually not a problem since 
you can just rerun it gdb and look at whats happening.

You can make a quick change to nullException() in
kaffe/kaffevm/systems/unix-jthreads/signal.c and make the #ifdef'd section
work on your machine.  But, that only works if the address is really wild,
any null derefs will cause an exception to be thrown.  (Note that we can't
decide whether or not to throw the exception based on whether its C or
Java since some C code relies on a null deref throwing an exception... i
think).

> Cheers,
> 
> - -- 
> Casey Marshall || rsdio at metastatic.org

tim




More information about the kaffe mailing list