RFR (S) 8245487: Potential double-free of interfaces array
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Thu Jun 4 15:00:40 UTC 2020
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.
Thanks!
Coleen
>
> Thanks,
> Lois
>
>
More information about the hotspot-runtime-dev
mailing list