Review Request JDK-8189193: FindClass mistakenly uses system class loader when the initiating loader is bootstrap loader
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Oct 18 23:15:10 UTC 2017
Hi Mandy,
In the wrong version, for the case where k->class_loader() is NULL at
line 419 or 423, would get reset to the system class loader?
I'm so sorry for the unhelpful help, I was hoping to make the logic
simpler but it backfired.
The new versions logic is a lot more straightforward and nice. It takes
some studying to determine that loader isn't a naked oop though so it
might be safer to make it a Handle at 403. Or else:
428 Handle loader_h = Handle(THREAD, loader);
could be
428 Handle loader_h(THREAD, loader);
Looks good. Sorry again.
thanks for fixing it quickly.
Coleen
On 10/18/17 5:52 PM, mandy chung wrote:
> The bug creeped in when I improved the code to use loader.is_null() to
> set to system class loader per Coleen's suggestion. It's my oversight
> of the null loader case. The is the version I pushed.
> http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8188052/webrev.02/
>
> The previous version was correct.
> http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8188052/webrev.01/
>
> I didn't go back to webrev.01. The fix is an improvement to it.
>
> Mandy
>
> On 10/18/17 2:48 PM, David Holmes wrote:
>> Hi Mandy,
>>
>> Do you still have the webrev for 8188052? I need to see how this got
>> through given we looked at it so many times. :(
>>
>> Thanks,
>> David
>>
>> On 19/10/2017 7:30 AM, mandy chung wrote:
>>> This is a regression caused by JDK-8188052. FindClass should only
>>> use system class loader when there is no caller class or when it's
>>> called from JNI_OnUnload. When there is a caller class, it should
>>> either use its class loader or the one associated with JNI_Onload.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8189193/webrev.00/
>>>
>>> JBS:https://bugs.openjdk.java.net/browse/JDK-8189193
>>>
>>> thanks
>>> Mandy
>
More information about the hotspot-runtime-dev
mailing list