RFR JDK-8247247: JFR tests fail due to JDK-8235521 missing doPrivileged block

Mandy Chung mandy.chung at oracle.com
Thu Jun 11 17:00:45 UTC 2020


Thanks Erik.

Mandy

On 6/11/20 9:42 AM, Erik Gahlin wrote:
> Looks good.
>
> Erik
>
>> On 11 Jun 2020, at 18:40, Mandy Chung <mandy.chung at oracle.com> wrote:
>>
>> Webrev:
>> http://cr.openjdk.java.net/~mchung/jdk15/webrevs/8247247/webrev.00/
>>
>> The call to `Unsafe::ensureClassInitialized` was replaced with `MethodHandles.privateLookupIn(clazz, LOOKUP).ensureInitialized(clazz)` by JDK-8235521 but missing the doPrivileged block.
>>
>> The call to `MethodHandles::privateLookupIn` has an unconditional security permission check whereas the call to `Lookup::ensureInitialized` may trigger a permission check if the Lookup object is not a full privilege Lookup.  The fix is to only wrap ``MethodHandles::privateLookupIn` with a doPrivileged block and keep Lookup::ensureInitialized` call without doPrivileged that was the previous behavior.  This fix also ensures that the class is initialized only at event class registration time which is done with doPrivileged block (i.e. security check on Lookup::ensureInitialized will pass). OTOH, getEventType and unregister are changed not to initialize the class.
>>
>> Thanks
>> Mandy



More information about the hotspot-jfr-dev mailing list