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
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
{noformat}
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; {noformat} Leads to: {noformat:title=10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b} mysqld: /test/10.5_dbg/strings/ctype-ucs2.c:2197: my_lengthsp_utf32: Assertion `(length % 4) == 0' failed. {noformat} {noformat:title=10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b} 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 {noformat} 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) |
{noformat}
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; {noformat} Leads to: {noformat:title=10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b (Debug)} mysqld: /test/10.5_dbg/strings/ctype-ucs2.c:2197: my_lengthsp_utf32: Assertion `(length % 4) == 0' failed. {noformat} {noformat:title=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 {noformat} 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) |
Link |
This issue relates to |
Labels | regression |
Summary | Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on ALTER TABLE | Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on ALTER TABLE and SELECT |
Labels | regression | affects-tests regression |
Fix Version/s | 10.1 [ 16100 ] |
Workflow | MariaDB v3 [ 111390 ] | MariaDB v4 [ 142106 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Affects Version/s | 10.6 [ 24028 ] | |
Affects Version/s | 10.7 [ 24805 ] | |
Affects Version/s | 10.8 [ 26121 ] | |
Affects Version/s | 10.9 [ 26905 ] |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] |
Labels | affects-tests regression | affects-tests regression regression-10.3 |
Summary | Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on ALTER TABLE and SELECT | Assertion `(length % 4) == 0' failed in my_lengthsp_utf32 on ALTER TABLE, SELECT and INSERT |
issue.field.resolutiondate | 2022-03-14 13:49:38.0 | 2022-03-14 13:49:38.771 |
Fix Version/s | 10.2.44 [ 27514 ] | |
Fix Version/s | 10.3.35 [ 27512 ] | |
Fix Version/s | 10.4.25 [ 27510 ] | |
Fix Version/s | 10.5.16 [ 27508 ] | |
Fix Version/s | 10.6.8 [ 27506 ] | |
Fix Version/s | 10.7.4 [ 27504 ] | |
Fix Version/s | 10.8.3 [ 27502 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Link |
This issue split to |
Comment |
[ Additional debug regression in 10.4, and this one is also present in all MySQL debug versions.
{code:sql} SET sql_mode='',character_set_connection=utf32; CREATE TABLE t (c ENUM ('','')) CHARACTER SET utf32 ENGINE=InnoDB; INSERT INTO t VALUES (DATE_FORMAT('2004-02-02','%W')); {code} Leads to: {noformat:title=10.10.0 081a284712bb661349e2e3802077b12211cede3e (Debug)} mysqld: /test/10.10_dbg/strings/ctype-ucs2.c:2226: my_lengthsp_utf32: Assertion `(length % 4) == 0' failed. {noformat} {noformat:title=10.10.0 081a284712bb661349e2e3802077b12211cede3e (Debug)} Core was generated by `/test/MD310522-mariadb-10.10.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 0x14c822175700 (LWP 3559645))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x000014c840b20859 in __GI_abort () at abort.c:79 #2 0x000014c840b20729 in __assert_fail_base (fmt=0x14c840cb6588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56289155baba "(length % 4) == 0", file=0x56289155ba48 "/test/10.10_dbg/strings/ctype-ucs2.c", line=2226, function=<optimized out>) at assert.c:92 #3 0x000014c840b31fd6 in __GI___assert_fail (assertion=assertion@entry=0x56289155baba "(length % 4) == 0", file=file@entry=0x56289155ba48 "/test/10.10_dbg/strings/ctype-ucs2.c", line=line@entry=2226, function=function@entry=0x56289155c1b0 <__PRETTY_FUNCTION__.17507> "my_lengthsp_utf32") at assert.c:101 #4 0x0000562890f469a7 in my_lengthsp_utf32 (cs=<optimized out>, ptr=<optimized out>, length=<optimized out>) at /test/10.10_dbg/strings/ctype-ucs2.c:2226 #5 0x000056289078ff5a in charset_info_st::lengthsp (length=7, str=0x14c822173840 "", this=<optimized out>) at /test/10.10_dbg/include/m_ctype.h:699 #6 Field_enum::store (this=0x14c79c027eb8, from=0x14c822173840 "", length=7, cs=0x56289196b100 <my_charset_utf32_general_ci>) at /test/10.10_dbg/sql/field.cc:9230 #7 0x00005628907e1fb5 in Item::save_str_in_field (this=0x14c79c014a98, field=0x14c79c027eb8, no_conversions=<optimized out>) at /test/10.10_dbg/sql/sql_string.h:278 #8 0x00005628906c15f8 in Type_handler_string_result::Item_save_in_field (this=<optimized out>, item=<optimized out>, field=<optimized out>, no_conversions=<optimized out>) at /test/10.10_dbg/sql/sql_type.cc:4338 #9 0x00005628907c88d3 in Item::save_in_field (this=0x14c79c014a98, field=0x14c79c027eb8, no_conversions=<optimized out>) at /test/10.10_dbg/sql/item.cc:6836 #10 0x000056289044b13b in fill_record (thd=thd@entry=0x14c79c000db8, table=table@entry=0x14c79c0210f8, ptr=0x14c79c027eb0, ptr@entry=0x14c79c027ea8, values=@0x14c79c0148a8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14c79c014b78, last = 0x14c79c014b78, elements = 1}, <No data fields>}, ignore_errors=ignore_errors@entry=false, use_value=use_value@entry=false) at /test/10.10_dbg/sql/sql_base.cc:9104 #11 0x000056289044b1fe in fill_record_n_invoke_before_triggers (thd=thd@entry=0x14c79c000db8, table=table@entry=0x14c79c0210f8, ptr=0x14c79c027ea8, values=@0x14c79c0148a8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14c79c014b78, last = 0x14c79c014b78, elements = 1}, <No data fields>}, ignore_errors=ignore_errors@entry=false, event=event@entry=TRG_EVENT_INSERT) at /test/10.10_dbg/sql/sql_base.cc:9159 #12 0x000056289048e479 in mysql_insert (thd=thd@entry=0x14c79c000db8, table_list=<optimized out>, fields=@0x14c79c005e90: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5628919a5a00 <end_of_list>, last = 0x14c79c005e90, elements = 0}, <No data fields>}, values_list=@0x14c79c005ed8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14c79c014be8, last = 0x14c79c014be8, elements = 1}, <No data fields>}, update_fields=@0x14c79c005ec0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5628919a5a00 <end_of_list>, last = 0x14c79c005ec0, elements = 0}, <No data fields>}, update_values=@0x14c79c005ea8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5628919a5a00 <end_of_list>, last = 0x14c79c005ea8, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/10.10_dbg/sql/sql_insert.cc:1075 #13 0x00005628904d0803 in mysql_execute_command (thd=thd@entry=0x14c79c000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.10_dbg/sql/sql_parse.cc:4562 #14 0x00005628904bce3a in mysql_parse (thd=thd@entry=0x14c79c000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14c822174470) at /test/10.10_dbg/sql/sql_parse.cc:8036 #15 0x00005628904ca422 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14c79c000db8, packet=packet@entry=0x14c79c00b6d9 "INSERT INTO t VALUES (DATE_FORMAT('2004-02-02','%W'))", packet_length=packet_length@entry=53, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_class.h:1364 #16 0x00005628904ccb2c in do_command (thd=0x14c79c000db8, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_parse.cc:1407 #17 0x000056289062c3c0 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x562893699288, put_in_cache=put_in_cache@entry=true) at /test/10.10_dbg/sql/sql_connect.cc:1418 #18 0x000056289062c8c9 in handle_one_connection (arg=0x562893699288) at /test/10.10_dbg/sql/sql_connect.cc:1312 #19 0x000014c841031609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #20 0x000014c840c1d133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 {noformat} Bug confirmed present in: MariaDB: 10.4.26 (dbg), 10.5.17 (dbg), 10.6.9 (dbg), 10.7.5 (dbg), 10.8.4 (dbg), 10.9.2 (dbg), 10.10.0 (dbg) MySQL: 5.5.62 (dbg), 5.6.51 (dbg), 5.7.38 (dbg), 8.0.29 (dbg) Bug (or feature/syntax) confirmed not present in: MariaDB: 10.3.36 (dbg), 10.3.36 (opt), 10.4.26 (opt), 10.5.17 (opt), 10.6.9 (opt), 10.7.5 (opt), 10.8.4 (opt), 10.9.2 (opt), 10.10.0 (opt) MySQL: 5.5.62 (opt), 5.6.51 (opt), 5.7.38 (opt), 8.0.29 (opt) ] |
Link |
This issue relates to |
Link |
This issue relates to |
Result on optimized build
10.5.5 30e7a0a866dce530d8328c6d614e48d39a264f9b (Optimized)
10.5.5>ALTER TABLE t CHANGE a a ENUM('a','a') CHARACTER SET utf32;
ERROR 1291 (HY000): Column 'a' has duplicated value '?' in ENUM