CMSBitMapYieldQuantum option have min range equal to 1. It seems wrong, because JVM can hit assert for small values(e.g. 1, 256 and other). Following command(run TestGCOld hotspot jtreg test) on Linux-x64 hit assert:
java -XX:+UseConcMarkSweepGC -XX:CMSBitMapYieldQuantum=1 TestGCOld 10 10 10 10 10000
...
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/bitMap.cpp:161
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/scratch/opt/jprt/T/P1/011512.daholme/s/hotspot/src/share/vm/utilities/bitMap.cpp:161), pid=28869, tid=28873
# assert(end_full_word - beg_full_word >= 32) failed: the range must include at least 32 bytes
#
...
hs_err_pid28869.log is attached.
Also, it seems that CMSBitMapYieldQuantum need a constraint. For example JVM hit assert for CMSBitMapYieldQuantum=5001, but values 5000 and 5002 works fine.
java -XX:+UseConcMarkSweepGC -XX:CMSBitMapYieldQuantum=1 TestGCOld 10 10 10 10 10000
...
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/bitMap.cpp:161
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/scratch/opt/jprt/T/P1/011512.daholme/s/hotspot/src/share/vm/utilities/bitMap.cpp:161), pid=28869, tid=28873
# assert(end_full_word - beg_full_word >= 32) failed: the range must include at least 32 bytes
#
...
hs_err_pid28869.log is attached.
Also, it seems that CMSBitMapYieldQuantum need a constraint. For example JVM hit assert for CMSBitMapYieldQuantum=5001, but values 5000 and 5002 works fine.