Review Request: JDK-8228671: Fastdebug VM throws InternalError when publicLookup.in(T) is used to resolve a member
Mandy Chung
mandy.chung at oracle.com
Sat Jul 27 21:33:54 UTC 2019
On 7/26/19 11:51 PM, Alan Bateman wrote:
> On 26/07/2019 22:12, Mandy Chung wrote:
>> Debug VM checks if a class is accessible to the lookup class except
>> if the lookup class is java.lang.Object (which was the lookup class
>> of publicLookup previously). WithJDK-8173978, Lookup::in has changed
>> and it can be used to create a new public Lookup on a different
>> lookup class.
>>
>> A quick fix for this bug is to pass Object.class for resolution for a
>> Lookup object with UNCONDITIONAL mode as previously. The lookup
>> class and allowed modes are used to check if the resolved member is
>> accessible to this Lookup object. We should re-examine this area in
>> particular publicLookup (see JDK-8173977).
> Looks okay as a quick fix, surprised it is only caught with tier5 or 6
> testing.
It was a surprise that this was not caught in our tier1-3 testing. We
shall revisit and expand tier1-3 to execute certain tests such as
jdk_lang group in fastdebug mode.
> I assume JDK-8173977 will need a priority boost.
It may be time to revisit this together with loader constraints
(although they are orthogonal).
Mandy
More information about the core-libs-dev
mailing list