Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8152188

Allow CMSBitMapYieldQuantum for BitMap::clear_range and clear_large_range

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 9
    • 9
    • hotspot
    • None
    • gc
    • b115

      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.

            sangheki Sangheon Kim
            ddmitriev Dmitry Dmitriev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: