> >>>>> "Casey" == Casey Marshall <[EMAIL PROTECTED]> 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?
I would think so. > 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. Whats the value, does it make sense as a stack pointer? Can you check the EXCEPTIONFRAME macro in config/mips/linux/jit-md.h and make sure its sane. You will want to make sure the MIPS_FP constant is correct for your ABI. Also, does test/regression/NullPointerTest.java work for you? Which threading package are you using (unix-jthreads/unix-pthreads)? > Casey Marshall || [EMAIL PROTECTED] tim _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe