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

Crash in KILL HARD QUERY USER x@y when slave threads are running

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.12, 5.5.37, 10.0.11
    • Fix Version/s: 5.5.39, 10.0.13, 5.3.13
    • Component/s: None
    • Labels:
      None

      Description

      This simple test case crashes the server:

      --source include/master-slave.inc
      --connection server_2
      kill hard query user test2@nohost;
      --source include/rpl_end.inc
      

      It crashes inside kill_threads_for_user(), in this code:

          if (((user->host.str[0] == '%' && !user->host.str[1]) ||
               !strcmp(tmp->security_ctx->host, user->host.str)) &&
              !strcmp(tmp->security_ctx->user, user->user.str))
      

      tmp->security_ctx->host is NULL for the slave IO thread, so we get a NULL
      pointer reference inside strcmp().

      I'm not sure if the bug here is that the host field is NULL in the replication
      thread, or if the bug is that the code in kill_threads_for_user() should check
      for NULL...

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Also reproducible on old versions of 5.3 and 5.5 (tried 5.3.7 and 5.5.23)/

            Show
            elenst Elena Stepanova added a comment - Also reproducible on old versions of 5.3 and 5.5 (tried 5.3.7 and 5.5.23)/

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                knielsen Kristian Nielsen
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 30 minutes
                  30m