Our JNI function call implementation was written before Jikes RVM had global references. We can't return global refs to Java code. (As soon as I commit the JNI 1.2 and 1.4 code, this will include weak global references).
The problem is in VM_JNICompiler.java, where we generate code to just perform a simple lookup into the table of local refs. We need to make the code slightly more complicated so that it will work with global refs too.