Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.5, 10.4.10, 10.4(EOL)
-
None
Description
When we try to rename table with 'SET STATEMENT max_statement_time=180' it crashes mysqld with signal 11. We could reproduce it easily even if the table doesn't exist.
A simple rename table works fine without using 'SET STATEMEMT..'
MariaDB [test]> SET STATEMENT max_statement_time=180 FOR RENAME TABLE bleh TO blah;
|
ERROR 2013 (HY000): Lost connection to MySQL server during query
|
MariaDB [test]>
|
|
Stack trace:
|
|
Thread pointer: 0x7fa1480009a8
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x7fa30c8d9e90 thread_stack 0x49000
|
/glide/mariadb/10.4.12.test/bin/mysqld(my_print_stacktrace+0x2b)[0x5654a880aa6b]
|
mysys/stacktrace.c:270(my_print_stacktrace)[0x5654a825bf87]
|
sigaction.c:0(__restore_rt)[0x7fa3303b05d0]
|
sql/sql_parse.cc:8165(st_select_lex::add_table_to_list(THD*, Table_ident*, st_mysql_const_lex_string*, unsigned long, thr_lock_type, enum_mdl_type, List<Index_hint>*, List<String>*, st_mysql_lex_string*))[0x5654a806a108]
|
sql/sql_yacc.yy:9033(MYSQLparse(THD*))[0x5654a82017e3]
|
sql/sql_parse.cc:10207(parse_sql(THD*, Parser_state*, Object_creation_ctx*, bool))[0x5654a806d08d]
|
sql/sql_parse.cc:7856(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5654a80748b6]
|
sql/sql_lex.h:4678(Parser_state::reset(char*, unsigned int))[0x5654a80760eb]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x5654a80778d1]
|
sql/sql_connect.cc:1412(do_handle_one_connection(CONNECT*))[0x5654a8147902]
|
sql/sql_connect.cc:1318(handle_one_connection)[0x5654a81479e4]
|
perfschema/pfs.cc:1872(pfs_spawn_thread)[0x5654a83ef96d]
|
pthread_create.c:0(start_thread)[0x7fa3303a8dd5]
|
/lib64/libc.so.6(clone+0x6d)[0x7fa32f283ead]
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7fa148013fe0): SET STATEMENT max_statement_time=180 FOR RENAME TABLE blah_datea TO blah
|
Connection ID (thread ID): 12
|
Status: NOT_KILLED
|
Thanks! Repeated as described on 10.4
10.4 c1eaa385ffb44bdf6264d
#4 0x0000559a6aacf44a in st_select_lex::add_table_to_list (this=0x0, thd=0x7f4b34000a88, table=0x7f4b34114bb0, alias=0x0, table_options=1, lock_type=TL_IGNORE, mdl_type=MDL_EXCLUSIVE, index_hints_arg=0x0, partition_names=0x0, option=0x0) at /10.4/sql/sql_parse.cc:8165
#5 0x0000559a6ad7c4bc in MYSQLparse (thd=0x7f4b34000a88) at /10.4/sql/sql_yacc.yy:9033
#6 0x0000559a6aad3c09 in parse_sql (thd=0x7f4b34000a88, parser_state=0x7f4b46becfd0, creation_ctx=0x0, do_pfs_digest=true) at /10.4/sql/sql_parse.cc:10207
#7 0x0000559a6aace35c in mysql_parse (thd=0x7f4b34000a88, rawbuf=0x7f4b340d1730 "SET STATEMENT max_statement_time=180 FOR RENAME TABLE blah_datea TO blah", length=72, parser_state=0x7f4b46becfd0, is_com_multi=false, is_next_command=false) at /10.4/sql/sql_parse.cc:7854
#8 0x0000559a6aab9584 in dispatch_command (command=COM_QUERY, thd=0x7f4b34000a88, packet=0x7f4b34007bc9 "SET STATEMENT max_statement_time=180 FOR RENAME TABLE blah_datea TO blah", packet_length=72, is_com_multi=false, is_next_command=false) at /10.4/sql/sql_parse.cc:1842
#9 0x0000559a6aab7be5 in do_command (thd=0x7f4b34000a88) at /10.4/sql/sql_parse.cc:1360
#10 0x0000559a6ac48133 in do_handle_one_connection (connect=0x559a6e4a97b8) at /10.4/sql/sql_connect.cc:1412
#11 0x0000559a6ac47e5c in handle_one_connection (arg=0x559a6e4a97b8) at /10.4/sql/sql_connect.cc:1316
#12 0x0000559a6b6a786f in pfs_spawn_thread (arg=0x559a6e3e6c78) at /10.4/storage/perfschema/pfs.cc:1869
#13 0x00007f4b4ed876ba in start_thread (arg=0x7f4b46bee700) at pthread_create.c:333
#14 0x00007f4b4d96a41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109