[MDEV-5345] Deadlock between mysql_change_user(), SHOW VARIABLES and INSTALL PLUGIN Created: 2013-11-26  Updated: 2014-01-29  Resolved: 2014-01-28

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.34
Fix Version/s: 5.5.35

Type: Bug Priority: Major
Reporter: Sergey Vojtovich Assignee: Sergey Vojtovich
Resolution: Fixed Votes: 1
Labels: None

Issue Links:
PartOf
is part of MDEV-5089 possible deadlocks between rwlocks an... Closed

 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;



 Comments   
Comment by Laurynas Biveinis [ 2013-12-27 ]

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?

Comment by Sergey Vojtovich [ 2013-12-27 ]

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

Comment by Sergey Vojtovich [ 2013-12-27 ]

Sergei, please review fix for this bug.

Comment by Laurynas Biveinis [ 2013-12-27 ]

http://bugs.mysql.com/bug.php?id=71236

Comment by Sergey Vojtovich [ 2014-01-27 ]

Sergei, please review updated patch.

Comment by Sergey Vojtovich [ 2014-01-28 ]

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

Comment by Daniel Bartholomew [ 2014-01-29 ]

http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/4051

Generated at Thu Feb 08 07:03:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.