On 03/20/2017 11:41 AM, Alan Bateman wrote:
On 20/03/2017 09:19, Claes Redestad wrote:

Hi,

please review this fix to avoid NPEs when calling certain Class methods via JNI:

Bug: https://bugs.openjdk.java.net/browse/JDK-8177036
Webrev: http://cr.openjdk.java.net/~redestad/8177036/jdk.01/
This looks okay. At some point then we need to see how we can test these methods called from attached thread (with no caller).

-Alan

I guess that when only the ClassLoader of the caller is checked in logic of @CS method, such calls should behave as though the caller was some class loaded by bootstrap ClassLoader. But what about @CS methods that inspect the caller class more deeply (such as reflection API) where the identity of the caller, its package and module play role in decisions? What behavior is expected in such cases? Should core reflection always allow access when invoked from "null" caller?

Currently core reflection throws InternalError (because of the check in Reflection::ensureMemberAccess). But jake repo already contains changes that remove this check and NPE is thrown later on in verifyModuleAccess...

Regards, Peter

Reply via email to