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

Deadlock between mysql_change_user(), SHOW VARIABLES and INSTALL PLUGIN

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.34
    • Fix Version/s: 5.5.35
    • Component/s: None
    • Labels:
      None

      Description

      3 threads required to reproduce this deadlock:
      thread1: mysql_change_user() (or connects/disconnects)
      thread2: INSTALL PLUGIN
      thread3: SHOW VARIABLES

      Easily repeatable with mtr test case:

      delimiter |;
      CREATE PROCEDURE p_install(x INT)
      BEGIN
        DECLARE CONTINUE HANDLER FOR 1126 BEGIN END;
        WHILE x DO
          SET x= x - 1;
          INSTALL PLUGIN no_such_plugin SONAME 'no_such_object';
        END WHILE;
      END|
      
      CREATE PROCEDURE p_show_vars(x INT)
      WHILE x DO
        SET x= x - 1;
        SHOW VARIABLES;
      END WHILE|
      delimiter ;|
      
      connect(con1, localhost, root,,);
      connect(con2, localhost, root,,);
      
      connection con1;
      --send CALL p_install(100);
      
      connection con2;
      --send CALL p_show_vars(100);
      
      connection default;
      
      disable_result_log;
      let $i= 100;
      while ($i)
      {
        change_user;
        dec $i;
      }
      
      connection con1;
      reap;
      connection con2;
      reap;
      connection default;
      enable_result_log;
      
      disconnect con1;
      disconnect con2;
      DROP PROCEDURE p_install;
      DROP PROCEDURE p_show_vars;
      

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            laurynas Laurynas Biveinis added a comment -

            The MTR testcase fails the MySQL 5.6.15 too. Has this been reported to Oracle? If not, would you mind me reporting it with your testcase?

            Show
            laurynas Laurynas Biveinis added a comment - The MTR testcase fails the MySQL 5.6.15 too. Has this been reported to Oracle? If not, would you mind me reporting it with your testcase?
            Hide
            svoj Sergey Vojtovich added a comment - - edited

            Laurynas, it hasn't been reported to Oracle yet. I'd appreciate if you could report it to Oracle.

            Show
            svoj Sergey Vojtovich added a comment - - edited Laurynas, it hasn't been reported to Oracle yet. I'd appreciate if you could report it to Oracle.
            Hide
            svoj Sergey Vojtovich added a comment -

            Sergei, please review fix for this bug.

            Show
            svoj Sergey Vojtovich added a comment - Sergei, please review fix for this bug.
            Show
            laurynas Laurynas Biveinis added a comment - http://bugs.mysql.com/bug.php?id=71236
            Hide
            svoj Sergey Vojtovich added a comment -

            Sergei, please review updated patch.

            Show
            svoj Sergey Vojtovich added a comment - Sergei, please review updated patch.
            Hide
            svoj Sergey Vojtovich added a comment -

            Fixed in 5.5.35, revno: 4051, revision-id: svoj@mariadb.org-20140128071243-807nozcys0r84mxv

            Show
            svoj Sergey Vojtovich added a comment - Fixed in 5.5.35, revno: 4051, revision-id: svoj@mariadb.org-20140128071243-807nozcys0r84mxv
            Show
            dbart Daniel Bartholomew added a comment - http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/4051

              People

              • Assignee:
                svoj Sergey Vojtovich
                Reporter:
                svoj Sergey Vojtovich
              • Votes:
                1 Vote for this issue
                Watchers:
                4 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 - 50 minutes
                  50m