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

Server crashes in Item_field::register_field_in_read_map upon MODIFY COLUMN

    XMLWordPrintable

    Details

      Description

      Before MDEV-371 ALTER was not possible.

      --source include/have_innodb.inc
       
      CREATE TABLE t1 ( 
        a CHAR(128),
        b CHAR(128) AS (a),
        c DATETIME,
        UNIQUE(c,b(64))
      ) ENGINE=InnoDB;
      ALTER TABLE t1 MODIFY COLUMN c VARCHAR(4096);
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 5a796f1f

      #3  <signal handler called>
      #4  0x000055964b73d96b in Item_field::register_field_in_read_map (this=0x7f8eec061898, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.cc:789
      #5  0x000055964b2c37eb in Item::walk (this=0x7f8eec061898, processor=&virtual table offset 896, walk_subquery=true, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.h:1782
      #6  0x000055964b34f5a3 in Item_args::walk_args (this=0x7f8eec061a30, processor=&virtual table offset 896, walk_subquery=true, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.h:2477
      #7  0x000055964b34fc1d in Item_func_or_sum::walk (this=0x7f8eec0619a8, processor=&virtual table offset 896, walk_subquery=true, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.h:5056
      #8  0x000055964b34f5a3 in Item_args::walk_args (this=0x7f8eec061b10, processor=&virtual table offset 896, walk_subquery=true, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.h:2477
      #9  0x000055964b34fc1d in Item_func_or_sum::walk (this=0x7f8eec061a88, processor=&virtual table offset 896, walk_subquery=true, arg=0x7f8f3807f200) at /data/src/10.4/sql/item.h:5056
      #10 0x000055964ba85f5e in prepare_vcol_for_base_setup<dict_v_col_t> (table=0x7f8eec061ea8, field=0x7f8eec0609e8, col=0x7f8eec062298) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:10805
      #11 0x000055964ba6d23f in innodb_base_col_setup (table=0x7f8eec061ea8, field=0x7f8eec0609e8, v_col=0x7f8eec062298) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:10829
      #12 0x000055964ba82f64 in create_table_info_t::create_table_def (this=0x7f8f3807eca0) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:11141
      #13 0x000055964ba6f623 in create_table_info_t::create_table (this=0x7f8f3807eca0, create_fk=true) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:12401
      #14 0x000055964ba83e8c in ha_innobase::create (this=0x7f8eec05f078, name=0x7f8f3808194d "./test/#sql-2d0f_9", form=0x7f8f3807f200, create_info=0x7f8f38081cd0, file_per_table=true, trx=0x7f8f33400268) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:12719
      #15 0x000055964ba70267 in ha_innobase::create (this=0x7f8eec05f078, name=0x7f8f3808194d "./test/#sql-2d0f_9", form=0x7f8f3807f200, create_info=0x7f8f38081cd0) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:12772
      #16 0x000055964b72dd90 in handler::ha_create (this=0x7f8eec05f078, name=0x7f8f3808194d "./test/#sql-2d0f_9", form=0x7f8f3807f200, info_arg=0x7f8f38081cd0) at /data/src/10.4/sql/handler.cc:4850
      #17 0x000055964b72ee05 in ha_create_table (thd=0x7f8eec000b00, path=0x7f8f3808194d "./test/#sql-2d0f_9", db=0x7f8eec015c78 "test", table_name=0x7f8eec015598 "t1", create_info=0x7f8f38081cd0, frm=0x7f8f380808a0) at /data/src/10.4/sql/handler.cc:5224
      #18 0x000055964b4c762b in mysql_alter_table (thd=0x7f8eec000b00, new_db=0x7f8eec0052a0, new_name=0x7f8eec0056a0, create_info=0x7f8f38081cd0, table_list=0x7f8eec0155d0, alter_info=0x7f8f38081c10, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:9979
      #19 0x000055964b558b5a in Sql_cmd_alter_table::execute (this=0x7f8eec015da8, thd=0x7f8eec000b00) at /data/src/10.4/sql/sql_alter.cc:499
      #20 0x000055964b3e69ca in mysql_execute_command (thd=0x7f8eec000b00) at /data/src/10.4/sql/sql_parse.cc:6393
      #21 0x000055964b3ebb63 in mysql_parse (thd=0x7f8eec000b00, rawbuf=0x7f8eec0154c8 "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(4096)", length=44, parser_state=0x7f8f38083180, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:8204
      #22 0x000055964b3d71a5 in dispatch_command (command=COM_QUERY, thd=0x7f8eec000b00, packet=0x7f8eec139ff1 "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(4096)", packet_length=44, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1829
      #23 0x000055964b3d598b in do_command (thd=0x7f8eec000b00) at /data/src/10.4/sql/sql_parse.cc:1358
      #24 0x000055964b54f703 in do_handle_one_connection (connect=0x55964f9674a0) at /data/src/10.4/sql/sql_connect.cc:1399
      #25 0x000055964b54f474 in handle_one_connection (arg=0x55964f9674a0) at /data/src/10.4/sql/sql_connect.cc:1302
      #26 0x000055964ba45031 in pfs_spawn_thread (arg=0x55964f9ad310) at /data/src/10.4/storage/perfschema/pfs.cc:1862
      #27 0x00007f8f3f3df494 in start_thread (arg=0x7f8f38084700) at pthread_create.c:333
      #28 0x00007f8f3d7c593f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      Non-debug and ASAN also crash.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              sachin.setiya.007 Sachin Setiya
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: