RFR (S) 8245487: Potential double-free of interfaces array

Lois Foltan lois.foltan at oracle.com
Thu Jun 4 15:10:39 UTC 2020



On 6/4/2020 11:00 AM, coleen.phillimore at oracle.com wrote:
>
>
> On 6/4/20 10:34 AM, Lois Foltan wrote:
>> On 6/4/2020 7:36 AM, coleen.phillimore at oracle.com wrote:
>>> Summary: free _local_interfaces when we free _transitive_interfaces 
>>> since they can share memory.
>>>
>>> Tested with tier1-3, also test case with fastdebug and product 
>>> builds.  ClassLoaderDataGraph::verify is enabled in product for 
>>> -XX:+VerifyBeforeExit.
>>>
>>> open webrev at 
>>> http://cr.openjdk.java.net/~coleenp/2020/8245487.01/webrev
>>> bug link https://bugs.openjdk.java.net/browse/JDK-8245487
>>>
>>> Thanks to Fred for finding the problem and testing on valhalla where 
>>> it was first observed, and to Ioi for the test case (and finding the 
>>> problem too!)
>>>
>>> Thanks,
>>> Coleen
>>
>> Looks good Coleen!
>>
>> Minor comment on the summary description within the test, 
>> classFileParserBug/TestBadPackageWithInterface.java.  The test 
>> runtime/modules/JVMDefineModule.java does already test for a 
>> resulting IAE when a package named "java" is defined to a class 
>> loader other than the boot or platform class loader.  So my 
>> understanding is that TestBadPackageWithInterface.java is really 
>> testing that if an exception is raised when a class is defined, then 
>> InstanceKlass::verify_on() will exit cleanly, correct?
>
> Thank you for reviewing.  How about this for the comment:
>
>  * @summary Check that if the VM rejects classes from packages 
> starting with "java/", it will exit
>  *          cleanly after InstanceKlass::verify_on(), and not leave 
> freed memory in _local_interfaces.

Looks good and clear!
Lois

>
> Thanks!
> Coleen
>>
>> Thanks,
>> Lois
>>
>>
>



More information about the hotspot-runtime-dev mailing list