Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5181

incorrect binary search in remove_status_vars()

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 10.0.4, 5.5.33a
    • 5.5.34, 10.0.6
    • None

    Description

      On INSTALL SONAME 'ha_tokudb.so' when TokuDB cannot be installed (for example, because transparent hugepages are enabled), MariaDB hangs.

      The reason is the remove_status_vars() function that has incorrectly implemented binary search to remove plugin variables from the all-variables list. The code

            for (; b-a > 0; c= (a+b)/2)
            {
              res= show_var_cmp(list, all+c);
              if (res < 0)
                b= c;
              else if (res > 0)
                a= c;
              else
                break;
            }

      in my test, a=129, b=130. So, c=129, in comparison I get res > 0, and the loop continues till infinity.

      Attachments

        Activity

          People

            bar Alexander Barkov
            serg Sergei Golubchik
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.