Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Mandy Chung
I saw the thread on JDK-8177136. I share your concern that throwing ICE does not seem a good choice. I’ll reply on that thread. It seems to me that it should default to the unnamed module if no caller frame rather than throwing an exception. For 8177036, no change in behavior. This

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread David Holmes
As I'm discussing in the RFR for "8177136: Caller sensitive methods Logger.getLogger, Logger.getAnonymousLogger, and System.getLogger should throw IllegalCallerException if there is no caller on the stack." I am quite concerned by this, seemingly sudden, problem that we have a whole bunch

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Mandy Chung
> On Mar 20, 2017, at 2:19 AM, 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:

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Mandy Chung
> On Mar 20, 2017, at 5:15 AM, Daniel Fuchs wrote: > > Hi Peter, > > On 20/03/2017 12:01, Peter Levart wrote: >> Perhaps the best way to rectify those problems in one place would be for >> Reflection.getCallerClass() to return a special internal class in its >> own

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Daniel Fuchs
Hi Peter, On 20/03/2017 12:01, Peter Levart wrote: Perhaps the best way to rectify those problems in one place would be for Reflection.getCallerClass() to return a special internal class in its own package, such as: jdk.internal.solitary.NoCaller ...when there is no caller. This would work

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Peter Levart
On 03/20/2017 12:42 PM, Peter Levart wrote: 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 ...it is

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Alan Bateman
On 20/03/2017 11:42, Peter Levart wrote: 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

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Peter Levart
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/

Re: RFR [9]: 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI

2017-03-20 Thread Alan Bateman
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