Disable heap iteration for Shenandoah in SA

Aleksey Shipilev shade at redhat.com
Wed Nov 28 18:14:18 UTC 2018


On 11/28/18 7:12 PM, Roman Kennke wrote:
>> On 11/28/18 6:59 PM, Aleksey Shipilev wrote:
>>> On 11/28/18 6:38 PM, Roman Kennke wrote:
>>>> As Per pointed out in reviews, we cannot safely iterate objects in SA,
>>>> because current implementation is size-based. This might just crash.
>>>> Let's do the same as ZGC for now and disable it, and revert the other
>>>> pieces.
>>>>
>>>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/
>>>
>>> Comment is incorrect, should be "Shenandoah":
>>>
>>>  372        // Operation (currently) not supported with ZGC. Print
>>>
>>> Then what Zhengyu said, we can remove cell_header_size completely?
>>
>> Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added
>> this to satisfy adopter's request for this feature. I wonder if we can somehow check that class
>> unloading is not enabled before traversing.
> 
> I have no idea. How about I cut this out of the upstreaming patch, and
> see into fixing it properly (for ZGC too)? We don't need to push it to
> shenandoah/jdk for that (but we could). WDYT.
> 
> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.02/

Wrong warning message, should be "Shenandoah" :)

 374        System.err.println("Warning: Operation not supported with ZGC");

Hold on, let me try to detect class unloading flags in SA, and conditionalize on that.

-Aleksey



More information about the shenandoah-dev mailing list