Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL)
Description
USE test;
|
SET COLLATION_CONNECTION=utf32_myanmar_ci, CHARACTER_SET_CLIENT=binary;
|
CREATE TABLE t (a CHAR(1));
|
ALTER TABLE t CHANGE a a ENUM('a','a') CHARACTER SET utf32;
|
Leads to:
10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b (Debug) |
mysqld: /test/10.5_dbg/strings/ctype-ucs2.c:2197: my_lengthsp_utf32: Assertion `(length % 4) == 0' failed.
|
10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b (Debug) |
Core was generated by `/test/MD140720-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 0x1482c7848700 (LWP 1820126))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055b87dda34d7 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x000055b87d55d9ba 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 0x00001482c5ade8b1 in __GI_abort () at abort.c:79
|
#6 0x00001482c5ace42a in __assert_fail_base (fmt=0x1482c5c55a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55b87e488872 "(length % 4) == 0", file=file@entry=0x55b87e488800 "/test/10.5_dbg/strings/ctype-ucs2.c", line=line@entry=2197, function=function@entry=0x55b87e488db0 <__PRETTY_FUNCTION__.15905> "my_lengthsp_utf32") at assert.c:92
|
#7 0x00001482c5ace4a2 in __GI___assert_fail (assertion=assertion@entry=0x55b87e488872 "(length % 4) == 0", file=file@entry=0x55b87e488800 "/test/10.5_dbg/strings/ctype-ucs2.c", line=line@entry=2197, function=function@entry=0x55b87e488db0 <__PRETTY_FUNCTION__.15905> "my_lengthsp_utf32") at assert.c:101
|
#8 0x000055b87ddddc15 in my_lengthsp_utf32 (cs=<optimized out>, ptr=<optimized out>, length=<optimized out>) at /test/10.5_dbg/strings/ctype-ucs2.c:2197
|
#9 0x000055b87d53e9a8 in charset_info_st::lengthsp (length=<optimized out>, str=0x1482a34749a8 "a", this=<optimized out>) at /test/10.5_dbg/include/m_ctype.h:622
|
#10 Column_definition::create_interval_from_interval_list (this=this@entry=0x1482a3474a58, mem_root=mem_root@entry=0x1482a341ab50, reuse_interval_list_values=reuse_interval_list_values@entry=true) at /test/10.5_dbg/sql/field.cc:10060
|
#11 0x000055b87d53ed61 in Column_definition::prepare_interval_field (this=this@entry=0x1482a3474a58, mem_root=mem_root@entry=0x1482a341ab50, reuse_interval_list_values=reuse_interval_list_values@entry=true) at /test/10.5_dbg/sql/field.cc:10117
|
#12 0x000055b87d3778f2 in Column_definition::prepare_stage1_typelib (this=0x1482a3474a58, thd=0x1482a3415088, mem_root=0x1482a341ab50, file=0x1482a3474d38, table_flags=<optimized out>) at /test/10.5_dbg/sql/sql_table.cc:3232
|
#13 0x000055b87d484cb8 in Type_handler_typelib::Column_definition_prepare_stage1 (this=<optimized out>, thd=<optimized out>, mem_root=<optimized out>, def=<optimized out>, file=<optimized out>, table_flags=<optimized out>) at /test/10.5_dbg/sql/sql_type.cc:2991
|
#14 0x000055b87d3775ab in Column_definition::prepare_stage1 (this=this@entry=0x1482a3474a58, thd=thd@entry=0x1482a3415088, mem_root=<optimized out>, file=file@entry=0x1482a3474d38, table_flags=<optimized out>) at /test/10.5_dbg/sql/sql_table.cc:3295
|
#15 0x000055b87d37e9d8 in mysql_prepare_create_table (thd=thd@entry=0x1482a3415088, create_info=create_info@entry=0x1482c7846220, alter_info=alter_info@entry=0x1482c7846150, db_options=db_options@entry=0x1482c7843828, file=file@entry=0x1482a3474d38, key_info_buffer=key_info_buffer@entry=0x1482c78441d0, key_count=0x1482c78441c8, create_table_mode=-2) at /test/10.5_dbg/sql/sql_table.cc:3635
|
#16 0x000055b87d382500 in mysql_create_frm_image (thd=thd@entry=0x1482a3415088, db=@0x1482c7845640: {str = 0x1482a3474898 "test", length = 4}, table_name=@0x1482c7845650: {str = 0x1482a3474190 "t", length = 1}, create_info=create_info@entry=0x1482c7846220, alter_info=alter_info@entry=0x1482c7846150, create_table_mode=create_table_mode@entry=-2, key_info=0x1482c78441d0, key_count=0x1482c78441c8, frm=0x1482c78441e0) at /test/10.5_dbg/sql/sql_table.cc:5015
|
#17 0x000055b87d382f3d in create_table_impl (thd=thd@entry=0x1482a3415088, orig_db=@0x1482c7845640: {str = 0x1482a3474898 "test", length = 4}, orig_table_name=@0x1482c7845650: {str = 0x1482a3474190 "t", length = 1}, db=@0x1482c7845670: {str = 0x1482a3474898 "test", length = 4}, table_name=@0x1482c78456a0: {str = 0x1482c78459da "#sql-alter-1bc5bd-4", length = 19}, path=path@entry=0x1482c7845e9d "./test/#sql-alter-1bc5bd-4", options={m_options = DDL_options_st::OPT_NONE}, create_info=0x1482c7846220, alter_info=0x1482c7846150, create_table_mode=-2, is_trans=0x0, key_info=0x1482c78441d0, key_count=0x1482c78441c8, frm=0x1482c78441e0) at /test/10.5_dbg/sql/sql_table.cc:5271
|
#18 0x000055b87d38985b in mysql_alter_table (thd=thd@entry=0x1482a3415088, new_db=new_db@entry=0x1482a3419948, new_name=new_name@entry=0x1482a3419d50, create_info=create_info@entry=0x1482c7846220, table_list=<optimized out>, table_list@entry=0x1482a34741c8, alter_info=alter_info@entry=0x1482c7846150, order_num=0, order=0x0, ignore=false, if_exists=false) at /test/10.5_dbg/sql/sql_table.cc:10435
|
#19 0x000055b87d40da6a in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x1482a3415088) at /test/10.5_dbg/sql/sql_alter.cc:532
|
#20 0x000055b87d2b6e4a in mysql_execute_command (thd=thd@entry=0x1482a3415088) at /test/10.5_dbg/sql/sql_parse.cc:5951
|
#21 0x000055b87d2be752 in mysql_parse (thd=thd@entry=0x1482a3415088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1482c7847350, 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:7993
|
#22 0x000055b87d2ab204 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1482a3415088, packet=packet@entry=0x1482a3467089 "ALTER TABLE t CHANGE a a ENUM('a','a') CHARACTER SET utf32", packet_length=packet_length@entry=58, 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:1866
|
#23 0x000055b87d2a99de in do_command (thd=0x1482a3415088) at /test/10.5_dbg/sql/sql_parse.cc:1347
|
#24 0x000055b87d405c3b in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1482a68c7808, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
|
#25 0x000055b87d406357 in handle_one_connection (arg=arg@entry=0x1482a68c7808) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#26 0x000055b87d869ca8 in pfs_spawn_thread (arg=0x1482c4446508) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#27 0x00001482c67c16db in start_thread (arg=0x1482c7848700) at pthread_create.c:463
|
#28 0x00001482c5bbfa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.1.46 (dbg), 10.2.33 (dbg), 10.3.24 (dbg), 10.4.14 (dbg), 10.5.5 (dbg)
Bug confirmed not present in:
MariaDB: 10.1.46 (opt), 10.2.33 (opt), 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)
Attachments
Issue Links
- relates to
-
MDEV-23219 Assertion `(length % 4) == 0' failed in my_well_formed_len_utf32
-
- Closed
-
-
MDEV-28835 Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on INSERT
-
- Closed
-
-
MDEV-29019 Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on SELECT
-
- Closed
-
- split to
-
MDEV-28062 Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on INSERT..SELECT
-
- Closed
-
Another iteration.
Leads to:
10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)
mysqld: /test/10.9_dbg/strings/ctype-ucs2.c:2226: my_lengthsp_utf32: Assertion `(length % 4) == 0' failed.
10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)
Core was generated by `/test/MD140222-mariadb-10.9.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x14d33c07c700 (LWP 1443699))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x000014d33f639859 in __GI_abort () at abort.c:79
#2 0x000014d33f639729 in __assert_fail_base (fmt=0x14d33f7cf588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5603b8011c9a "(length % 4) == 0", file=0x5603b8011c28 "/test/10.9_dbg/strings/ctype-ucs2.c", line=2226, function=<optimized out>) at assert.c:92
#3 0x000014d33f64af36 in __GI___assert_fail (assertion=assertion@entry=0x5603b8011c9a "(length % 4) == 0", file=file@entry=0x5603b8011c28 "/test/10.9_dbg/strings/ctype-ucs2.c", line=line@entry=2226, function=function@entry=0x5603b8012390 <__PRETTY_FUNCTION__.18380> "my_lengthsp_utf32") at assert.c:101
#4 0x00005603b79ad862 in my_lengthsp_utf32 (cs=<optimized out>, ptr=<optimized out>, length=<optimized out>) at /test/10.9_dbg/strings/ctype-ucs2.c:2226
#5 0x00005603b7133f36 in charset_info_st::lengthsp (length=2, str=0x14d2a402113a "", this=<optimized out>) at /test/10.9_dbg/include/m_ctype.h:699
#6 Field_enum::store (this=this@entry=0x14d2a40784e0, from=0x14d2a402113a "", length=2, cs=0x5603b84436c0 <my_charset_utf32_unicode_nopad_ci>) at /test/10.9_dbg/sql/field.cc:9224
#7 0x00005603b6fb095d in Field::save_in_field_str (this=this@entry=0x14d2a402dd28, to=to@entry=0x14d2a40784e0) at /test/10.9_dbg/sql/sql_string.h:278
#8 0x00005603b71470c7 in Field_enum::save_in_field (this=0x14d2a402dd28, to=0x14d2a40784e0) at /test/10.9_dbg/sql/field.h:4786
#9 0x00005603b7147592 in Field_enum::store_field (this=0x14d2a40784e0, from=0x14d2a402dd28) at /test/10.9_dbg/sql/field.h:4780
#10 0x00005603b7147972 in field_conv_incompatible (to=to@entry=0x14d2a40784e0, from=from@entry=0x14d2a402dd28) at /test/10.9_dbg/sql/field_conv.cc:850
#11 0x00005603b7148da1 in field_conv (to=to@entry=0x14d2a40784e0, from=from@entry=0x14d2a402dd28) at /test/10.9_dbg/sql/field_conv.cc:861
#12 0x00005603b6eba09d in Create_tmp_table::finalize (this=this@entry=0x14d33c07a8a0, thd=thd@entry=0x14d2a4000db8, table=table@entry=0x14d2a4077350, param=param@entry=0x14d2a4073660, do_not_open=do_not_open@entry=true, keep_row_order=keep_row_order@entry=false) at /test/10.9_dbg/sql/sql_select.cc:19275
#13 0x00005603b6ebacea in create_tmp_table (thd=0x14d2a4000db8, param=0x14d2a4073660, fields=@0x14d2a4015fa8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14d2a4014b38, last = 0x14d2a4014b38, elements = 5}, <No data fields>}, group=group@entry=0x0, distinct=distinct@entry=false, save_sum_fields=save_sum_fields@entry=false, select_options=2202244877056, rows_limit=18446744073709551615, table_alias=0x5603b8271ba0 <empty_clex_str>, do_not_open=true, keep_row_order=false) at /test/10.9_dbg/sql/sql_select.cc:19643
#14 0x00005603b6ecae91 in JOIN::create_postjoin_aggr_table (this=this@entry=0x14d2a4015c40, tab=tab@entry=0x14d2a4017978, table_fields=table_fields@entry=0x14d2a4015fa8, table_group=0x0, save_sum_fields=<optimized out>, distinct=distinct@entry=false, keep_row_order=false) at /test/10.9_dbg/sql/sql_select.cc:4026
#15 0x00005603b6ecc0ce in JOIN::make_aggr_tables_info (this=this@entry=0x14d2a4015c40) at /test/10.9_dbg/sql/sql_select.cc:3605
#16 0x00005603b6edf2cd in JOIN::optimize_stage2 (this=this@entry=0x14d2a4015c40) at /test/10.9_dbg/sql/sql_select.cc:3233
#17 0x00005603b6ee0ee8 in JOIN::optimize_inner (this=this@entry=0x14d2a4015c40) at /test/10.9_dbg/sql/sql_select.cc:2492
#18 0x00005603b6ee11dc in JOIN::optimize (this=this@entry=0x14d2a4015c40) at /test/10.9_dbg/sql/sql_select.cc:1808
#19 0x00005603b6ee1880 in mysql_select (thd=thd@entry=0x14d2a4000db8, tables=0x14d2a4014b80, fields=@0x14d2a4014848: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14d2a4014b38, last = 0x14d2a4016818, elements = 5}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2202244745984, result=0x14d2a4015b80, unit=0x14d2a40051c8, select_lex=0x14d2a40145a8) at /test/10.9_dbg/sql/sql_select.cc:4993
#20 0x00005603b6ee1b84 in handle_select (thd=thd@entry=0x14d2a4000db8, lex=lex@entry=0x14d2a40050f0, result=result@entry=0x14d2a4015b80, setup_tables_done_option=setup_tables_done_option@entry=1073741824) at /test/10.9_dbg/sql/sql_select.cc:543
#21 0x00005603b6e500c4 in mysql_execute_command (thd=thd@entry=0x14d2a4000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.9_dbg/sql/sql_parse.cc:4708
#22 0x00005603b6e3a315 in mysql_parse (thd=thd@entry=0x14d2a4000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14d33c07b400) at /test/10.9_dbg/sql/sql_parse.cc:8027
#23 0x00005603b6e48fb1 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14d2a4000db8, packet=packet@entry=0x14d2a400b889 "INSERT INTO t SELECT * FROM t", packet_length=packet_length@entry=29, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362
#24 0x00005603b6e4c3f8 in do_command (thd=0x14d2a4000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1402
#25 0x00005603b6fc6fc4 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5603b9aa1ce8, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418
#26 0x00005603b6fc75c9 in handle_one_connection (arg=arg@entry=0x5603b9aa1ce8) at /test/10.9_dbg/sql/sql_connect.cc:1312
#27 0x00005603b744dd67 in pfs_spawn_thread (arg=0x5603b99e4768) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201
#28 0x000014d33fb48609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#29 0x000014d33f736293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Bug confirmed present in:
MariaDB: 10.3.33 (dbg), 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.1 (dbg), 10.9.0 (dbg)
Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.2.42 (dbg), 10.2.42 (opt), 10.3.33 (opt), 10.4.23 (opt), 10.5.14 (opt), 10.6.6 (opt), 10.7.2 (opt), 10.8.1 (opt), 10.9.0 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.36 (dbg), 5.7.36 (opt), 8.0.27 (dbg), 8.0.27 (opt)