RFR: 8354452: Shenandoah: Enforce range checks on parameters controlling heuristic sleep times

William Kemper wkemper at openjdk.org
Fri Apr 11 21:28:31 UTC 2025


On Fri, 11 Apr 2025 20:56:26 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> Without enforcing limits on `ShenandoahControlIntervalMin` and `ShenandoahControlIntervalMax`, the user may supply values that cause assertions to fail.
>> 
>> This assertion failure has been observed in Genshen's regulator thread:
>> 
>> #0 0x000028e8062d021a in ShenandoahRegulatorThread::regulator_sleep (this=0x4ef9701893b0) at src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp:125
>> #1 0x000028e8062d0027 in ShenandoahRegulatorThread::regulate_young_and_old_cycles (this=0x4ef9701893b0) at src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp:95
>> #2 0x000028e8062cfd06 in ShenandoahRegulatorThread::run_service (this=0x4ef9701893b0) at src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp:51
>> 
>> But it could just as easily happen in other modes to the `ShenandoahControlThread` instance.
>
> Left a comment for consideration but changes look fine if this changes doesn't interfere with potential tuning space etc.

Appreciate the careful review @ysramakrishna !

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

PR Comment: https://git.openjdk.org/jdk/pull/24602#issuecomment-2798035149


More information about the shenandoah-dev mailing list