RFR: Allow young collection to suspend marking in old generation [v3]

Roman Kennke rkennke at openjdk.java.net
Tue Feb 23 08:03:05 UTC 2021


On Mon, 22 Feb 2021 18:14:29 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision:
>> 
>>  - Remove superfluous new line
>>  - Remove redundant is_oop check
>>  - Remove unused parameter, remove unnecessary casting
>>  - Remove debug scaffolding, inline object aging
>>  - Do not allow heuristics to change requested gc cause once a mutator request has been made
>
> Quick scan

It looks much better now, hotspot_gc_shenandoah is passing. I'll give it a more in-depth review later. I've tried to run some programs with generational mode, and it survives a few cycles, until it crashes with:

#  Internal Error (/home/rkennke/src/openjdk/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp:101), pid=6682, tid=6688
#  assert(!_heap->get_region(index)->is_cset()) failed: should have been cleared before

Stack: [0x00007fd9529cf000,0x00007fd952acf000],  sp=0x00007fd952acd530,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1592374]  ShenandoahCollectionSet::clear()+0x1a4
V  [libjvm.so+0x15cb5fa]  ShenandoahGeneration::prepare_regions_and_collection_set(bool)+0x20a
V  [libjvm.so+0x15ac5bb]  ShenandoahDegenGC::op_degenerated()+0x24b
V  [libjvm.so+0x15ad4e0]  ShenandoahDegenGC::entry_degenerated()+0xf0
V  [libjvm.so+0x16e391c]  VM_ShenandoahDegeneratedGC::doit()+0x2c
V  [libjvm.so+0x19126b7]  VM_Operation::evaluate()+0x187
V  [libjvm.so+0x19372fc]  VMThread::inner_execute(VM_Operation*)+0x30c
V  [libjvm.so+0x1937c75]  VMThread::loop()+0x255
V  [libjvm.so+0x1937f1c]  VMThread::run()+0xcc
V  [libjvm.so+0x183baf8]  Thread::call_run()+0xf8
V  [libjvm.so+0x13b860e]  thread_native_entry(Thread*)+0x10e

See also attached hs_err.

I'll look into this a bit.

[hs_err_pid6682.log](https://github.com/openjdk/shenandoah/files/6027426/hs_err_pid6682.log)

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/19


More information about the shenandoah-dev mailing list