[MDEV-19524] Server crashes in Bitmap<64u>::is_clear_all / Field_longstr::csinfo_change_allows_instant_alter Created: 2019-05-19  Updated: 2019-05-21  Resolved: 2019-05-21

Status: Closed
Project: MariaDB Server
Component/s: Data Definition - Alter Table, Data types
Affects Version/s: 10.4
Fix Version/s: 10.4.6

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Eugene Kosov (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
is caused by MDEV-15564 Avoid table rebuild in ALTER TABLE on... Closed

 Description   

--source include/have_innodb.inc
 
CREATE TABLE t1 (a VARCHAR(1), UNIQUE(a)) ENGINE=InnoDB;
ALTER TABLE t1 MODIFY a INT, ADD b INT, ADD UNIQUE (b), ALGORITHM=INSTANT;
 
# Cleanup
DROP TABLE t1;

10.4 8feb78ef ASAN

ASAN:DEADLYSIGNAL
=================================================================
==4506==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000070 (pc 0x5588e3bfa38b bp 0x7f6518698750 sp 0x7f6518698740 T27)
    #0 0x5588e3bfa38a in Bitmap<64u>::is_clear_all() const /data/src/10.4/sql/sql_bitmap.h:323
    #1 0x5588e4188c17 in Field_longstr::csinfo_change_allows_instant_alter(Create_field const*) const /data/src/10.4/sql/field.cc:7099
    #2 0x5588e418f124 in Field_varstring::is_equal(Create_field*) /data/src/10.4/sql/field.cc:7966
    #3 0x5588e3cb98ad in compare_keys_but_name(st_key const*, st_key const*, Alter_info*, TABLE const*, st_key const*, st_key const*) /data/src/10.4/sql/sql_table.cc:6564
    #4 0x5588e3cbc8a6 in fill_alter_inplace_info /data/src/10.4/sql/sql_table.cc:7051
    #5 0x5588e3ccd543 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool) /data/src/10.4/sql/sql_table.cc:9872
    #6 0x5588e3e1cd68 in Sql_cmd_alter_table::execute(THD*) /data/src/10.4/sql/sql_alter.cc:496
    #7 0x5588e3ab4be5 in mysql_execute_command(THD*) /data/src/10.4/sql/sql_parse.cc:6340
    #8 0x5588e3abf1b8 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.4/sql/sql_parse.cc:8150
    #9 0x5588e3a97ed3 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.4/sql/sql_parse.cc:1829
    #10 0x5588e3a94e44 in do_command(THD*) /data/src/10.4/sql/sql_parse.cc:1362
    #11 0x5588e3e080d0 in do_handle_one_connection(CONNECT*) /data/src/10.4/sql/sql_connect.cc:1403
    #12 0x5588e3e07a99 in handle_one_connection /data/src/10.4/sql/sql_connect.cc:1306
    #13 0x5588e51a25cf in pfs_spawn_thread /data/src/10.4/storage/perfschema/pfs.cc:1862
    #14 0x7f652fe464a3 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x74a3)
    #15 0x7f652e38ed0e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xe8d0e)
 
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /data/src/10.4/sql/sql_bitmap.h:323 in Bitmap<64u>::is_clear_all() const
Thread T27 created by T0 here:
    #0 0x7f653008cf59 in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.3+0x30f59)
    #1 0x5588e51a29bc in spawn_thread_v1 /data/src/10.4/storage/perfschema/pfs.cc:1912
    #2 0x5588e37fd058 in inline_mysql_thread_create /data/src/10.4/include/mysql/psi/mysql_thread.h:1268
    #3 0x5588e38111ad in create_thread_to_handle_connection(CONNECT*) /data/src/10.4/sql/mysqld.cc:6219
    #4 0x5588e38118a4 in create_new_thread(CONNECT*) /data/src/10.4/sql/mysqld.cc:6289
    #5 0x5588e3811c2f in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /data/src/10.4/sql/mysqld.cc:6387
    #6 0x5588e3812890 in handle_connections_sockets() /data/src/10.4/sql/mysqld.cc:6545
    #7 0x5588e38109f1 in mysqld_main(int, char**) /data/src/10.4/sql/mysqld.cc:5877
    #8 0x5588e37faf3f in main /data/src/10.4/sql/main.cc:25
    #9 0x7f652e2c62e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
 
==4506==ABORTING

Non-ASAN debug and non-debug builds also crash.


Generated at Thu Feb 08 08:52:21 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.