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

Allow CMSBitMapYieldQuantum for BitMap::clear_range and clear_large_range

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
      gc
    • Resolved In Build:
      b115

      Description

      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.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: