We're updating the issue view to help you get more done.Learn more

Server crashes in intern_plugin_lock on concurrent installing semisync plugin and setting rpl_semi_sync_master_enabled

Also filed as http://bugs.mysql.com/bug.php?id=65711

1 2 3 4 5 6 7 8 9 10 11 12 13 14 #3 <signal handler called> #4 0x000000000061ddfb in intern_plugin_lock (lex=0x24a83e8, rc=0x248e6f0) at sql/sql_plugin.cc:924 #5 0x0000000000622c1d in find_sys_var (thd=0x24a6110, str=0x25a8a28 "rpl_semi_sync_master_enabled", length=28) at sql/sql_plugin.cc:2650 #6 0x0000000000759b5a in find_sys_var_null_base (thd=0x24a6110, tmp=0x7fb73224e830) at sql/sql_yacc.yy:416 #7 0x000000000077c283 in MYSQLparse (yythd=0x24a6110) at sql/sql_yacc.yy:13586 #8 0x000000000061a5a1 in parse_sql (thd=0x24a6110, parser_state=0x7fb732250500, creation_ctx=0x0) at sql/sql_parse.cc:7602 #9 0x00000000006165b1 in mysql_parse (thd=0x24a6110, rawbuf=0x25a8958 "SET GLOBAL rpl_semi_sync_master_enabled = ON", length=44, parser_state=0x7fb732250500) at sql/sql_parse.cc:5691 #10 0x0000000000609f73 in dispatch_command (command=COM_QUERY, thd=0x24a6110, packet=0x25a1141 "SET GLOBAL rpl_semi_sync_master_enabled = ON", packet_length=44) at sql/sql_parse.cc:1055 #11 0x000000000060922a in do_command (thd=0x24a6110) at sql/sql_parse.cc:794 #12 0x000000000070a4ef in do_handle_one_connection (thd_arg=0x24a6110) at sql/sql_connect.cc:1253 #13 0x0000000000709eda in handle_one_connection (arg=0x24a6110) at sql/sql_connect.cc:1168 #14 0x0000000000bffb0f in pfs_spawn_thread (arg=0x2629ad0) at storage/perfschema/pfs.cc:1015 #15 0x00007fb73d8adefc in start_thread (arg=0x7fb732251700) at pthread_create.c:304 #16 0x00007fb73cc2059d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

bzr version-info

1 2 3 4 revision-id: knielsen@knielsen-hq.org-20120622084255-u53u21xv3w7sqxms date: 2012-06-22 10:42:55 +0200 build-date: 2012-06-22 17:46:40 +0400 revno: 3456

(also reproducible on current MySQL 5.5 and MySQL trunk).

MTR test case
(you might try to run it with --repeat=N
if you are not getting the crash right away)

1 2 3 4 5 6 7 8 9 10 11 12 --connect (con1,127.0.0.1,root,,test) --error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL rpl_semi_sync_master_enabled = OFF; --error 0,ER_SP_DOES_NOT_EXIST UNINSTALL PLUGIN rpl_semi_sync_master; --send INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; --connection default --error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL rpl_semi_sync_master_enabled = ON; --connection con1 --reap

If you are still not getting the crash, try this RQG grammar

cat semi.yy

1 2 3 4 5 6 7 8 thread1: SET GLOBAL rpl_semi_sync_master_enabled = on_off ; query: INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so' | UNINSTALL PLUGIN rpl_semi_sync_master ; on_off: ON | OFF ;

Run it as

1 2 3 4 5 6 7 perl runall.pl \ --grammar=semi.yy \ --queries=100M \ --threads=2 \ --duration=300 \ --skip-gendata \ --basedir=<your basedir> --vardir=<your vardir>

Make sure the tests find the library all right
and if not, additionally provide plugin-dir on the command line

Status

Assignee

Sergey Vojtovich

Reporter

Elena Stepanova

Labels

Components

Fix versions

Affects versions

5.5.25

Priority

Major