|
CREATE DATABASE test;
|
USE test;
|
CREATE TABLE t (a BLOB NOT NULL, b DATE NOT NULL);
|
ALTER TABLE t CHANGE COLUMN a a CHAR(150) BINARY;
|
INSERT INTO t VALUES (1261,0);
|
ALTER TABLE t CHANGE COLUMN a a CHAR(200) NOT NULL;
|
Leads to:
|
10.5.5 e1013725ce0f3f947e728491eef75d9985e8db2f
|
mysqld: /test/10.5_dbg/storage/innobase/row/row0merge.cc:766: ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABLE*, trx_t*): Assertion `!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)' failed.
|
|
10.5.5 e1013725ce0f3f947e728491eef75d9985e8db2f
|
Core was generated by `/test/MD250620-mariadb-10.5.5-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x15111f359700 (LWP 2772695))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055d8ebb647d0 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x000055d8eb31d47a in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x000015111d5ef801 in __GI_abort () at abort.c:79
|
#6 0x000015111d5df39a in __assert_fail_base (fmt=0x15111d7667d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55d8ebfad0a8 "!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)", file=file@entry=0x55d8ebfaca68 "/test/10.5_dbg/storage/innobase/row/row0merge.cc", line=line@entry=766, function=function@entry=0x55d8ebfae200 <row_merge_buf_add(row_merge_buf_t*, dict_index_t*, dict_table_t const*, dict_table_t const*, fts_psort_t*, dtuple_t*, row_ext_t const*, unsigned long*, mem_block_info_t*, dberr_t*, mem_block_info_t**, TABLE*, trx_t*)::__PRETTY_FUNCTION__> "ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABLE*, tr"...) at assert.c:92
|
#7 0x000015111d5df412 in __GI___assert_fail (assertion=assertion@entry=0x55d8ebfad0a8 "!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)", file=file@entry=0x55d8ebfaca68 "/test/10.5_dbg/storage/innobase/row/row0merge.cc", line=line@entry=766, function=function@entry=0x55d8ebfae200 <row_merge_buf_add(row_merge_buf_t*, dict_index_t*, dict_table_t const*, dict_table_t const*, fts_psort_t*, dtuple_t*, row_ext_t const*, unsigned long*, mem_block_info_t*, dberr_t*, mem_block_info_t**, TABLE*, trx_t*)::__PRETTY_FUNCTION__> "ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABLE*, tr"...) at assert.c:101
|
#8 0x000055d8eb84a384 in row_merge_buf_add (buf=buf@entry=0x1510fc126778, fts_index=fts_index@entry=0x0, old_table=old_table@entry=0x1510fc054398, new_table=new_table@entry=0x1510fc057a98, psort_info=psort_info@entry=0x0, row=row@entry=0x1510fc1bc0b8, ext=<optimized out>, doc_id=<optimized out>, conv_heap=<optimized out>, err=<optimized out>, v_heap=<optimized out>, my_table=<optimized out>, trx=<optimized out>) at /test/10.5_dbg/storage/innobase/row/row0merge.cc:766
|
#9 0x000055d8eb84e46c in row_merge_read_clustered_index (allow_not_null=<optimized out>, eval_table=<optimized out>, crypt_block=<optimized out>, pct_cost=<optimized out>, stage=<optimized out>, tmpfd=0x15111f3534a0, skip_pk_sort=<optimized out>, block=<optimized out>, sequence=<optimized out>, add_autoinc=<optimized out>, col_map=<optimized out>, add_v=<optimized out>, defaults=<optimized out>, n_index=<optimized out>, key_numbers=<optimized out>, files=<optimized out>, psort_info=<optimized out>, fts_sort_idx=<optimized out>, index=0x1510fc057770, online=<optimized out>, new_table=<optimized out>, old_table=<optimized out>, table=<optimized out>, trx=<optimized out>) at /test/10.5_dbg/storage/innobase/row/row0merge.cc:2356
|
#10 row_merge_build_indexes (trx=<optimized out>, old_table=<optimized out>, new_table=<optimized out>, online=<optimized out>, indexes=0x1510fc057770, key_numbers=<optimized out>, n_indexes=<optimized out>, table=<optimized out>, defaults=<optimized out>, col_map=<optimized out>, add_autoinc=<optimized out>, sequence=<optimized out>, skip_pk_sort=<optimized out>, stage=<optimized out>, add_v=<optimized out>, eval_table=<optimized out>, allow_not_null=<optimized out>) at /test/10.5_dbg/storage/innobase/row/row0merge.cc:4533
|
#11 0x000055d8eb718ccc in ha_innobase::inplace_alter_table (this=0x1510fc0380a0, altered_table=0x15111f3549e0, ha_alter_info=0x15111f354940) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:8384
|
#12 0x000055d8eb139a3c in handler::ha_inplace_alter_table (ha_alter_info=0x15111f354940, altered_table=0x15111f3549e0, this=<optimized out>) at /test/10.5_dbg/sql/handler.h:4525
|
#13 mysql_inplace_alter_table (thd=thd@entry=0x1510fc015088, table_list=0x1510fc0741b8, table=table@entry=0x1510fc0fa088, altered_table=altered_table@entry=0x15111f3549e0, ha_alter_info=ha_alter_info@entry=0x15111f354940, inplace_supported=inplace_supported@entry=HA_ALTER_INPLACE_COPY_NO_LOCK, target_mdl_request=0x15111f3557a0, alter_ctx=0x15111f356630) at /test/10.5_dbg/sql/sql_table.cc:8023
|
#14 0x000055d8eb14a1f4 in mysql_alter_table (thd=thd@entry=0x1510fc015088, new_db=new_db@entry=0x1510fc019948, new_name=new_name@entry=0x1510fc019d50, create_info=create_info@entry=0x15111f357220, table_list=<optimized out>, table_list@entry=0x1510fc0741b8, alter_info=alter_info@entry=0x15111f357150, order_num=0, order=0x0, ignore=false, if_exists=false) at /test/10.5_dbg/sql/sql_table.cc:10595
|
#15 0x000055d8eb1cdf92 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x1510fc015088) at /test/10.5_dbg/sql/sql_alter.cc:532
|
#16 0x000055d8eb077d26 in mysql_execute_command (thd=thd@entry=0x1510fc015088) at /test/10.5_dbg/sql/sql_parse.cc:5953
|
#17 0x000055d8eb07f638 in mysql_parse (thd=thd@entry=0x1510fc015088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x15111f358350, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7995
|
#18 0x000055d8eb06c110 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1510fc015088, packet=packet@entry=0x1510fc067089 "ALTER TABLE t CHANGE COLUMN a a CHAR(200) NOT NULL", packet_length=packet_length@entry=50, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1874
|
#19 0x000055d8eb06a8ea in do_command (thd=0x1510fc015088) at /test/10.5_dbg/sql/sql_parse.cc:1355
|
#20 0x000055d8eb1c615f in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1510fe4d2028, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
|
#21 0x000055d8eb1c687b in handle_one_connection (arg=arg@entry=0x1510fe4d2028) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#22 0x000055d8eb62911c in pfs_spawn_thread (arg=0x15111c046508) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#23 0x000015111e2d26db in start_thread (arg=0x15111f359700) at pthread_create.c:463
|
#24 0x000015111d6d088f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.14 (dbg), 10.5.5 (dbg)
Bug confirmed not present in:
MariaDB: 10.1.46 (dbg), 10.1.46 (opt), 10.2.33 (dbg), 10.2.33 (opt), 10.3.24 (dbg), 10.3.24 (opt), 10.4.14 (opt), 10.5.5 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
|