RFR 8058575: IllegalAccessError trying to access package-private class from VM anonymous class

harold seigel harold.seigel at oracle.com
Fri Sep 2 19:43:46 UTC 2016


Hi Coleen,

Thanks for your comments!

I'll make the new_symbol change and determine where to put the 
TestBadHostClass.java test.

Harold


On 9/2/2016 3:22 PM, Coleen Phillimore wrote:
>
> http://cr.openjdk.java.net/~hseigel/bug_8058575.hs.3/src/share/vm/classfile/classFileParser.cpp.udiff.html 
>
>
> Can you call new_symbol instead?  SymbolTable::lookup() should have 
> been an internal API.
>
> *+ _class_name = SymbolTable::lookup(new_anon_name,*
>
> A bit nerve wracking not having a trailing NULL character but it looks 
> correct.
>
> http://cr.openjdk.java.net/~hseigel/bug_8058575.hs.3/test/runtime/defineAnonClass/TestBadHostClass.java.html 
>
>
> Should this test be put in the JDK tests, since it's testing the new 
> restrictions on Unsafe anonymous classes?
>
> The tests look great though.
>
> Thank you for doing the InstanceKlass cleanup.  Also, to answer Remi's 
> question, if arrays are changed to have methods, including default 
> methods, we'd have to change the metadata types for Klass to represent 
> that and would have to change the code so that access through the 
> host_klass has meaning.  This code is clean for the JDK9 meaning of 
> host_klass.
>
> Thanks,
> Coleen
>
>
> On 9/2/16 9:02 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this new fix for JDK-8058575.  This fix requires that a 
>> VM anonymous class be in either the same package as its host class or 
>> be in the unnamed package.  If the anonymous class is in the unnamed 
>> package then this fix puts it into its host class's package, ensuring 
>> that the anonymous class and its host class are in the same module.  
>> This fix also throws an IllegalArgumentException if the host class is 
>> an array class.
>>
>> Additionally, the type of field ClassFileParser::_host_klass was 
>> changed to InstanceKlass* and some comments were cleaned up.
>>
>> JBS bug: https://bugs.openjdk.java.net/browse/JDK-8058575
>>
>> Open webrevs:
>>
>>    http://cr.openjdk.java.net/~hseigel/bug_8058575.jdk.3/
>>
>>    http://cr.openjdk.java.net/~hseigel/bug_8058575.hs.3/
>>
>> The fix was tested with the JCK API, Lang and VM tests, the hotpot, 
>> and java/lang, java/util and other JTreg tests, the RBT tier2 tests, 
>> and the NSK colocated tests and non-colocated quick tests.
>>
>> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list