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