Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.7, 10.5.0
Description
USE test;
|
CREATE TABLE t (a CHAR(198)) ENGINE=InnoDB;
|
ALTER TABLE t CHANGE COLUMN a a CHAR(220) BINARY;
|
ALTER TABLE t ADD COLUMN b INT FIRST;
|
Leads to:
10.5.4 8569dac1ec9f6853a0b2f3ea9bcbda67644ead24 |
mysqld: /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:430: void dict_index_t::instant_add_field(const dict_index_t&): Assertion `fields[i].same(instant.fields[i])' failed.
|
10.5.4 8569dac1ec9f6853a0b2f3ea9bcbda67644ead24 |
Core was generated by `/test/MD260520-mariadb-10.5.4-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 0x147767d9f700 (LWP 1055573))]
|
(gdb) bt
|
(gdb) (gdb) #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055673b390d7a in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x000055673ab36385 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 0x00001477664e3801 in __GI_abort () at abort.c:79
|
#6 0x00001477664d339a in __assert_fail_base (fmt=0x14776665a7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55673b78c0c0 "fields[i].same(instant.fields[i])", file=file@entry=0x55673b7829a8 "/test/10.5_dbg/storage/innobase/handler/handler0alter.cc", line=line@entry=430, function=function@entry=0x55673b787b40 <dict_index_t::instant_add_field(dict_index_t const&)::__PRETTY_FUNCTION__> "void dict_index_t::instant_add_field(const dict_index_t&)") at assert.c:92
|
#7 0x00001477664d3412 in __GI___assert_fail (assertion=assertion@entry=0x55673b78c0c0 "fields[i].same(instant.fields[i])", file=file@entry=0x55673b7829a8 "/test/10.5_dbg/storage/innobase/handler/handler0alter.cc", line=line@entry=430, function=function@entry=0x55673b787b40 <dict_index_t::instant_add_field(dict_index_t const&)::__PRETTY_FUNCTION__> "void dict_index_t::instant_add_field(const dict_index_t&)") at assert.c:101
|
#8 0x000055673af35a42 in dict_index_t::instant_add_field (this=this@entry=0x147745081a18, instant=@0x147745081d98: {static MAX_N_FIELDS = 1023, id = 0, heap = 0x147745063818, name = {m_name = 0x1477450c7b98 "GEN_CLUST_INDEX"}, table = 0x147745053998, page = 4294967295, merge_threshold = 50, type = 1, trx_id_offset = 6, n_user_defined_cols = 0, nulls_equal = 0, n_uniq = 1, n_def = 5, n_fields = 5, n_nullable = 2, n_core_fields = 4, n_core_null_bytes = 1, static NO_CORE_NULL_BYTES = 255, static DICT_INDEXES_ID = 3, cached = 1, to_be_dropped = 0, online_status = 0, uncommitted = 0, is_dummy = false, in_instant_init = false, magic_n = 76789786, fields = 0x147745043fd0, parser = 0x0, has_new_v_col = false, indexes = {prev = 0x0, next = 0x0}, search_info = 0x1477450c7c40, online_log = 0x0, stat_n_diff_key_vals = 0x1477450c7c28, stat_n_sample_sizes = 0x1477450c7c30, stat_n_non_null_key_vals = 0x1477450c7c38, stat_index_size = 1, stat_n_leaf_pages = 1, stats_error_printed = false, stat_defrag_modified_counter = 0, stat_defrag_n_pages_freed = 0, stat_defrag_n_page_split = 0, stat_defrag_data_size_sample = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, stat_defrag_sample_next_slot = 0, rtr_ssn = {m = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}}, rtr_track = 0x0, trx_id = 0, zip_pad = {mutex = {m_impl = {m_freed = false, m_locked = false, m_destroy_at_exit = true, m_mutex = {m_freed = false, m_mutex = pthread_mutex_t = {
|
Type = Normal,
|
Status = Not acquired,
|
Robust = No,
|
Shared = No,
|
Protocol = None
|
}}, m_policy = {context = {<latch_t> = {_vptr.latch_t = 0x55673beecf80 <vtable for MutexDebug<OSTrackMutex<GenericPolicy> >+16>, m_id = LATCH_ID_ZIP_PAD_MUTEX, m_rw_lock = false}, m_mutex = 0x0, m_filename = 0x0, m_line = 0, m_thread_id = 18446744073709551615, m_debug_mutex = {m_freed = false, m_mutex = pthread_mutex_t = {
|
Type = Normal,
|
Status = Not acquired,
|
Robust = No,
|
Shared = No,
|
Protocol = None
|
}}}, m_count = {m_spins = 0, m_waits = 0, m_calls = 0, m_enabled = false}, m_id = LATCH_ID_ZIP_PAD_MUTEX}}, m_ptr = 0x0}, pad = {m = {<std::__atomic_base<unsigned long>> = {static _S_alignment = 8, _M_i = 0}, <No data fields>}}, success = 0, failure = 0, n_rounds = 0}, lock = {<latch_t> = {_vptr.latch_t = 0x55673beed538 <vtable for rw_lock_t+16>, m_id = LATCH_ID_INDEX_TREE, m_rw_lock = true}, lock_word = {m = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = 536870912}, <No data fields>}}, waiters = {m = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}}, sx_recursive = 0, writer_is_wait_ex = false, writer_thread = 0, event = 0x147745061df8, wait_ex_event = 0x147745061e98, cfile_name = 0x55673b83f0b0 "/test/10.5_dbg/storage/innobase/dict/dict0dict.cc", last_x_file_name = 0x55673b8007e1 "not yet reserved", cline = 2139, is_block_lock = 0, last_x_line = 0, count_os_wait = 0, list = {prev = 0x0, next = 0x147745053b50}, pfs_psi = 0x0, debug_list = {count = 0, start = 0x0, end = 0x0, node = &rw_lock_debug_t::list, init = 51966}, level = SYNC_INDEX_TREE}}) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:430
|
#9 0x000055673af3f3e9 in dict_table_t::instant_column (this=0x147745052598, table=<optimized out>, col_map=<optimized out>) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:604
|
#10 0x000055673af3f9f4 in ha_innobase_inplace_ctx::instant_column (this=this@entry=0x147745075780) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:1050
|
#11 0x000055673af3fc4a in innobase_instant_try (ha_alter_info=ha_alter_info@entry=0x147767d9a9c0, ctx=ctx@entry=0x147745075780, altered_table=altered_table@entry=0x147767d9aa60, table=table@entry=0x1477450fa088, trx=trx@entry=0x1477538033b0) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:5629
|
#12 0x000055673af4343f in commit_try_norebuild (ha_alter_info=ha_alter_info@entry=0x147767d9a9c0, ctx=ctx@entry=0x147745075780, altered_table=altered_table@entry=0x147767d9aa60, old_table=0x1477450fa088, trx=0x1477538033b0, table_name=<optimized out>) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:10179
|
#13 0x000055673af2fae6 in ha_innobase::commit_inplace_alter_table (this=0x1477450376a0, altered_table=0x147767d9aa60, ha_alter_info=0x147767d9a9c0, commit=true) at /test/10.5_dbg/storage/innobase/handler/handler0alter.cc:10899
|
#14 0x000055673ab44943 in handler::ha_commit_inplace_alter_table (this=0x1477450376a0, altered_table=altered_table@entry=0x147767d9aa60, ha_alter_info=ha_alter_info@entry=0x147767d9a9c0, commit=commit@entry=true) at /test/10.5_dbg/sql/handler.cc:4732
|
#15 0x000055673a9566fa in mysql_inplace_alter_table (thd=thd@entry=0x147745015088, table_list=0x147745074198, table=table@entry=0x1477450fa088, altered_table=altered_table@entry=0x147767d9aa60, ha_alter_info=ha_alter_info@entry=0x147767d9a9c0, inplace_supported=inplace_supported@entry=HA_ALTER_INPLACE_INSTANT, target_mdl_request=0x147767d9b820, alter_ctx=0x147767d9c6b0) at /test/10.5_dbg/sql/sql_table.cc:7920
|
#16 0x000055673a962acf in mysql_alter_table (thd=thd@entry=0x147745015088, new_db=new_db@entry=0x147745019948, new_name=new_name@entry=0x147745019d50, create_info=create_info@entry=0x147767d9d2a0, table_list=<optimized out>, table_list@entry=0x147745074198, alter_info=alter_info@entry=0x147767d9d1d0, order_num=0, order=0x0, ignore=false, if_exists=false) at /test/10.5_dbg/sql/sql_table.cc:10442
|
#17 0x000055673a9e6572 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x147745015088) at /test/10.5_dbg/sql/sql_alter.cc:532
|
#18 0x000055673a89173b in mysql_execute_command (thd=thd@entry=0x147745015088) at /test/10.5_dbg/sql/sql_parse.cc:5950
|
#19 0x000055673a89902e in mysql_parse (thd=thd@entry=0x147745015088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x147767d9e3d0, 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:7991
|
#20 0x000055673a885b42 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x147745015088, packet=packet@entry=0x147745067089 "ALTER TABLE t ADD COLUMN b INT FIRST", packet_length=packet_length@entry=36, 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
|
#21 0x000055673a88431c in do_command (thd=0x147745015088) at /test/10.5_dbg/sql/sql_parse.cc:1355
|
#22 0x000055673a9de73f in do_handle_one_connection (connect=<optimized out>, connect@entry=0x147746c453a8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
|
#23 0x000055673a9dee5b in handle_one_connection (arg=arg@entry=0x147746c453a8) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#24 0x000055673ae3e14e in pfs_spawn_thread (arg=0x147765845888) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#25 0x00001477671c66db in start_thread (arg=0x147767d9f700) at pthread_create.c:463
|
#26 0x00001477665c488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.14 (dbg), 10.5.4 (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.4 (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)
Attachments
Issue Links
- is caused by
-
MDEV-17301 Change of COLLATE unnecessarily requires ALGORITHM=COPY
- Closed
- is duplicated by
-
MDEV-22365 Assertion `!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)' failed in row_merge_buf_add
- Closed
- relates to
-
MDEV-15563 Instant failure-free data type conversions
- Closed
-
MDEV-18627 Wrong result after instant size change of integer
- Closed
-
MDEV-23295 Assertion `fields[i].same(instant.fields[i])' failed in dict_index_t::instant_add_field #2
- Closed
-
MDEV-22651 Assertion `dict_col_get_fixed_size(f.col, not_redundant()) <= 768' failed in dict_table_t::init_instant
- Closed