[MDEV-29771] Server crashes in check_sequence_fields upon CREATE TABLE .. SEQUENCE=1 AS SELECT .. Created: 2022-10-11  Updated: 2023-09-27  Resolved: 2023-09-27

Status: Closed
Project: MariaDB Server
Component/s: Sequences
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
Fix Version/s: 10.4.32, 10.5.23, 10.6.16, 10.10.7, 10.11.6, 11.0.4, 11.1.3

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Oleksandr Byelkin
Resolution: Fixed Votes: 0
Labels: None


 Description   

create table s sequence=1 as select 1;

10.3 602124bb

#3  <signal handler called>
#4  0x000055589f134ea0 in check_sequence_fields (lex=0x62a000064000, fields=0x7fd52ff31c18) at /data/src/10.3/sql/sql_sequence.cc:233
#5  0x000055589ee28151 in mysql_prepare_create_table (thd=0x62a000060208, create_info=0x7fd52ff31cd0, alter_info=0x7fd52ff31bd0, db_options=0x7fd52ff2d7c0, file=0x62b000001728, key_info_buffer=0x7fd52ff2fce0, key_count=0x7fd52ff2fcd0, create_table_mode=1, db=..., table_name=...) at /data/src/10.3/sql/sql_table.cc:3469
#6  0x000055589ee3395e in mysql_create_frm_image (thd=0x62a000060208, db=0x62b000000500, table_name=0x62b000000510, create_info=0x7fd52ff31cd0, alter_info=0x7fd52ff31bd0, create_table_mode=1, key_info=0x7fd52ff2fce0, key_count=0x7fd52ff2fcd0, frm=0x7fd52ff2fd00) at /data/src/10.3/sql/sql_table.cc:4860
#7  0x000055589ee352a2 in create_table_impl (thd=0x62a000060208, orig_db=0x62b000000500, orig_table_name=0x62b000000510, db=0x62b000000500, table_name=0x62b000000510, path=0x7fd52ff2fd20 "./test/s", options=..., create_info=0x7fd52ff31cd0, alter_info=0x7fd52ff31bd0, create_table_mode=1, is_trans=0x0, key_info=0x7fd52ff2fce0, key_count=0x7fd52ff2fcd0, frm=0x7fd52ff2fd00) at /data/src/10.3/sql/sql_table.cc:5110
#8  0x000055589ee36022 in mysql_create_table_no_lock (thd=0x62a000060208, db=0x62b000000500, table_name=0x62b000000510, create_info=0x7fd52ff31cd0, alter_info=0x7fd52ff31bd0, is_trans=0x0, create_table_mode=1, table_list=0x62b0000004e8) at /data/src/10.3/sql/sql_table.cc:5239
#9  0x000055589eb784cf in select_create::create_table_from_items (this=0x62b000000e48, thd=0x62a000060208, items=0x7fd52ff31460, lock=0x7fd52ff31440, hooks=0x7fd52ff314e0) at /data/src/10.3/sql/sql_insert.cc:4350
#10 0x000055589eb79a94 in select_create::prepare (this=0x62b000000e48, _values=..., u=0x62a0000640c0) at /data/src/10.3/sql/sql_insert.cc:4541
#11 0x000055589eca5f21 in JOIN::prepare (this=0x62b000000f48, tables_init=0x0, wild_num=0, conds_init=0x0, og_num=0, order_init=0x0, skip_order_by=false, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x62a000064880, unit_arg=0x62a0000640c0) at /data/src/10.3/sql/sql_select.cc:1422
#12 0x000055589ecc444c in mysql_select (thd=0x62a000060208, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x62b000000e48, unit=0x62a0000640c0, select_lex=0x62a000064880) at /data/src/10.3/sql/sql_select.cc:4352
#13 0x000055589ec9ae9d in handle_select (thd=0x62a000060208, lex=0x62a000064000, result=0x62b000000e48, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:372
#14 0x000055589ee628df in Sql_cmd_create_table_like::execute (this=0x62b0000004b8, thd=0x62a000060208) at /data/src/10.3/sql/sql_table.cc:11447
#15 0x000055589ec0d7d6 in mysql_execute_command (thd=0x62a000060208) at /data/src/10.3/sql/sql_parse.cc:6076
#16 0x000055589ec19608 in mysql_parse (thd=0x62a000060208, rawbuf=0x62b0000003a8 "create table s sequence=1 as select 1", length=37, parser_state=0x7fd52ff339d0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7855
#17 0x000055589ebf0c56 in dispatch_command (command=COM_QUERY, thd=0x62a000060208, packet=0x6290000eb209 "create table s sequence=1 as select 1", packet_length=37, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
#18 0x000055589ebed80e in do_command (thd=0x62a000060208) at /data/src/10.3/sql/sql_parse.cc:1398
#19 0x000055589efb0a82 in do_handle_one_connection (connect=0x608000000ca8) at /data/src/10.3/sql/sql_connect.cc:1403
#20 0x000055589efb037e in handle_one_connection (arg=0x608000000ca8) at /data/src/10.3/sql/sql_connect.cc:1308
#21 0x00005558a055be9f in pfs_spawn_thread (arg=0x615000004408) at /data/src/10.3/storage/perfschema/pfs.cc:1869
#22 0x00007fd53aa69ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x00007fd53a989aef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Reproducible on all existing versions, including older minor releases.



 Comments   
Comment by Oleksandr Byelkin [ 2023-09-26 ]

commit 90dbc348bc47fdfbbe188848a607d2548263cf8e (HEAD -> bb-10.4-MDEV-29771, origin/bb-10.4-MDEV-29771)
Author: Oleksandr Byelkin <sanja@mariadb.com>
Date:   Tue Sep 26 18:17:04 2023 +0200
 
    MDEV-29771 Server crashes in check_sequence_fields upon CREATE TABLE .. SEQUENCE=1 AS SELECT ..
    
    Pass name separately for sequence check because sequence can be created with
    CREATE TABLE (see https://mariadb.com/kb/en/create-table/#sequence )

Comment by Yuchen Pei [ 2023-09-27 ]

90dbc348bc47fdfbbe188848a607d2548263cf8e looks ok to push.

Generated at Thu Feb 08 10:11:10 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.