Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-25803

Inplace ALTER breaks MyISAM/Aria table when order of keys is changed

    XMLWordPrintable

    Details

      Description

      MyISAM table gets corrupt after RENAME INDEX (Got error 190 and further ASAN failures)

      This is a 10.5+ counter-part of MDEV-18757.
      The test case from MDEV-18757 fails on 10.3-10.4, but doesn't fail on 10.5+.
      The test case below, on the other hand, fails on 10.5+ and is not applicable to previous versions due to the use of RENAME INDEX. I couldn't replace RENAME INDEX with anything without having the error go away.

      CREATE TABLE lineitem (
        l_receiptDATE date DEFAULT NULL,
        l_shipmode char(10) DEFAULT NULL,
        UNIQUE (l_shipmode),
        UNIQUE (l_receiptDATE),
        PRIMARY KEY (l_receiptDATE)
      ) ENGINE=MyISAM DEFAULT CHARSET utf8mb4;
       
      ALTER TABLE lineitem RENAME INDEX IF EXISTS x TO xx;
      CHECK TABLE lineitem;
       
      # Cleanup
      DROP TABLE lineitem;
      

      10.5 288b8016

      ALTER TABLE lineitem RENAME INDEX IF EXISTS x TO xx;
      Warnings:
      Note	1176	Key 'x' doesn't exist in table 'lineitem'
      CHECK TABLE lineitem;
      Table	Op	Msg_type	Msg_text
      test.lineitem	check	Error	Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You may have retry " from storage engine MyISAM
      test.lineitem	check	error	Corrupt
      

      In this case the renamed index does not exist, and the operation is void.
      It is not necessary for the failure to happen. For example, this fails the same way:

      ALTER TABLE lineitem RENAME INDEX IF EXISTS l_shipmode TO xx;
      CHECK TABLE lineitem;
      Table	Op	Msg_type	Msg_text
      test.lineitem	check	Error	Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You may have retry " from storage engine MyISAM
      test.lineitem	check	error	Corrupt
      

      The error is not just an empty threat. If further operations are performed on such a table, at least ASAN errors can occur.

      Examples (non-deterministic test cases, run with --repeat=N. Currently they fail for me in a few attempts on 10.5-10.6 ASAN builds):

      CREATE TABLE lineitem (
        l_partkey int(11) DEFAULT NULL,
        l_suppkey int(11) DEFAULT NULL,
        l_receiptDATE date DEFAULT NULL,
        l_shipmode char(10) DEFAULT NULL,
        KEY i_l_suppkey_partkey (l_partkey,l_suppkey),
        UNIQUE (l_shipmode),
        UNIQUE (l_receiptDATE),
        PRIMARY KEY (l_receiptDATE,l_partkey)
      ) ENGINE=MyISAM DEFAULT CHARSET utf8mb4;
       
      INSERT INTO lineitem VALUES
        (156,4,'1996-03-22','TRUCK'),
        (68,9,'1996-04-20','MAIL');
       
      ALTER TABLE lineitem RENAME INDEX IF EXISTS x TO xx;
       
      --connect (con1,localhost,root,,test)
      --send
        SELECT * FROM lineitem;
       
      --connection default
      --error 0,1030
      SELECT * FROM lineitem WHERE l_receiptDATE > '1998-07-01' AND l_partkey IN (0, 13);
       
      # Cleanup
      --connection con1
      --error 0,1030
      --reap
      --disconnect con1
      --connection default
      DROP TABLE lineitem;
      

      10.5 ASAN 288b8016

      ==3089506==ERROR: AddressSanitizer: use-after-poison on address 0x62100008d6a8 at pc 0x56287cf0adf0 bp 0x7fa2ca1e5ae0 sp 0x7fa2ca1e5ad0
      READ of size 1 at 0x62100008d6a8 thread T5
          #0 0x56287cf0adef in skip_trailing_space /data/src/10.5/strings/strings_def.h:95
          #1 0x56287cf0f96d in my_lengthsp_8bit /data/src/10.5/strings/ctype-simple.c:1180
          #2 0x56287cd2c75a in my_ci_lengthsp /data/src/10.5/include/m_ctype.h:889
          #3 0x56287cd2ed84 in _mi_pack_key /data/src/10.5/storage/myisam/mi_key.c:270
          #4 0x56287cd69185 in _mi_record_pos /data/src/10.5/storage/myisam/mi_range.c:166
          #5 0x56287cd68943 in mi_records_in_range /data/src/10.5/storage/myisam/mi_range.c:101
          #6 0x56287cccc06c in ha_myisam::records_in_range(unsigned int, st_key_range const*, st_key_range const*, st_page_range*) /data/src/10.5/storage/myisam/ha_myisam.cc:2378
          #7 0x56287b5a4c67 in handler::multi_range_read_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/sql/multi_range_read.cc:177
          #8 0x56287b5b0eaf in DsMrr_impl::dsmrr_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/sql/multi_range_read.cc:1708
          #9 0x56287cccda7b in ha_myisam::multi_range_read_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/storage/myisam/ha_myisam.cc:2600
          #10 0x56287bcd3d75 in check_quick_select /data/src/10.5/sql/opt_range.cc:11558
          #11 0x56287bcb841d in get_key_scans_params /data/src/10.5/sql/opt_range.cc:7462
          #12 0x56287bc9b2e9 in SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool, bool) /data/src/10.5/sql/opt_range.cc:2931
          #13 0x56287b17053a in get_quick_record_count /data/src/10.5/sql/sql_select.cc:4805
          #14 0x56287b177495 in make_join_statistics /data/src/10.5/sql/sql_select.cc:5537
          #15 0x56287b155eef in JOIN::optimize_inner() /data/src/10.5/sql/sql_select.cc:2294
          #16 0x56287b14f3cf in JOIN::optimize() /data/src/10.5/sql/sql_select.cc:1666
          #17 0x56287b16fc3f in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/10.5/sql/sql_select.cc:4747
          #18 0x56287b1413b8 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.5/sql/sql_select.cc:443
          #19 0x56287b0a9fee in execute_sqlcom_select /data/src/10.5/sql/sql_parse.cc:6310
          #20 0x56287b098fbc in mysql_execute_command(THD*) /data/src/10.5/sql/sql_parse.cc:4006
          #21 0x56287b0b5347 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.5/sql/sql_parse.cc:8096
          #22 0x56287b08b213 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.5/sql/sql_parse.cc:1891
          #23 0x56287b087b52 in do_command(THD*) /data/src/10.5/sql/sql_parse.cc:1370
          #24 0x56287b4cf023 in do_handle_one_connection(CONNECT*, bool) /data/src/10.5/sql/sql_connect.cc:1410
          #25 0x56287b4ce987 in handle_one_connection /data/src/10.5/sql/sql_connect.cc:1312
          #26 0x56287c1e7914 in pfs_spawn_thread /data/src/10.5/storage/perfschema/pfs.cc:2201
          #27 0x7fa2d3b40608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
          #28 0x7fa2d3714292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
       
      0x62100008d6a8 is located 424 bytes inside of 4196-byte region [0x62100008d500,0x62100008e564)
      allocated by thread T5 here:
          #0 0x7fa2d413fbc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
          #1 0x56287ce94119 in sf_malloc /data/src/10.5/mysys/safemalloc.c:121
          #2 0x56287ce61929 in my_malloc /data/src/10.5/mysys/my_malloc.c:90
          #3 0x56287ce3d6dd in alloc_root /data/src/10.5/mysys/my_alloc.c:244
          #4 0x56287bc99a8f in SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool, bool) /data/src/10.5/sql/opt_range.cc:2769
          #5 0x56287b17053a in get_quick_record_count /data/src/10.5/sql/sql_select.cc:4805
          #6 0x56287b177495 in make_join_statistics /data/src/10.5/sql/sql_select.cc:5537
          #7 0x56287b155eef in JOIN::optimize_inner() /data/src/10.5/sql/sql_select.cc:2294
          #8 0x56287b14f3cf in JOIN::optimize() /data/src/10.5/sql/sql_select.cc:1666
          #9 0x56287b16fc3f in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/10.5/sql/sql_select.cc:4747
          #10 0x56287b1413b8 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.5/sql/sql_select.cc:443
          #11 0x56287b0a9fee in execute_sqlcom_select /data/src/10.5/sql/sql_parse.cc:6310
          #12 0x56287b098fbc in mysql_execute_command(THD*) /data/src/10.5/sql/sql_parse.cc:4006
          #13 0x56287b0b5347 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.5/sql/sql_parse.cc:8096
          #14 0x56287b08b213 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.5/sql/sql_parse.cc:1891
          #15 0x56287b087b52 in do_command(THD*) /data/src/10.5/sql/sql_parse.cc:1370
          #16 0x56287b4cf023 in do_handle_one_connection(CONNECT*, bool) /data/src/10.5/sql/sql_connect.cc:1410
          #17 0x56287b4ce987 in handle_one_connection /data/src/10.5/sql/sql_connect.cc:1312
          #18 0x56287c1e7914 in pfs_spawn_thread /data/src/10.5/storage/perfschema/pfs.cc:2201
          #19 0x7fa2d3b40608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
       
      Thread T5 created by T0 here:
          #0 0x7fa2d406c805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
          #1 0x56287c1e28b8 in my_thread_create /data/src/10.5/storage/perfschema/my_thread.h:38
          #2 0x56287c1e7d07 in pfs_spawn_thread_v1 /data/src/10.5/storage/perfschema/pfs.cc:2252
          #3 0x56287ad7a4b2 in inline_mysql_thread_create /data/src/10.5/include/mysql/psi/mysql_thread.h:1323
          #4 0x56287ad907d8 in create_thread_to_handle_connection(CONNECT*) /data/src/10.5/sql/mysqld.cc:6007
          #5 0x56287ad90e57 in create_new_thread(CONNECT*) /data/src/10.5/sql/mysqld.cc:6066
          #6 0x56287ad911b4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /data/src/10.5/sql/mysqld.cc:6131
          #7 0x56287ad91de4 in handle_connections_sockets() /data/src/10.5/sql/mysqld.cc:6258
          #8 0x56287ad8ffd4 in mysqld_main(int, char**) /data/src/10.5/sql/mysqld.cc:5653
          #9 0x56287ad78f7c in main /data/src/10.5/sql/main.cc:25
          #10 0x7fa2d36190b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
       
      SUMMARY: AddressSanitizer: use-after-poison /data/src/10.5/strings/strings_def.h:95 in skip_trailing_space
      Shadow bytes around the buggy address:
        0x0c4280009a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280009a90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280009aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        0x0c4280009ab0: 00 00 00 00 f7 00 00 00 00 00 00 00 00 00 00 00
        0x0c4280009ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 04 f7
      =>0x0c4280009ad0: 00 02 f7 00 02[f7]00 00 00 00 00 00 00 00 00 00
        0x0c4280009ae0: 00 00 00 00 00 f7 00 00 00 f7 04 f7 00 00 00 00
        0x0c4280009af0: 00 00 00 00 00 00 00 00 00 00 f7 04 f7 00 00 00
        0x0c4280009b00: 00 00 00 00 00 00 00 00 00 00 00 f7 00 00 00 00
        0x0c4280009b10: 00 00 00 00 00 00 00 00 00 00 00 f7 00 00 00 f7
        0x0c4280009b20: 05 f7 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      Shadow byte legend (one shadow byte represents 8 application bytes):
        Addressable:           00
        Partially addressable: 01 02 03 04 05 06 07 
        Heap left redzone:       fa
        Freed heap region:       fd
        Stack left redzone:      f1
        Stack mid redzone:       f2
        Stack right redzone:     f3
        Stack after return:      f5
        Stack use after scope:   f8
        Global redzone:          f9
        Global init order:       f6
        Poisoned by user:        f7
        Container overflow:      fc
        Array cookie:            ac
        Intra object redzone:    bb
        ASan internal:           fe
        Left alloca redzone:     ca
        Right alloca redzone:    cb
        Shadow gap:              cc
      ==3089506==ABORTING
      

      CREATE TABLE lineitem (
        l_partkey int(11) DEFAULT NULL,
        l_suppkey int(11) DEFAULT NULL,
        l_receiptDATE date DEFAULT NULL,
        l_shipmode char(10) DEFAULT NULL,
        KEY i_l_suppkey_partkey (l_partkey,l_suppkey),
        UNIQUE a (l_shipmode),
        UNIQUE p (l_receiptDATE),
        PRIMARY KEY (l_receiptDATE,l_partkey)
      ) ENGINE=MyISAM DEFAULT CHARSET utf8mb4;
       
      INSERT INTO lineitem VALUES
        (156,4,'1996-03-22','TRUCK'),
        (68,9,'1996-04-20','MAIL');
       
      ALTER TABLE lineitem RENAME INDEX IF EXISTS x TO xx;
       
      --connect (con1,localhost,root,,test)
      --send
        SELECT * FROM lineitem;
       
      --connection default
      --error 0,1030
      SELECT * FROM lineitem WHERE l_receiptDATE > '1998-07-01';
       
      # Cleanup
      --connection con1
      --error 0,1030
      --reap
      DROP TABLE lineitem;
      

      ==3089615==ERROR: AddressSanitizer: use-after-poison on address 0x62100008d688 at pc 0x559ad17bb7dd bp 0x7f22da9c2aa0 sp 0x7f22da9c2a90
      READ of size 1 at 0x62100008d688 thread T5
          #0 0x559ad17bb7dc in my_charlen_utf8mb4 /data/src/10.5/strings/ctype-utf8.c:7627
          #1 0x559ad175ce2f in my_ismbchar /data/src/10.5/include/m_ctype.h:1554
          #2 0x559ad175e7b0 in my_charpos_mb /data/src/10.5/strings/ctype-mb.c:325
          #3 0x559ad15846d8 in my_ci_charpos /data/src/10.5/include/m_ctype.h:883
          #4 0x559ad1586dd0 in _mi_pack_key /data/src/10.5/storage/myisam/mi_key.c:272
          #5 0x559ad15c1185 in _mi_record_pos /data/src/10.5/storage/myisam/mi_range.c:166
          #6 0x559ad15c0943 in mi_records_in_range /data/src/10.5/storage/myisam/mi_range.c:101
          #7 0x559ad152406c in ha_myisam::records_in_range(unsigned int, st_key_range const*, st_key_range const*, st_page_range*) /data/src/10.5/storage/myisam/ha_myisam.cc:2378
          #8 0x559acfdfcc67 in handler::multi_range_read_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/sql/multi_range_read.cc:177
          #9 0x559acfe08eaf in DsMrr_impl::dsmrr_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/sql/multi_range_read.cc:1708
          #10 0x559ad1525a7b in ha_myisam::multi_range_read_info_const(unsigned int, st_range_seq_if*, void*, unsigned int, unsigned int*, unsigned int*, Cost_estimate*) /data/src/10.5/storage/myisam/ha_myisam.cc:2600
          #11 0x559ad052bd75 in check_quick_select /data/src/10.5/sql/opt_range.cc:11558
          #12 0x559ad051041d in get_key_scans_params /data/src/10.5/sql/opt_range.cc:7462
          #13 0x559ad04f32e9 in SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool, bool) /data/src/10.5/sql/opt_range.cc:2931
          #14 0x559acf9c853a in get_quick_record_count /data/src/10.5/sql/sql_select.cc:4805
          #15 0x559acf9cf495 in make_join_statistics /data/src/10.5/sql/sql_select.cc:5537
          #16 0x559acf9adeef in JOIN::optimize_inner() /data/src/10.5/sql/sql_select.cc:2294
          #17 0x559acf9a73cf in JOIN::optimize() /data/src/10.5/sql/sql_select.cc:1666
          #18 0x559acf9c7c3f in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/10.5/sql/sql_select.cc:4747
          #19 0x559acf9993b8 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.5/sql/sql_select.cc:443
          #20 0x559acf901fee in execute_sqlcom_select /data/src/10.5/sql/sql_parse.cc:6310
          #21 0x559acf8f0fbc in mysql_execute_command(THD*) /data/src/10.5/sql/sql_parse.cc:4006
          #22 0x559acf90d347 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.5/sql/sql_parse.cc:8096
          #23 0x559acf8e3213 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.5/sql/sql_parse.cc:1891
          #24 0x559acf8dfb52 in do_command(THD*) /data/src/10.5/sql/sql_parse.cc:1370
          #25 0x559acfd27023 in do_handle_one_connection(CONNECT*, bool) /data/src/10.5/sql/sql_connect.cc:1410
          #26 0x559acfd26987 in handle_one_connection /data/src/10.5/sql/sql_connect.cc:1312
          #27 0x559ad0a3f914 in pfs_spawn_thread /data/src/10.5/storage/perfschema/pfs.cc:2201
          #28 0x7f22e431d608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
          #29 0x7f22e3ef1292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
       
      0x62100008d688 is located 392 bytes inside of 4196-byte region [0x62100008d500,0x62100008e564)
      allocated by thread T5 here:
          #0 0x7f22e491cbc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
          #1 0x559ad16ec119 in sf_malloc /data/src/10.5/mysys/safemalloc.c:121
          #2 0x559ad16b9929 in my_malloc /data/src/10.5/mysys/my_malloc.c:90
          #3 0x559ad16956dd in alloc_root /data/src/10.5/mysys/my_alloc.c:244
          #4 0x559ad04f1a8f in SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool, bool) /data/src/10.5/sql/opt_range.cc:2769
          #5 0x559acf9c853a in get_quick_record_count /data/src/10.5/sql/sql_select.cc:4805
          #6 0x559acf9cf495 in make_join_statistics /data/src/10.5/sql/sql_select.cc:5537
          #7 0x559acf9adeef in JOIN::optimize_inner() /data/src/10.5/sql/sql_select.cc:2294
          #8 0x559acf9a73cf in JOIN::optimize() /data/src/10.5/sql/sql_select.cc:1666
          #9 0x559acf9c7c3f in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/10.5/sql/sql_select.cc:4747
          #10 0x559acf9993b8 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.5/sql/sql_select.cc:443
          #11 0x559acf901fee in execute_sqlcom_select /data/src/10.5/sql/sql_parse.cc:6310
          #12 0x559acf8f0fbc in mysql_execute_command(THD*) /data/src/10.5/sql/sql_parse.cc:4006
          #13 0x559acf90d347 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.5/sql/sql_parse.cc:8096
          #14 0x559acf8e3213 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.5/sql/sql_parse.cc:1891
          #15 0x559acf8dfb52 in do_command(THD*) /data/src/10.5/sql/sql_parse.cc:1370
          #16 0x559acfd27023 in do_handle_one_connection(CONNECT*, bool) /data/src/10.5/sql/sql_connect.cc:1410
          #17 0x559acfd26987 in handle_one_connection /data/src/10.5/sql/sql_connect.cc:1312
          #18 0x559ad0a3f914 in pfs_spawn_thread /data/src/10.5/storage/perfschema/pfs.cc:2201
          #19 0x7f22e431d608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
       
      Thread T5 created by T0 here:
          #0 0x7f22e4849805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
          #1 0x559ad0a3a8b8 in my_thread_create /data/src/10.5/storage/perfschema/my_thread.h:38
          #2 0x559ad0a3fd07 in pfs_spawn_thread_v1 /data/src/10.5/storage/perfschema/pfs.cc:2252
          #3 0x559acf5d24b2 in inline_mysql_thread_create /data/src/10.5/include/mysql/psi/mysql_thread.h:1323
          #4 0x559acf5e87d8 in create_thread_to_handle_connection(CONNECT*) /data/src/10.5/sql/mysqld.cc:6007
          #5 0x559acf5e8e57 in create_new_thread(CONNECT*) /data/src/10.5/sql/mysqld.cc:6066
          #6 0x559acf5e91b4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /data/src/10.5/sql/mysqld.cc:6131
          #7 0x559acf5e9de4 in handle_connections_sockets() /data/src/10.5/sql/mysqld.cc:6258
          #8 0x559acf5e7fd4 in mysqld_main(int, char**) /data/src/10.5/sql/mysqld.cc:5653
          #9 0x559acf5d0f7c in main /data/src/10.5/sql/main.cc:25
          #10 0x7f22e3df60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
       
      SUMMARY: AddressSanitizer: use-after-poison /data/src/10.5/strings/ctype-utf8.c:7627 in my_charlen_utf8mb4
      Shadow bytes around the buggy address:
        0x0c4280009a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280009a90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280009aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        0x0c4280009ab0: 00 00 00 00 f7 00 00 00 00 00 00 00 00 00 00 00
        0x0c4280009ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 04 f7
      =>0x0c4280009ad0: 00[f7]00 f7 00 00 00 00 00 00 00 00 00 00 00 00
        0x0c4280009ae0: 00 00 00 f7 00 00 f7 04 f7 00 00 00 00 00 00 00
        0x0c4280009af0: 00 00 00 00 00 00 00 f7 04 f7 00 00 00 00 00 00
        0x0c4280009b00: 00 00 00 00 00 00 00 00 f7 00 00 f7 00 00 00 00
        0x0c4280009b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 f7
        0x0c4280009b20: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
      Shadow byte legend (one shadow byte represents 8 application bytes):
        Addressable:           00
        Partially addressable: 01 02 03 04 05 06 07 
        Heap left redzone:       fa
        Freed heap region:       fd
        Stack left redzone:      f1
        Stack mid redzone:       f2
        Stack right redzone:     f3
        Stack after return:      f5
        Stack use after scope:   f8
        Global redzone:          f9
        Global init order:       f6
        Poisoned by user:        f7
        Container overflow:      fc
        Array cookie:            ac
        Intra object redzone:    bb
        ASan internal:           fe
        Left alloca redzone:     ca
        Right alloca redzone:    cb
        Shadow gap:              cc
      ==3089615==ABORTING
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              midenok Aleksey Midenkov
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration