Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-2721

CHECK can be hit when there are gaps in present CPU numbers

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.8.0
    • Fix Version/s: 1.10.0
    • Component/s: None
    • Labels:
    • Environment:
      SLES12-SP3

      Description

      We saw a case where Impala is crashing in the Kudu client and it seems to be because the "present" string can have multiple ranges in it - "0-15,32-47\n" in this case. See https://github.com/apache/kudu/blob/148a0c7bec6554724339a2235cbd723fb74be339/src/kudu/gutil/sysinfo.cc#L177

      I've attached a small test program based on the code illustrating that the assert gets hit.

      I think we should figure out all of the possible formats for the present string and make sure we handle them. Or figure out a different way to get equivalent info.

      A workaround for the case that we saw was to disable hyperthreading, which changed the string to being a single range.

        Attachments

        1. cpus.cc
          0.6 kB
          Tim Armstrong

          Issue Links

            Activity

              People

              • Assignee:
                tarmstrong Tim Armstrong
                Reporter:
                tarmstrong Tim Armstrong
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: