RFR(S) 8176887: SIGSEGV in AOTCodeHeap::next when using specific configuration

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Apr 7 20:29:24 UTC 2017


This could be good fix for JDK 9.

Are you sure that functions called for Metadata scan will not barf on 
MethodCounters?

You need also ask Runtime group to look on this change.

When fixing 8173794 I missed this case (MethodCounters*). We should not 
put them into metaspace_got array since GC don't need to process them. 
And they increase metaspace_got array significantly.

For 10 we should fix JAPTC code - metaspace_got array should contain 
only Klass* pointers. May be to add a separate array since 
extLinkageGOTContainer may not right for MethodCounters*.

Thanks,
Vladimir

On 4/7/17 11:55 AM, Igor Veresov wrote:
> The problem here is that AOTCodeHeap::got_metadata_do() iterates over the _metaspace_got array assuming that the array contains Metadata*, indeed the array is declared as such. However it also happens to contain MethodCounters*, and MethodCounters is not Metadata, but MetaspaceObj. The simplest and minimal risk solution is to make MethodCounters a subclass of Metadata (we’d like to have this fix in jdk9).
>
>
> Webrev: http://cr.openjdk.java.net/~iveresov/8176887/webrev.00/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8176887
>
> Thanks!
> igor
>


More information about the hotspot-compiler-dev mailing list