[kaffe] MIPS JIT3 and null pointers.

Casey Marshall rsdio at metastatic.org
Wed Mar 17 14:27:02 PST 2004

Hash: SHA1

>>>>> "Casey" == Casey Marshall <rsdio at metastatic.org> writes:

Casey> Hi, I've determined why an invokeinterface on a null object
Casey> will abort rather than throw a NullPointerException: in
Casey> dispatchException (kaffe/kaffevm/exception.c:303) the full
Casey> stack trace cannot be built, for some reason, so the exception
Casey> handler won't be found.

Casey> The SIGSEGV occurs in soft_lookupinterfacemethod, which is
Casey> called with a NULL obj parameter, which in turn is called from
Casey> jitted code. So my guess is that somehow the MIPS backend can't
Casey> trace back across this barrier.

Casey> I'm assuming that __mipsGetNextFrame is broken, but would
Casey> entertain other ideas. Has anyone dealt with something similar
Casey> to this on other architectures?

Or: is it even possible to build a stack frame from one of Kaffe's
internal C functions? buildStackFrame stops at
soft_lookupinterfacemethod because it is is not a part of the current
thread; i.e. jthread_on_current_stack returns false when an address in
soft_lookupinterfacemethod is called.

- -- 
Casey Marshall || rsdio at metastatic.org
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>


More information about the kaffe mailing list