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

Heap-Use-After-Free at /mariadb-11.3.0/strings/dtoa.c:1378

Details

    • Bug
    • Status: Stalled (View Workflow)
    • Major
    • Resolution: Unresolved
    • 11.3.0, 10.4(EOL), 10.5, 10.6, 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL)
    • 10.5, 10.6, 11.4, 11.7
    • Server
    • None
    • Ubuntu 20.04

    Description

      Run these queries in debug build:

      CREATE TABLE t0 ( c8 INT , CONSTRAINT cc0 UNIQUE i0 ( c8 ) ) ;
      INSERT INTO t0 VALUES ( ) , ( ) ;
      ALTER TABLE t0 ADD COLUMN c59 TEXT NOT NULL AFTER c8 ;
      INSERT INTO t0 VALUES ( -95 , 86 ) , ( -58 , -36 ) ;
      SELECT t1 . c41 AS c18 FROM ( SELECT c59 AS c41 FROM t0 ) AS t1 JOIN t0 ON c8 IN ( SELECT c8 AS c45 FROM t0 GROUP BY c59 , c8 HAVING c59 = AVG ( ( SELECT c8 AS c30 FROM t0 HAVING ATAN ( ROUND ( -588949354837696189 , IF ( 6068938522839077129 , -1 BETWEEN 79 AND 49 , 21 ) ) , RAND ( ) ) = t0 . c59 LIMIT 1 ) ) ) ;
      

      Will trigger Heap-Use-After-Free.
      ASAN info:

      =================================================================
      ==10747==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290001e52a0 at pc 0x555559052512 bp 0x7fffd1626d70 sp 0x7fffd1626d60
      READ of size 1 at 0x6290001e52a0 thread T15
          #0 0x555559052511 in my_strtod_int /home/wx/mariadb-11.3.0/strings/dtoa.c:1378
          #1 0x55555904eb04 in my_strtod /home/wx/mariadb-11.3.0/strings/dtoa.c:469
          #2 0x555558fbc7ff in my_strntod_8bit /home/wx/mariadb-11.3.0/strings/ctype-simple.c:800
          #3 0x555556f02963 in charset_info_st::strntod(char*, unsigned long, char**, int*) const /home/wx/mariadb-11.3.0/include/m_ctype.h:930
          #4 0x555556f033f8 in Value_source::Converter_strntod::Converter_strntod(charset_info_st const*, char const*, unsigned long) /home/wx/mariadb-11.3.0/sql/field.h:210
          #5 0x555556f03768 in Value_source::Converter_strntod_with_warn::Converter_strntod_with_warn(THD*, Value_source::Warn_filter, charset_info_st const*, char const*, unsigned long) /home/wx/mariadb-11.3.0/sql/field.h:281
          #6 0x555557ac216f in Field_blob::val_real() /home/wx/mariadb-11.3.0/sql/field.cc:8744
          #7 0x555557b8a817 in Item_field::val_result() /home/wx/mariadb-11.3.0/sql/item.cc:3428
          #8 0x555557bb2e6f in Item_ref::val_real() /home/wx/mariadb-11.3.0/sql/item.cc:8513
          #9 0x555557beab70 in Arg_comparator::compare_real() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.cc:848
          #10 0x555557c2e1d3 in Arg_comparator::compare() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.h:104
          #11 0x555557bf5bda in Item_func_eq::val_int() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.cc:1780
          #12 0x555557369752 in end_send /home/wx/mariadb-11.3.0/sql/sql_select.cc:24685
          #13 0x55555736194c in evaluate_join_record /home/wx/mariadb-11.3.0/sql/sql_select.cc:23677
          #14 0x5555573601c1 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23444
          #15 0x55555735dadc in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22961
          #16 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
          #17 0x5555572d939f in JOIN::exec() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4718
          #18 0x555557dce72e in subselect_single_select_engine::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:4159
          #19 0x555557da9c84 in Item_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:812
          #20 0x555557db09ea in Item_singlerow_subselect::val_decimal(my_decimal*) /home/wx/mariadb-11.3.0/sql/item_subselect.cc:1525
          #21 0x55555789a035 in VDec::VDec(Item*) /home/wx/mariadb-11.3.0/sql/sql_type.cc:293
          #22 0x555557e05b78 in Item_sum_avg::reset_field() /home/wx/mariadb-11.3.0/sql/item_sum.cc:2923
          #23 0x55555738760f in init_tmptable_sum_functions /home/wx/mariadb-11.3.0/sql/sql_select.cc:28763
          #24 0x55555736dee6 in end_unique_update /home/wx/mariadb-11.3.0/sql/sql_select.cc:25138
          #25 0x5555573a1a76 in AGGR_OP::put_record(bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:32254
          #26 0x5555573b632c in AGGR_OP::put_record() (/usr/local/mysql/bin/mariadbd+0x1e6232c)
          #27 0x55555735ec69 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23134
          #28 0x55555736194c in evaluate_join_record /home/wx/mariadb-11.3.0/sql/sql_select.cc:23677
          #29 0x55555736083b in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23481
          #30 0x55555735dadc in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22961
          #31 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
          #32 0x5555572d939f in JOIN::exec() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4718
          #33 0x555557dd9278 in subselect_hash_sj_engine::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:5730
          #34 0x555557da9c84 in Item_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:812
          #35 0x555557dab290 in Item_in_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:994
          #36 0x555557db650e in Item_in_subselect::val_bool() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:1991
          #37 0x555556e14cd3 in Item::val_bool_result() /home/wx/mariadb-11.3.0/sql/item.h:1797
          #38 0x555557bf3f01 in Item_in_optimizer::val_int() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.cc:1664
          #39 0x5555570d0aa0 in SQL_SELECT::skip_record(THD*) /home/wx/mariadb-11.3.0/sql/opt_range.h:1914
          #40 0x555557760355 in JOIN_TAB_SCAN::next() /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:3502
          #41 0x55555775ab37 in JOIN_CACHE::join_matching_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2342
          #42 0x555557759950 in JOIN_CACHE::join_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2158
          #43 0x55555735ef48 in sub_select_cache(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23192
          #44 0x55555735f712 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23378
          #45 0x55555735dbe2 in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22963
          #46 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
          #47 0x5555572d939f in JOIN::exec() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4718
          #48 0x5555572ddbaa 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*) /home/wx/mariadb-11.3.0/sql/sql_select.cc:5249
          #49 0x5555572ad189 in handle_select(THD*, LEX*, select_result*, unsigned long long) /home/wx/mariadb-11.3.0/sql/sql_select.cc:628
          #50 0x5555571ce582 in execute_sqlcom_select /home/wx/mariadb-11.3.0/sql/sql_parse.cc:6013
          #51 0x5555571becf5 in mysql_execute_command(THD*, bool) /home/wx/mariadb-11.3.0/sql/sql_parse.cc:3912
          #52 0x5555571d95e1 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /home/wx/mariadb-11.3.0/sql/sql_parse.cc:7734
          #53 0x5555571b1236 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1893
          #54 0x5555571adf7b in do_command(THD*, bool) /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1406
          #55 0x55555768e556 in do_handle_one_connection(CONNECT*, bool) /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1445
          #56 0x55555768deb3 in handle_one_connection /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1347
          #57 0x5555582fa34f in pfs_spawn_thread /home/wx/mariadb-11.3.0/storage/perfschema/pfs.cc:2201
          #58 0x7ffff7115608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477
          #59 0x7ffff6ce8132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)
       
      0x6290001e52a0 is located 160 bytes inside of 16536-byte region [0x6290001e5200,0x6290001e9298)
      freed by thread T15 here:
          #0 0x7ffff769040f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122
          #1 0x555558563801 in ut_allocator<unsigned char, true>::deallocate(unsigned char*, unsigned long) /home/wx/mariadb-11.3.0/storage/innobase/include/ut0new.h:424
          #2 0x55555872d475 in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /home/wx/mariadb-11.3.0/storage/innobase/mem/mem0mem.cc:416
          #3 0x5555588a10ad in mem_heap_free /home/wx/mariadb-11.3.0/storage/innobase/include/mem0mem.inl:419
          #4 0x5555588a3967 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /home/wx/mariadb-11.3.0/storage/innobase/row/row0mysql.cc:101
          #5 0x55555891fea6 in row_sel_store_mysql_rec /home/wx/mariadb-11.3.0/storage/innobase/row/row0sel.cc:3148
          #6 0x5555589305df in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /home/wx/mariadb-11.3.0/storage/innobase/row/row0sel.cc:5689
          #7 0x55555850ec8d in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /home/wx/mariadb-11.3.0/storage/innobase/handler/ha_innodb.cc:9289
          #8 0x55555850fb99 in ha_innobase::rnd_next(unsigned char*) /home/wx/mariadb-11.3.0/storage/innobase/handler/ha_innodb.cc:9485
          #9 0x555557b2f44b in handler::ha_rnd_next(unsigned char*) /home/wx/mariadb-11.3.0/sql/handler.cc:3615
          #10 0x555556ee425a in rr_sequential(READ_RECORD*) /home/wx/mariadb-11.3.0/sql/records.cc:513
          #11 0x555556ead6ff in READ_RECORD::read_record() /home/wx/mariadb-11.3.0/sql/records.h:81
          #12 0x555557360458 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23461
          #13 0x55555735dadc in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22961
          #14 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
          #15 0x5555572d939f in JOIN::exec() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4718
          #16 0x555557dd9278 in subselect_hash_sj_engine::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:5730
          #17 0x555557da9c84 in Item_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:812
          #18 0x555557dab290 in Item_in_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:994
          #19 0x555557db650e in Item_in_subselect::val_bool() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:1991
          #20 0x555556e14cd3 in Item::val_bool_result() /home/wx/mariadb-11.3.0/sql/item.h:1797
          #21 0x555557bf3f01 in Item_in_optimizer::val_int() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.cc:1664
          #22 0x5555570d0aa0 in SQL_SELECT::skip_record(THD*) /home/wx/mariadb-11.3.0/sql/opt_range.h:1914
          #23 0x555557760355 in JOIN_TAB_SCAN::next() /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:3502
          #24 0x55555775ab37 in JOIN_CACHE::join_matching_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2342
          #25 0x555557759950 in JOIN_CACHE::join_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2158
          #26 0x55555735ef48 in sub_select_cache(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23192
          #27 0x55555735f712 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23378
          #28 0x55555735dbe2 in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22963
          #29 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
       
      previously allocated by thread T15 here:
          #0 0x7ffff7690808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
          #1 0x5555585632ec in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /home/wx/mariadb-11.3.0/storage/innobase/include/ut0new.h:375
          #2 0x55555872c719 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /home/wx/mariadb-11.3.0/storage/innobase/mem/mem0mem.cc:277
          #3 0x55555890917c in mem_heap_create_func /home/wx/mariadb-11.3.0/storage/innobase/include/mem0mem.inl:377
          #4 0x55555891f76c in row_sel_store_mysql_field /home/wx/mariadb-11.3.0/storage/innobase/row/row0sel.cc:3089
          #5 0x555558920887 in row_sel_store_mysql_rec /home/wx/mariadb-11.3.0/storage/innobase/row/row0sel.cc:3235
          #6 0x5555589305df in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /home/wx/mariadb-11.3.0/storage/innobase/row/row0sel.cc:5689
          #7 0x55555850ec8d in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /home/wx/mariadb-11.3.0/storage/innobase/handler/ha_innodb.cc:9289
          #8 0x55555850fb99 in ha_innobase::rnd_next(unsigned char*) /home/wx/mariadb-11.3.0/storage/innobase/handler/ha_innodb.cc:9485
          #9 0x555557b2f44b in handler::ha_rnd_next(unsigned char*) /home/wx/mariadb-11.3.0/sql/handler.cc:3615
          #10 0x555556ee425a in rr_sequential(READ_RECORD*) /home/wx/mariadb-11.3.0/sql/records.cc:513
          #11 0x555556ead6ff in READ_RECORD::read_record() /home/wx/mariadb-11.3.0/sql/records.h:81
          #12 0x555557360458 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23461
          #13 0x55555735dadc in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22961
          #14 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
          #15 0x5555572d939f in JOIN::exec() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4718
          #16 0x555557dd9278 in subselect_hash_sj_engine::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:5730
          #17 0x555557da9c84 in Item_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:812
          #18 0x555557dab290 in Item_in_subselect::exec() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:994
          #19 0x555557db650e in Item_in_subselect::val_bool() /home/wx/mariadb-11.3.0/sql/item_subselect.cc:1991
          #20 0x555556e14cd3 in Item::val_bool_result() /home/wx/mariadb-11.3.0/sql/item.h:1797
          #21 0x555557bf3f01 in Item_in_optimizer::val_int() /home/wx/mariadb-11.3.0/sql/item_cmpfunc.cc:1664
          #22 0x5555570d0aa0 in SQL_SELECT::skip_record(THD*) /home/wx/mariadb-11.3.0/sql/opt_range.h:1914
          #23 0x555557760355 in JOIN_TAB_SCAN::next() /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:3502
          #24 0x55555775ab37 in JOIN_CACHE::join_matching_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2342
          #25 0x555557759950 in JOIN_CACHE::join_records(bool) /home/wx/mariadb-11.3.0/sql/sql_join_cache.cc:2158
          #26 0x55555735ef48 in sub_select_cache(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23192
          #27 0x55555735f712 in sub_select(JOIN*, st_join_table*, bool) /home/wx/mariadb-11.3.0/sql/sql_select.cc:23378
          #28 0x55555735dbe2 in do_select /home/wx/mariadb-11.3.0/sql/sql_select.cc:22963
          #29 0x5555572dbfe8 in JOIN::exec_inner() /home/wx/mariadb-11.3.0/sql/sql_select.cc:4941
       
      Thread T15 created by T0 here:
          #0 0x7ffff75bd815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
          #1 0x5555582f5f2c in my_thread_create /home/wx/mariadb-11.3.0/storage/perfschema/my_thread.h:52
          #2 0x5555582fa742 in pfs_spawn_thread_v1 /home/wx/mariadb-11.3.0/storage/perfschema/pfs.cc:2252
          #3 0x555556dea0f9 in inline_mysql_thread_create /home/wx/mariadb-11.3.0/include/mysql/psi/mysql_thread.h:1139
          #4 0x555556e02aac in create_thread_to_handle_connection(CONNECT*) /home/wx/mariadb-11.3.0/sql/mysqld.cc:6150
          #5 0x555556e0313c in create_new_thread(CONNECT*) /home/wx/mariadb-11.3.0/sql/mysqld.cc:6212
          #6 0x555556e034a9 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /home/wx/mariadb-11.3.0/sql/mysqld.cc:6274
          #7 0x555556e03e9f in handle_connections_sockets() /home/wx/mariadb-11.3.0/sql/mysqld.cc:6398
          #8 0x555556e022b9 in mysqld_main(int, char**) /home/wx/mariadb-11.3.0/sql/mysqld.cc:6045
          #9 0x555556de91ac in main /home/wx/mariadb-11.3.0/sql/main.cc:34
          #10 0x7ffff6bed082 in __libc_start_main ../csu/libc-start.c:308
       
      SUMMARY: AddressSanitizer: heap-use-after-free /home/wx/mariadb-11.3.0/strings/dtoa.c:1378 in my_strtod_int
      Shadow bytes around the buggy address:
        0x0c5280034a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c5280034a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c5280034a20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c5280034a30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c5280034a40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      =>0x0c5280034a50: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd
        0x0c5280034a60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c5280034a70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c5280034a80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c5280034a90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c5280034aa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      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
      ==10747==ABORTING
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment - - edited

            Thanks! I repeated on 10.4-11.2. This is probably the same bug as MDEV-28345, I will add the test there to be checked

            Version: '10.4.32-MariaDB-debug-log'   62d80652be7c19f4ad2bf68d6ffbb4e1eb1d77ea
            =================================================================
            ==692855==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002ee288 at pc 0x55e185f94137 bp 0x7f32ecfbbc90 sp 0x7f32ecfbbc80
            READ of size 1 at 0x6290002ee288 thread T27
                #0 0x55e185f94136 in my_strtod_int /10.4/src/strings/dtoa.c:1378
                #1 0x55e185f90729 in my_strtod /10.4/src/strings/dtoa.c:469
                #2 0x55e185f08817 in my_strntod_8bit /10.4/src/strings/ctype-simple.c:801
                #3 0x55e183fc9fcf in Value_source::Converter_strntod::Converter_strntod(charset_info_st const*, char const*, unsigned long) /10.4/src/sql/field.h:168
                #4 0x55e183fca39a in Value_source::Converter_strntod_with_warn::Converter_strntod_with_warn(THD*, Value_source::Warn_filter, charset_info_st const*, char const*, unsigned long) /10.4/src/sql/field.h:239
                #5 0x55e1849e36a5 in Field_blob::val_real() /10.4/src/sql/field.cc:8570
                #6 0x55e184aa288c in Item_field::val_result() /10.4/src/sql/item.cc:3351
                #7 0x55e184acb0d1 in Item_ref::val_real() /10.4/src/sql/item.cc:8376
                #8 0x55e184b04e90 in Arg_comparator::compare_real() /10.4/src/sql/item_cmpfunc.cc:854
                #9 0x55e184b489a5 in Arg_comparator::compare() /10.4/src/sql/item_cmpfunc.h:104
                #10 0x55e184b10782 in Item_func_eq::val_int() /10.4/src/sql/item_cmpfunc.cc:1790
                #11 0x55e1843c8355 in end_send /10.4/src/sql/sql_select.cc:22106
                #12 0x55e1843c09b0 in evaluate_join_record /10.4/src/sql/sql_select.cc:21149
                #13 0x55e1843bf2e5 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20922
                #14 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443
                #15 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #16 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
                #17 0x55e184c90329 in subselect_single_select_engine::exec() /10.4/src/sql/item_subselect.cc:4032
                #18 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758
                #19 0x55e184c72252 in Item_singlerow_subselect::val_decimal(my_decimal*) /10.4/src/sql/item_subselect.cc:1463
                #20 0x55e1847dc45f in VDec::VDec(Item*) /10.4/src/sql/sql_type.cc:195
                #21 0x55e184cc8380 in Item_sum_avg::reset_field() /10.4/src/sql/item_sum.cc:2889
                #22 0x55e1843e6a82 in init_tmptable_sum_functions /10.4/src/sql/sql_select.cc:26124
                #23 0x55e1843cc948 in end_unique_update /10.4/src/sql/sql_select.cc:22530
                #24 0x55e184401546 in AGGR_OP::put_record(bool) /10.4/src/sql/sql_select.cc:29651
                #25 0x55e184411014 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m4-10.4-bld/sql/mysqld+0x148e014)
                #26 0x55e1843be028 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20627
                #27 0x55e1843c09b0 in evaluate_join_record /10.4/src/sql/sql_select.cc:21149
                #28 0x55e1843bf94b in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20961
                #29 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443
                #30 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #31 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
                #32 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594
                #33 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758
                #34 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938
                #35 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886
                #36 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562
                #37 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673
                #38 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665
                #39 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532
                #40 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358
                #41 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173
                #42 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685
                #43 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867
                #44 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445
                #45 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #46 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
                #47 0x55e18434c3df in mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /10.4/src/sql/sql_select.cc:4846
                #48 0x55e18431cc55 in handle_select(THD*, LEX*, select_result*, unsigned long) /10.4/src/sql/sql_select.cc:442
                #49 0x55e184283c5b in execute_sqlcom_select /10.4/src/sql/sql_parse.cc:6475
                #50 0x55e1842713d2 in mysql_execute_command(THD*) /10.4/src/sql/sql_parse.cc:3978
                #51 0x55e18428d1d6 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.4/src/sql/sql_parse.cc:8014
                #52 0x55e184263562 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.4/src/sql/sql_parse.cc:1857
                #53 0x55e18426008d in do_command(THD*) /10.4/src/sql/sql_parse.cc:1378
                #54 0x55e18467467d in do_handle_one_connection(CONNECT*) /10.4/src/sql/sql_connect.cc:1419
                #55 0x55e184673f21 in handle_one_connection /10.4/src/sql/sql_connect.cc:1323
                #56 0x55e185311baf in pfs_spawn_thread /10.4/src/storage/perfschema/pfs.cc:1869
                #57 0x7f3303b8b608 in start_thread /build/glibc-BHL3KM/glibc-2.31/nptl/pthread_create.c:477
                #58 0x7f330375c132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)
             
            0x6290002ee288 is located 136 bytes inside of 16512-byte region [0x6290002ee200,0x6290002f2280)
            freed by thread T27 here:
                #0 0x7f330418940f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122
                #1 0x55e185617686 in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.4/src/storage/innobase/mem/mem0mem.cc:416
                #2 0x55e18578933f in mem_heap_free /10.4/src/storage/innobase/include/mem0mem.inl:417
                #3 0x55e185790918 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.4/src/storage/innobase/row/row0mysql.cc:137
                #4 0x55e185820a61 in row_sel_store_mysql_rec /10.4/src/storage/innobase/row/row0sel.cc:3106
                #5 0x55e185830dfc in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.4/src/storage/innobase/row/row0sel.cc:5589
                #6 0x55e185429b2a in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.4/src/storage/innobase/handler/ha_innodb.cc:9678
                #7 0x55e18542ab59 in ha_innobase::rnd_next(unsigned char*) /10.4/src/storage/innobase/handler/ha_innodb.cc:9888
                #8 0x55e184a4d2a7 in handler::ha_rnd_next(unsigned char*) /10.4/src/sql/handler.cc:2904
                #9 0x55e184e87fce in rr_sequential(READ_RECORD*) /10.4/src/sql/records.cc:485
                #10 0x55e1840b65c1 in READ_RECORD::read_record() /10.4/src/sql/records.h:70
                #11 0x55e1843bf568 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20941
                #12 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443
                #13 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #14 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
                #15 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594
                #16 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758
                #17 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938
                #18 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886
                #19 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562
                #20 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673
                #21 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665
                #22 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532
                #23 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358
                #24 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173
                #25 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685
                #26 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867
                #27 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445
                #28 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #29 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
             
            previously allocated by thread T27 here:
                #0 0x7f3304189808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
                #1 0x55e185616a83 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.4/src/storage/innobase/mem/mem0mem.cc:277
                #2 0x55e185809138 in mem_heap_create_func /10.4/src/storage/innobase/include/mem0mem.inl:375
                #3 0x55e185820322 in row_sel_store_mysql_field /10.4/src/storage/innobase/row/row0sel.cc:3047
                #4 0x55e185821447 in row_sel_store_mysql_rec /10.4/src/storage/innobase/row/row0sel.cc:3178
                #5 0x55e185830dfc in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.4/src/storage/innobase/row/row0sel.cc:5589
                #6 0x55e185429b2a in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.4/src/storage/innobase/handler/ha_innodb.cc:9678
                #7 0x55e18542ab59 in ha_innobase::rnd_next(unsigned char*) /10.4/src/storage/innobase/handler/ha_innodb.cc:9888
                #8 0x55e184a4d2a7 in handler::ha_rnd_next(unsigned char*) /10.4/src/sql/handler.cc:2904
                #9 0x55e184e87fce in rr_sequential(READ_RECORD*) /10.4/src/sql/records.cc:485
                #10 0x55e1840b65c1 in READ_RECORD::read_record() /10.4/src/sql/records.h:70
                #11 0x55e1843bf568 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20941
                #12 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443
                #13 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #14 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
                #15 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594
                #16 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758
                #17 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938
                #18 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886
                #19 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562
                #20 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673
                #21 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665
                #22 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532
                #23 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358
                #24 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173
                #25 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685
                #26 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867
                #27 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445
                #28 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625
                #29 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407
             
            Thread T27 created by T0 here:
                #0 0x7f33040b6815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
                #1 0x55e185311fa0 in spawn_thread_v1 /10.4/src/storage/perfschema/pfs.cc:1919
                #2 0x55e183f58f71 in inline_mysql_thread_create /10.4/src/include/mysql/psi/mysql_thread.h:1275
                #3 0x55e183f71161 in create_thread_to_handle_connection(CONNECT*) /10.4/src/sql/mysqld.cc:6296
                #4 0x55e183f718fc in create_new_thread(CONNECT*) /10.4/src/sql/mysqld.cc:6366
                #5 0x55e183f71de2 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.4/src/sql/mysqld.cc:6464
                #6 0x55e183f72c9e in handle_connections_sockets() /10.4/src/sql/mysqld.cc:6622
                #7 0x55e183f70866 in mysqld_main(int, char**) /10.4/src/sql/mysqld.cc:5954
                #8 0x55e183f56f3c in main /10.4/src/sql/main.cc:25
                #9 0x7f3303661082 in __libc_start_main ../csu/libc-start.c:308
             
            SUMMARY: AddressSanitizer: heap-use-after-free /10.4/src/strings/dtoa.c:1378 in my_strtod_int
            Shadow bytes around the buggy address:
              0x0c5280055c00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c5280055c10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c5280055c20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c5280055c30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c5280055c40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            =>0x0c5280055c50: fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c5280055c60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c5280055c70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c5280055c80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c5280055c90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c5280055ca0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            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
            ==692855==ABORTING
            ----------SERVER LOG END-------------
             
            
            

            alice Alice Sherepa added a comment - - edited Thanks! I repeated on 10.4-11.2. This is probably the same bug as MDEV-28345 , I will add the test there to be checked Version: '10.4.32-MariaDB-debug-log' 62d80652be7c19f4ad2bf68d6ffbb4e1eb1d77ea ================================================================= ==692855==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002ee288 at pc 0x55e185f94137 bp 0x7f32ecfbbc90 sp 0x7f32ecfbbc80 READ of size 1 at 0x6290002ee288 thread T27 #0 0x55e185f94136 in my_strtod_int /10.4/src/strings/dtoa.c:1378 #1 0x55e185f90729 in my_strtod /10.4/src/strings/dtoa.c:469 #2 0x55e185f08817 in my_strntod_8bit /10.4/src/strings/ctype-simple.c:801 #3 0x55e183fc9fcf in Value_source::Converter_strntod::Converter_strntod(charset_info_st const*, char const*, unsigned long) /10.4/src/sql/field.h:168 #4 0x55e183fca39a in Value_source::Converter_strntod_with_warn::Converter_strntod_with_warn(THD*, Value_source::Warn_filter, charset_info_st const*, char const*, unsigned long) /10.4/src/sql/field.h:239 #5 0x55e1849e36a5 in Field_blob::val_real() /10.4/src/sql/field.cc:8570 #6 0x55e184aa288c in Item_field::val_result() /10.4/src/sql/item.cc:3351 #7 0x55e184acb0d1 in Item_ref::val_real() /10.4/src/sql/item.cc:8376 #8 0x55e184b04e90 in Arg_comparator::compare_real() /10.4/src/sql/item_cmpfunc.cc:854 #9 0x55e184b489a5 in Arg_comparator::compare() /10.4/src/sql/item_cmpfunc.h:104 #10 0x55e184b10782 in Item_func_eq::val_int() /10.4/src/sql/item_cmpfunc.cc:1790 #11 0x55e1843c8355 in end_send /10.4/src/sql/sql_select.cc:22106 #12 0x55e1843c09b0 in evaluate_join_record /10.4/src/sql/sql_select.cc:21149 #13 0x55e1843bf2e5 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20922 #14 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443 #15 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #16 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407 #17 0x55e184c90329 in subselect_single_select_engine::exec() /10.4/src/sql/item_subselect.cc:4032 #18 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758 #19 0x55e184c72252 in Item_singlerow_subselect::val_decimal(my_decimal*) /10.4/src/sql/item_subselect.cc:1463 #20 0x55e1847dc45f in VDec::VDec(Item*) /10.4/src/sql/sql_type.cc:195 #21 0x55e184cc8380 in Item_sum_avg::reset_field() /10.4/src/sql/item_sum.cc:2889 #22 0x55e1843e6a82 in init_tmptable_sum_functions /10.4/src/sql/sql_select.cc:26124 #23 0x55e1843cc948 in end_unique_update /10.4/src/sql/sql_select.cc:22530 #24 0x55e184401546 in AGGR_OP::put_record(bool) /10.4/src/sql/sql_select.cc:29651 #25 0x55e184411014 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m4-10.4-bld/sql/mysqld+0x148e014) #26 0x55e1843be028 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20627 #27 0x55e1843c09b0 in evaluate_join_record /10.4/src/sql/sql_select.cc:21149 #28 0x55e1843bf94b in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20961 #29 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443 #30 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #31 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407 #32 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594 #33 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758 #34 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938 #35 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886 #36 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562 #37 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673 #38 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665 #39 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532 #40 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358 #41 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173 #42 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685 #43 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867 #44 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445 #45 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #46 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407 #47 0x55e18434c3df in mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /10.4/src/sql/sql_select.cc:4846 #48 0x55e18431cc55 in handle_select(THD*, LEX*, select_result*, unsigned long) /10.4/src/sql/sql_select.cc:442 #49 0x55e184283c5b in execute_sqlcom_select /10.4/src/sql/sql_parse.cc:6475 #50 0x55e1842713d2 in mysql_execute_command(THD*) /10.4/src/sql/sql_parse.cc:3978 #51 0x55e18428d1d6 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.4/src/sql/sql_parse.cc:8014 #52 0x55e184263562 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.4/src/sql/sql_parse.cc:1857 #53 0x55e18426008d in do_command(THD*) /10.4/src/sql/sql_parse.cc:1378 #54 0x55e18467467d in do_handle_one_connection(CONNECT*) /10.4/src/sql/sql_connect.cc:1419 #55 0x55e184673f21 in handle_one_connection /10.4/src/sql/sql_connect.cc:1323 #56 0x55e185311baf in pfs_spawn_thread /10.4/src/storage/perfschema/pfs.cc:1869 #57 0x7f3303b8b608 in start_thread /build/glibc-BHL3KM/glibc-2.31/nptl/pthread_create.c:477 #58 0x7f330375c132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)   0x6290002ee288 is located 136 bytes inside of 16512-byte region [0x6290002ee200,0x6290002f2280) freed by thread T27 here: #0 0x7f330418940f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122 #1 0x55e185617686 in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.4/src/storage/innobase/mem/mem0mem.cc:416 #2 0x55e18578933f in mem_heap_free /10.4/src/storage/innobase/include/mem0mem.inl:417 #3 0x55e185790918 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.4/src/storage/innobase/row/row0mysql.cc:137 #4 0x55e185820a61 in row_sel_store_mysql_rec /10.4/src/storage/innobase/row/row0sel.cc:3106 #5 0x55e185830dfc in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.4/src/storage/innobase/row/row0sel.cc:5589 #6 0x55e185429b2a in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.4/src/storage/innobase/handler/ha_innodb.cc:9678 #7 0x55e18542ab59 in ha_innobase::rnd_next(unsigned char*) /10.4/src/storage/innobase/handler/ha_innodb.cc:9888 #8 0x55e184a4d2a7 in handler::ha_rnd_next(unsigned char*) /10.4/src/sql/handler.cc:2904 #9 0x55e184e87fce in rr_sequential(READ_RECORD*) /10.4/src/sql/records.cc:485 #10 0x55e1840b65c1 in READ_RECORD::read_record() /10.4/src/sql/records.h:70 #11 0x55e1843bf568 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20941 #12 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443 #13 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #14 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407 #15 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594 #16 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758 #17 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938 #18 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886 #19 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562 #20 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673 #21 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665 #22 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532 #23 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358 #24 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173 #25 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685 #26 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867 #27 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445 #28 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #29 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407   previously allocated by thread T27 here: #0 0x7f3304189808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144 #1 0x55e185616a83 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.4/src/storage/innobase/mem/mem0mem.cc:277 #2 0x55e185809138 in mem_heap_create_func /10.4/src/storage/innobase/include/mem0mem.inl:375 #3 0x55e185820322 in row_sel_store_mysql_field /10.4/src/storage/innobase/row/row0sel.cc:3047 #4 0x55e185821447 in row_sel_store_mysql_rec /10.4/src/storage/innobase/row/row0sel.cc:3178 #5 0x55e185830dfc in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.4/src/storage/innobase/row/row0sel.cc:5589 #6 0x55e185429b2a in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.4/src/storage/innobase/handler/ha_innodb.cc:9678 #7 0x55e18542ab59 in ha_innobase::rnd_next(unsigned char*) /10.4/src/storage/innobase/handler/ha_innodb.cc:9888 #8 0x55e184a4d2a7 in handler::ha_rnd_next(unsigned char*) /10.4/src/sql/handler.cc:2904 #9 0x55e184e87fce in rr_sequential(READ_RECORD*) /10.4/src/sql/records.cc:485 #10 0x55e1840b65c1 in READ_RECORD::read_record() /10.4/src/sql/records.h:70 #11 0x55e1843bf568 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20941 #12 0x55e1843bd08b in do_select /10.4/src/sql/sql_select.cc:20443 #13 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #14 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407 #15 0x55e184c9a9b4 in subselect_hash_sj_engine::exec() /10.4/src/sql/item_subselect.cc:5594 #16 0x55e184c6b391 in Item_subselect::exec() /10.4/src/sql/item_subselect.cc:758 #17 0x55e184c6c995 in Item_in_subselect::exec() /10.4/src/sql/item_subselect.cc:938 #18 0x55e184c77f70 in Item_in_subselect::val_bool() /10.4/src/sql/item_subselect.cc:1886 #19 0x55e183fac951 in Item::val_bool_result() /10.4/src/sql/item.h:1562 #20 0x55e184b0e8f7 in Item_in_optimizer::val_int() /10.4/src/sql/item_cmpfunc.cc:1673 #21 0x55e1845681ca in SQL_SELECT::skip_record(THD*) /10.4/src/sql/opt_range.h:1665 #22 0x55e18472a9c1 in JOIN_TAB_SCAN::next() /10.4/src/sql/sql_join_cache.cc:3532 #23 0x55e184725071 in JOIN_CACHE::join_matching_records(bool) /10.4/src/sql/sql_join_cache.cc:2358 #24 0x55e184723f9e in JOIN_CACHE::join_records(bool) /10.4/src/sql/sql_join_cache.cc:2173 #25 0x55e1843be307 in sub_select_cache(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20685 #26 0x55e1843bea91 in sub_select(JOIN*, st_join_table*, bool) /10.4/src/sql/sql_select.cc:20867 #27 0x55e1843bd191 in do_select /10.4/src/sql/sql_select.cc:20445 #28 0x55e18434abd3 in JOIN::exec_inner() /10.4/src/sql/sql_select.cc:4625 #29 0x55e184348203 in JOIN::exec() /10.4/src/sql/sql_select.cc:4407   Thread T27 created by T0 here: #0 0x7f33040b6815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208 #1 0x55e185311fa0 in spawn_thread_v1 /10.4/src/storage/perfschema/pfs.cc:1919 #2 0x55e183f58f71 in inline_mysql_thread_create /10.4/src/include/mysql/psi/mysql_thread.h:1275 #3 0x55e183f71161 in create_thread_to_handle_connection(CONNECT*) /10.4/src/sql/mysqld.cc:6296 #4 0x55e183f718fc in create_new_thread(CONNECT*) /10.4/src/sql/mysqld.cc:6366 #5 0x55e183f71de2 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.4/src/sql/mysqld.cc:6464 #6 0x55e183f72c9e in handle_connections_sockets() /10.4/src/sql/mysqld.cc:6622 #7 0x55e183f70866 in mysqld_main(int, char**) /10.4/src/sql/mysqld.cc:5954 #8 0x55e183f56f3c in main /10.4/src/sql/main.cc:25 #9 0x7f3303661082 in __libc_start_main ../csu/libc-start.c:308   SUMMARY: AddressSanitizer: heap-use-after-free /10.4/src/strings/dtoa.c:1378 in my_strtod_int Shadow bytes around the buggy address: 0x0c5280055c00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c5280055c10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c5280055c20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c5280055c30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c5280055c40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c5280055c50: fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c5280055c60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c5280055c70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c5280055c80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c5280055c90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c5280055ca0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 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 ==692855==ABORTING ----------SERVER LOG END-------------  

            This bug should not be marked as duplicate for MDEV-28345.

            The problem originally reported by Roel in MDEV-28345 is inside the function my_strtod_int(), it does not handle strings like '0.0e+0' well.

            The problem reported in this issue (MDEV-32759) is about derived tables or subselect passing a freed memory fragment to my_strtod_int().

            bar Alexander Barkov added a comment - This bug should not be marked as duplicate for MDEV-28345 . The problem originally reported by Roel in MDEV-28345 is inside the function my_strtod_int(), it does not handle strings like '0.0e+0' well. The problem reported in this issue ( MDEV-32759 ) is about derived tables or subselect passing a freed memory fragment to my_strtod_int().
            alice Alice Sherepa added a comment - - edited

            reproducible with 10.5-11.5, with InnoDB, not Myisam/Aria

            --source include/have_innodb.inc
             
            CREATE TABLE t0 (b text) engine=innodb ;
            INSERT INTO t0 VALUES ('86'),('-36');
             
            SELECT 5 FROM t0 GROUP BY b HAVING  AVG ((SELECT 3 FROM t0 HAVING rand()= t0.b));
            DROP TABLE t0;
            

            Version: '10.5.26-MariaDB-debug-log'  revision 46d95ae265bc08063d9636309901e7603b2a9229
            =================================================================
            ==1243048==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002a32a0 at pc 0x556f97ff8328 bp 0x7fb37c504a70 sp 0x7fb37c504a60
            READ of size 1 at 0x6290002a32a0 thread T27
                #0 0x556f97ff8327 in my_strtod_int /10.5/src/strings/dtoa.c:1378
                #1 0x556f97ff491a in my_strtod /10.5/src/strings/dtoa.c:469
                #2 0x556f97f6be16 in my_strntod_8bit /10.5/src/strings/ctype-simple.c:801
                #3 0x556f95e96def in charset_info_st::strntod(char*, unsigned long, char**, int*) const /10.5/src/include/m_ctype.h:789
                #4 0x556f95e977ca in Value_source::Converter_strntod::Converter_strntod(charset_info_st const*, char const*, unsigned long) /10.5/src/sql/field.h:219
                #5 0x556f95e97b3a in Value_source::Converter_strntod_with_warn::Converter_strntod_with_warn(THD*, Value_source::Warn_filter, charset_info_st const*, char const*, unsigned long) /10.5/src/sql/field.h:290
                #6 0x556f9696ced7 in Field_blob::val_real() /10.5/src/sql/field.cc:8716
                #7 0x556f96a32ad6 in Item_field::val_result() /10.5/src/sql/item.cc:3449
                #8 0x556f96a5d2f3 in Item_ref::val_real() /10.5/src/sql/item.cc:8599
                #9 0x556f96a9649c in Arg_comparator::compare_real() /10.5/src/sql/item_cmpfunc.cc:850
                #10 0x556f96add65b in Arg_comparator::compare() /10.5/src/sql/item_cmpfunc.h:117
                #11 0x556f96aa2d4a in Item_func_eq::val_int() /10.5/src/sql/item_cmpfunc.cc:1812
                #12 0x556f962b62d3 in end_send /10.5/src/sql/sql_select.cc:22473
                #13 0x556f962ae8c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503
                #14 0x556f962ad18a in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21273
                #15 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790
                #16 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #17 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #18 0x556f96c2bad7 in subselect_single_select_engine::exec() /10.5/src/sql/item_subselect.cc:4097
                #19 0x556f96c060a5 in Item_subselect::exec() /10.5/src/sql/item_subselect.cc:799
                #20 0x556f96c0cfae in Item_singlerow_subselect::val_decimal(my_decimal*) /10.5/src/sql/item_subselect.cc:1504
                #21 0x556f96755fb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302
                #22 0x556f96c655ac in Item_sum_avg::reset_field() /10.5/src/sql/item_sum.cc:2927
                #23 0x556f962d53ea in init_tmptable_sum_functions /10.5/src/sql/sql_select.cc:26624
                #24 0x556f962ba89d in end_unique_update /10.5/src/sql/sql_select.cc:22903
                #25 0x556f962ef72a in AGGR_OP::put_record(bool) /10.5/src/sql/sql_select.cc:30115
                #26 0x556f96302546 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m5-10.5-bld/sql/mariadbd+0x1c8c546)
                #27 0x556f962abe4a in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:20974
                #28 0x556f962ae8c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503
                #29 0x556f962ad7fc in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21312
                #30 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790
                #31 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #32 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #33 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911
                #34 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #35 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #36 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #37 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #38 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #39 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #40 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #41 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #42 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #43 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
                #44 0x7fb3945bf352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
             
            0x6290002a32a0 is located 160 bytes inside of 16536-byte region [0x6290002a3200,0x6290002a7298)
            freed by thread T27 here:
                #0 0x7fb39500b40f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122
                #1 0x556f9753683b in ut_allocator<unsigned char, true>::deallocate(unsigned char*, unsigned long) /10.5/src/storage/innobase/include/ut0new.h:426
                #2 0x556f9767b31d in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.5/src/storage/innobase/mem/mem0mem.cc:416
                #3 0x556f977e71f8 in mem_heap_free /10.5/src/storage/innobase/include/mem0mem.inl:417
                #4 0x556f977ee0a9 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.5/src/storage/innobase/row/row0mysql.cc:136
                #5 0x556f9787de00 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3094
                #6 0x556f9788e198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544
                #7 0x556f97447470 in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.5/src/storage/innobase/handler/ha_innodb.cc:9177
                #8 0x556f9744845f in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9381
                #9 0x556f969d5e35 in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185
                #10 0x556f96e44647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519
                #11 0x556f95f8b6a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80
                #12 0x556f962ad413 in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21292
                #13 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790
                #14 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #15 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #16 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911
                #17 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #18 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #19 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #20 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #21 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #22 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #23 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #24 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #25 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #26 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
             
            previously allocated by thread T27 here:
                #0 0x7fb39500b808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
                #1 0x556f974970ce in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /10.5/src/storage/innobase/include/ut0new.h:377
                #2 0x556f9767a5c1 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.5/src/storage/innobase/mem/mem0mem.cc:277
                #3 0x556f978661f4 in mem_heap_create_func /10.5/src/storage/innobase/include/mem0mem.inl:375
                #4 0x556f9787d6c6 in row_sel_store_mysql_field /10.5/src/storage/innobase/row/row0sel.cc:3035
                #5 0x556f9787e7e1 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3181
                #6 0x556f9788e198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544
                #7 0x556f97444ba8 in ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function) /10.5/src/storage/innobase/handler/ha_innodb.cc:8911
                #8 0x556f97447e49 in ha_innobase::index_first(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9280
                #9 0x556f974483d9 in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9373
                #10 0x556f969d5c2c in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185
                #11 0x556f96e44647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519
                #12 0x556f95f8b6a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80
                #13 0x556f962b3eba in join_init_read_record(st_join_table*) /10.5/src/sql/sql_select.cc:22238
                #14 0x556f962acfce in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21270
                #15 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790
                #16 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #17 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #18 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911
                #19 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #20 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #21 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #22 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #23 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #24 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #25 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #26 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #27 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #28 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
             
            Thread T27 created by T0 here:
                #0 0x7fb394f38815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
                #1 0x556f97233218 in my_thread_create /10.5/src/storage/perfschema/my_thread.h:52
                #2 0x556f97237a36 in pfs_spawn_thread_v1 /10.5/src/storage/perfschema/pfs.cc:2252
                #3 0x556f95e23b7c in inline_mysql_thread_create /10.5/src/include/mysql/psi/mysql_thread.h:1323
                #4 0x556f95e3a718 in create_thread_to_handle_connection(CONNECT*) /10.5/src/sql/mysqld.cc:6108
                #5 0x556f95e3ad97 in create_new_thread(CONNECT*) /10.5/src/sql/mysqld.cc:6167
                #6 0x556f95e3b0f4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.5/src/sql/mysqld.cc:6232
                #7 0x556f95e3bd56 in handle_connections_sockets() /10.5/src/sql/mysqld.cc:6359
                #8 0x556f95e39f25 in mysqld_main(int, char**) /10.5/src/sql/mysqld.cc:5754
                #9 0x556f95e2219c in main /10.5/src/sql/main.cc:25
                #10 0x7fb3944c4082 in __libc_start_main ../csu/libc-start.c:308
             
            SUMMARY: AddressSanitizer: heap-use-after-free /10.5/src/strings/dtoa.c:1378 in my_strtod_int
            Shadow bytes around the buggy address:
              0x0c528004c600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c620: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c630: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            =>0x0c528004c650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            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
            ==1243048==ABORTING
            

            --source include/have_innodb.inc
             
            CREATE TABLE t0 (b text) engine=innodb ;
            INSERT INTO t0 VALUES ('86'),('-36');
             
            SELECT 5 FROM t0 GROUP BY b HAVING  AVG ((SELECT 3 FROM t0 HAVING t0.b));
            DROP TABLE t0;
            

            Version: '10.5.26-MariaDB-debug-log'  revision 46d95ae265bc08063d9636309901e7603b2a9229
            ==1243283==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002a32a0 at pc 0x56099a42b77a bp 0x7fb1a3aa5970 sp 0x7fb1a3aa5960
            READ of size 1 at 0x6290002a32a0 thread T25
                #0 0x56099a42b779 in internal_str2dec /10.5/src/strings/decimal.c:801
                #1 0x5609991f416c in str2my_decimal(unsigned int, char const*, unsigned long, charset_info_st const*, my_decimal*, char const**) /10.5/src/sql/my_decimal.cc:256
                #2 0x560998b4fb11 in Value_source::Converter_str2my_decimal::Converter_str2my_decimal(unsigned int, charset_info_st const*, char const*, unsigned long, my_decimal*) /10.5/src/sql/field.h:275
                #3 0x560998b4fcb3 in Value_source::Converter_str2my_decimal_with_warn::Converter_str2my_decimal_with_warn(THD*, Value_source::Warn_filter, unsigned int, charset_info_st const*, char const*, unsigned long, my_decimal*) /10.5/src/sql/field.h:327
                #4 0x560998db3b59 in Field_blob::val_decimal(my_decimal*) /10.5/src/sql/field.cc:8765
                #5 0x560998e78d5f in Item_field::val_decimal_result(my_decimal*) /10.5/src/sql/item.cc:3464
                #6 0x560998ea47d9 in Item_ref::val_decimal(my_decimal*) /10.5/src/sql/item.cc:8673
                #7 0x560998b9bfb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302
                #8 0x560998edc876 in Arg_comparator::compare_decimal() /10.5/src/sql/item_cmpfunc.cc:867
                #9 0x560998f2365b in Arg_comparator::compare() /10.5/src/sql/item_cmpfunc.h:117
                #10 0x560998ee904e in Item_func_ne::val_int() /10.5/src/sql/item_cmpfunc.cc:1835
                #11 0x5609986fc2d3 in end_send /10.5/src/sql/sql_select.cc:22473
                #12 0x5609986f48c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503
                #13 0x5609986f318a in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21273
                #14 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790
                #15 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #16 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #17 0x560999071ad7 in subselect_single_select_engine::exec() /10.5/src/sql/item_subselect.cc:4097
                #18 0x56099904c0a5 in Item_subselect::exec() /10.5/src/sql/item_subselect.cc:799
                #19 0x560999052fae in Item_singlerow_subselect::val_decimal(my_decimal*) /10.5/src/sql/item_subselect.cc:1504
                #20 0x560998b9bfb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302
                #21 0x5609990ab5ac in Item_sum_avg::reset_field() /10.5/src/sql/item_sum.cc:2927
                #22 0x56099871b3ea in init_tmptable_sum_functions /10.5/src/sql/sql_select.cc:26624
                #23 0x56099870089d in end_unique_update /10.5/src/sql/sql_select.cc:22903
                #24 0x56099873572a in AGGR_OP::put_record(bool) /10.5/src/sql/sql_select.cc:30115
                #25 0x560998748546 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m5-10.5-bld/sql/mariadbd+0x1c8c546)
                #26 0x5609986f1e4a in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:20974
                #27 0x5609986f48c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503
                #28 0x5609986f37fc in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21312
                #29 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790
                #30 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #31 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #32 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911
                #33 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #34 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #35 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #36 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #37 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #38 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #39 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #40 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #41 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #42 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
                #43 0x7fb1bab35352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
             
            0x6290002a32a0 is located 160 bytes inside of 16536-byte region [0x6290002a3200,0x6290002a7298)
            freed by thread T25 here:
                #0 0x7fb1bb58140f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122
                #1 0x56099997c83b in ut_allocator<unsigned char, true>::deallocate(unsigned char*, unsigned long) /10.5/src/storage/innobase/include/ut0new.h:426
                #2 0x560999ac131d in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.5/src/storage/innobase/mem/mem0mem.cc:416
                #3 0x560999c2d1f8 in mem_heap_free /10.5/src/storage/innobase/include/mem0mem.inl:417
                #4 0x560999c340a9 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.5/src/storage/innobase/row/row0mysql.cc:136
                #5 0x560999cc3e00 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3094
                #6 0x560999cd4198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544
                #7 0x56099988d470 in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.5/src/storage/innobase/handler/ha_innodb.cc:9177
                #8 0x56099988e45f in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9381
                #9 0x560998e1be35 in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185
                #10 0x56099928a647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519
                #11 0x5609983d16a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80
                #12 0x5609986f3413 in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21292
                #13 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790
                #14 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #15 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #16 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911
                #17 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #18 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #19 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #20 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #21 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #22 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #23 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #24 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #25 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #26 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
             
            previously allocated by thread T25 here:
                #0 0x7fb1bb581808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
                #1 0x5609998dd0ce in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /10.5/src/storage/innobase/include/ut0new.h:377
                #2 0x560999ac05c1 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.5/src/storage/innobase/mem/mem0mem.cc:277
                #3 0x560999cac1f4 in mem_heap_create_func /10.5/src/storage/innobase/include/mem0mem.inl:375
                #4 0x560999cc36c6 in row_sel_store_mysql_field /10.5/src/storage/innobase/row/row0sel.cc:3035
                #5 0x560999cc47e1 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3181
                #6 0x560999cd4198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544
                #7 0x56099988aba8 in ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function) /10.5/src/storage/innobase/handler/ha_innodb.cc:8911
                #8 0x56099988de49 in ha_innobase::index_first(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9280
                #9 0x56099988e3d9 in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9373
                #10 0x560998e1bc2c in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185
                #11 0x56099928a647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519
                #12 0x5609983d16a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80
                #13 0x5609986f9eba in join_init_read_record(st_join_table*) /10.5/src/sql/sql_select.cc:22238
                #14 0x5609986f2fce in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21270
                #15 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790
                #16 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654
                #17 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434
                #18 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911
                #19 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449
                #20 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425
                #21 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030
                #22 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221
                #23 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892
                #24 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376
                #25 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417
                #26 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319
                #27 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201
                #28 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477
             
            Thread T25 created by T0 here:
                #0 0x7fb1bb4ae815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
                #1 0x560999679218 in my_thread_create /10.5/src/storage/perfschema/my_thread.h:52
                #2 0x56099967da36 in pfs_spawn_thread_v1 /10.5/src/storage/perfschema/pfs.cc:2252
                #3 0x560998269b7c in inline_mysql_thread_create /10.5/src/include/mysql/psi/mysql_thread.h:1323
                #4 0x560998280718 in create_thread_to_handle_connection(CONNECT*) /10.5/src/sql/mysqld.cc:6108
                #5 0x560998280d97 in create_new_thread(CONNECT*) /10.5/src/sql/mysqld.cc:6167
                #6 0x5609982810f4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.5/src/sql/mysqld.cc:6232
                #7 0x560998281d56 in handle_connections_sockets() /10.5/src/sql/mysqld.cc:6359
                #8 0x56099827ff25 in mysqld_main(int, char**) /10.5/src/sql/mysqld.cc:5754
                #9 0x56099826819c in main /10.5/src/sql/main.cc:25
                #10 0x7fb1baa3a082 in __libc_start_main ../csu/libc-start.c:308
             
            SUMMARY: AddressSanitizer: heap-use-after-free /10.5/src/strings/decimal.c:801 in internal_str2dec
            Shadow bytes around the buggy address:
              0x0c528004c600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c620: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c630: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c528004c640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            =>0x0c528004c650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c528004c6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            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
            ==1243283==ABORTING
            

            alice Alice Sherepa added a comment - - edited reproducible with 10.5-11.5, with InnoDB, not Myisam/Aria --source include/have_innodb.inc   CREATE TABLE t0 (b text) engine=innodb ; INSERT INTO t0 VALUES ( '86' ),( '-36' );   SELECT 5 FROM t0 GROUP BY b HAVING AVG (( SELECT 3 FROM t0 HAVING rand()= t0.b)); DROP TABLE t0; Version: '10.5.26-MariaDB-debug-log' revision 46d95ae265bc08063d9636309901e7603b2a9229 ================================================================= ==1243048==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002a32a0 at pc 0x556f97ff8328 bp 0x7fb37c504a70 sp 0x7fb37c504a60 READ of size 1 at 0x6290002a32a0 thread T27 #0 0x556f97ff8327 in my_strtod_int /10.5/src/strings/dtoa.c:1378 #1 0x556f97ff491a in my_strtod /10.5/src/strings/dtoa.c:469 #2 0x556f97f6be16 in my_strntod_8bit /10.5/src/strings/ctype-simple.c:801 #3 0x556f95e96def in charset_info_st::strntod(char*, unsigned long, char**, int*) const /10.5/src/include/m_ctype.h:789 #4 0x556f95e977ca in Value_source::Converter_strntod::Converter_strntod(charset_info_st const*, char const*, unsigned long) /10.5/src/sql/field.h:219 #5 0x556f95e97b3a in Value_source::Converter_strntod_with_warn::Converter_strntod_with_warn(THD*, Value_source::Warn_filter, charset_info_st const*, char const*, unsigned long) /10.5/src/sql/field.h:290 #6 0x556f9696ced7 in Field_blob::val_real() /10.5/src/sql/field.cc:8716 #7 0x556f96a32ad6 in Item_field::val_result() /10.5/src/sql/item.cc:3449 #8 0x556f96a5d2f3 in Item_ref::val_real() /10.5/src/sql/item.cc:8599 #9 0x556f96a9649c in Arg_comparator::compare_real() /10.5/src/sql/item_cmpfunc.cc:850 #10 0x556f96add65b in Arg_comparator::compare() /10.5/src/sql/item_cmpfunc.h:117 #11 0x556f96aa2d4a in Item_func_eq::val_int() /10.5/src/sql/item_cmpfunc.cc:1812 #12 0x556f962b62d3 in end_send /10.5/src/sql/sql_select.cc:22473 #13 0x556f962ae8c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503 #14 0x556f962ad18a in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21273 #15 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790 #16 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #17 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #18 0x556f96c2bad7 in subselect_single_select_engine::exec() /10.5/src/sql/item_subselect.cc:4097 #19 0x556f96c060a5 in Item_subselect::exec() /10.5/src/sql/item_subselect.cc:799 #20 0x556f96c0cfae in Item_singlerow_subselect::val_decimal(my_decimal*) /10.5/src/sql/item_subselect.cc:1504 #21 0x556f96755fb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302 #22 0x556f96c655ac in Item_sum_avg::reset_field() /10.5/src/sql/item_sum.cc:2927 #23 0x556f962d53ea in init_tmptable_sum_functions /10.5/src/sql/sql_select.cc:26624 #24 0x556f962ba89d in end_unique_update /10.5/src/sql/sql_select.cc:22903 #25 0x556f962ef72a in AGGR_OP::put_record(bool) /10.5/src/sql/sql_select.cc:30115 #26 0x556f96302546 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m5-10.5-bld/sql/mariadbd+0x1c8c546) #27 0x556f962abe4a in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:20974 #28 0x556f962ae8c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503 #29 0x556f962ad7fc in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21312 #30 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790 #31 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #32 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #33 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911 #34 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #35 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #36 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #37 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #38 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #39 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #40 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #41 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #42 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #43 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477 #44 0x7fb3945bf352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)   0x6290002a32a0 is located 160 bytes inside of 16536-byte region [0x6290002a3200,0x6290002a7298) freed by thread T27 here: #0 0x7fb39500b40f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122 #1 0x556f9753683b in ut_allocator<unsigned char, true>::deallocate(unsigned char*, unsigned long) /10.5/src/storage/innobase/include/ut0new.h:426 #2 0x556f9767b31d in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.5/src/storage/innobase/mem/mem0mem.cc:416 #3 0x556f977e71f8 in mem_heap_free /10.5/src/storage/innobase/include/mem0mem.inl:417 #4 0x556f977ee0a9 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.5/src/storage/innobase/row/row0mysql.cc:136 #5 0x556f9787de00 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3094 #6 0x556f9788e198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544 #7 0x556f97447470 in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.5/src/storage/innobase/handler/ha_innodb.cc:9177 #8 0x556f9744845f in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9381 #9 0x556f969d5e35 in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185 #10 0x556f96e44647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519 #11 0x556f95f8b6a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80 #12 0x556f962ad413 in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21292 #13 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790 #14 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #15 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #16 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911 #17 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #18 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #19 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #20 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #21 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #22 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #23 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #24 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #25 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #26 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477   previously allocated by thread T27 here: #0 0x7fb39500b808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144 #1 0x556f974970ce in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /10.5/src/storage/innobase/include/ut0new.h:377 #2 0x556f9767a5c1 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.5/src/storage/innobase/mem/mem0mem.cc:277 #3 0x556f978661f4 in mem_heap_create_func /10.5/src/storage/innobase/include/mem0mem.inl:375 #4 0x556f9787d6c6 in row_sel_store_mysql_field /10.5/src/storage/innobase/row/row0sel.cc:3035 #5 0x556f9787e7e1 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3181 #6 0x556f9788e198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544 #7 0x556f97444ba8 in ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function) /10.5/src/storage/innobase/handler/ha_innodb.cc:8911 #8 0x556f97447e49 in ha_innobase::index_first(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9280 #9 0x556f974483d9 in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9373 #10 0x556f969d5c2c in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185 #11 0x556f96e44647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519 #12 0x556f95f8b6a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80 #13 0x556f962b3eba in join_init_read_record(st_join_table*) /10.5/src/sql/sql_select.cc:22238 #14 0x556f962acfce in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21270 #15 0x556f962aaead in do_select /10.5/src/sql/sql_select.cc:20790 #16 0x556f96234cab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #17 0x556f962322b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #18 0x556f962366fa 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*) /10.5/src/sql/sql_select.cc:4911 #19 0x556f96206aec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #20 0x556f96169bd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #21 0x556f961582ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #22 0x556f961751ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #23 0x556f9614a120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #24 0x556f96146a88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #25 0x556f965ae4a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #26 0x556f965ade09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #27 0x556f97237643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #28 0x7fb3949ee608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477   Thread T27 created by T0 here: #0 0x7fb394f38815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208 #1 0x556f97233218 in my_thread_create /10.5/src/storage/perfschema/my_thread.h:52 #2 0x556f97237a36 in pfs_spawn_thread_v1 /10.5/src/storage/perfschema/pfs.cc:2252 #3 0x556f95e23b7c in inline_mysql_thread_create /10.5/src/include/mysql/psi/mysql_thread.h:1323 #4 0x556f95e3a718 in create_thread_to_handle_connection(CONNECT*) /10.5/src/sql/mysqld.cc:6108 #5 0x556f95e3ad97 in create_new_thread(CONNECT*) /10.5/src/sql/mysqld.cc:6167 #6 0x556f95e3b0f4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.5/src/sql/mysqld.cc:6232 #7 0x556f95e3bd56 in handle_connections_sockets() /10.5/src/sql/mysqld.cc:6359 #8 0x556f95e39f25 in mysqld_main(int, char**) /10.5/src/sql/mysqld.cc:5754 #9 0x556f95e2219c in main /10.5/src/sql/main.cc:25 #10 0x7fb3944c4082 in __libc_start_main ../csu/libc-start.c:308   SUMMARY: AddressSanitizer: heap-use-after-free /10.5/src/strings/dtoa.c:1378 in my_strtod_int Shadow bytes around the buggy address: 0x0c528004c600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c620: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c630: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c528004c650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 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 ==1243048==ABORTING --source include/have_innodb.inc   CREATE TABLE t0 (b text) engine=innodb ; INSERT INTO t0 VALUES ( '86' ),( '-36' );   SELECT 5 FROM t0 GROUP BY b HAVING AVG (( SELECT 3 FROM t0 HAVING t0.b)); DROP TABLE t0; Version: '10.5.26-MariaDB-debug-log' revision 46d95ae265bc08063d9636309901e7603b2a9229 ==1243283==ERROR: AddressSanitizer: heap-use-after-free on address 0x6290002a32a0 at pc 0x56099a42b77a bp 0x7fb1a3aa5970 sp 0x7fb1a3aa5960 READ of size 1 at 0x6290002a32a0 thread T25 #0 0x56099a42b779 in internal_str2dec /10.5/src/strings/decimal.c:801 #1 0x5609991f416c in str2my_decimal(unsigned int, char const*, unsigned long, charset_info_st const*, my_decimal*, char const**) /10.5/src/sql/my_decimal.cc:256 #2 0x560998b4fb11 in Value_source::Converter_str2my_decimal::Converter_str2my_decimal(unsigned int, charset_info_st const*, char const*, unsigned long, my_decimal*) /10.5/src/sql/field.h:275 #3 0x560998b4fcb3 in Value_source::Converter_str2my_decimal_with_warn::Converter_str2my_decimal_with_warn(THD*, Value_source::Warn_filter, unsigned int, charset_info_st const*, char const*, unsigned long, my_decimal*) /10.5/src/sql/field.h:327 #4 0x560998db3b59 in Field_blob::val_decimal(my_decimal*) /10.5/src/sql/field.cc:8765 #5 0x560998e78d5f in Item_field::val_decimal_result(my_decimal*) /10.5/src/sql/item.cc:3464 #6 0x560998ea47d9 in Item_ref::val_decimal(my_decimal*) /10.5/src/sql/item.cc:8673 #7 0x560998b9bfb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302 #8 0x560998edc876 in Arg_comparator::compare_decimal() /10.5/src/sql/item_cmpfunc.cc:867 #9 0x560998f2365b in Arg_comparator::compare() /10.5/src/sql/item_cmpfunc.h:117 #10 0x560998ee904e in Item_func_ne::val_int() /10.5/src/sql/item_cmpfunc.cc:1835 #11 0x5609986fc2d3 in end_send /10.5/src/sql/sql_select.cc:22473 #12 0x5609986f48c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503 #13 0x5609986f318a in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21273 #14 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790 #15 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #16 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #17 0x560999071ad7 in subselect_single_select_engine::exec() /10.5/src/sql/item_subselect.cc:4097 #18 0x56099904c0a5 in Item_subselect::exec() /10.5/src/sql/item_subselect.cc:799 #19 0x560999052fae in Item_singlerow_subselect::val_decimal(my_decimal*) /10.5/src/sql/item_subselect.cc:1504 #20 0x560998b9bfb1 in VDec::VDec(Item*) /10.5/src/sql/sql_type.cc:302 #21 0x5609990ab5ac in Item_sum_avg::reset_field() /10.5/src/sql/item_sum.cc:2927 #22 0x56099871b3ea in init_tmptable_sum_functions /10.5/src/sql/sql_select.cc:26624 #23 0x56099870089d in end_unique_update /10.5/src/sql/sql_select.cc:22903 #24 0x56099873572a in AGGR_OP::put_record(bool) /10.5/src/sql/sql_select.cc:30115 #25 0x560998748546 in AGGR_OP::put_record() (/home/alice/am/_depot/m-branch/m5-10.5-bld/sql/mariadbd+0x1c8c546) #26 0x5609986f1e4a in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:20974 #27 0x5609986f48c5 in evaluate_join_record /10.5/src/sql/sql_select.cc:21503 #28 0x5609986f37fc in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21312 #29 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790 #30 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #31 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #32 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911 #33 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #34 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #35 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #36 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #37 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #38 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #39 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #40 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #41 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #42 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477 #43 0x7fb1bab35352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)   0x6290002a32a0 is located 160 bytes inside of 16536-byte region [0x6290002a3200,0x6290002a7298) freed by thread T25 here: #0 0x7fb1bb58140f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:122 #1 0x56099997c83b in ut_allocator<unsigned char, true>::deallocate(unsigned char*, unsigned long) /10.5/src/storage/innobase/include/ut0new.h:426 #2 0x560999ac131d in mem_heap_block_free(mem_block_info_t*, mem_block_info_t*) /10.5/src/storage/innobase/mem/mem0mem.cc:416 #3 0x560999c2d1f8 in mem_heap_free /10.5/src/storage/innobase/include/mem0mem.inl:417 #4 0x560999c340a9 in row_mysql_prebuilt_free_blob_heap(row_prebuilt_t*) /10.5/src/storage/innobase/row/row0mysql.cc:136 #5 0x560999cc3e00 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3094 #6 0x560999cd4198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544 #7 0x56099988d470 in ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) /10.5/src/storage/innobase/handler/ha_innodb.cc:9177 #8 0x56099988e45f in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9381 #9 0x560998e1be35 in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185 #10 0x56099928a647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519 #11 0x5609983d16a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80 #12 0x5609986f3413 in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21292 #13 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790 #14 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #15 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #16 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911 #17 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #18 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #19 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #20 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #21 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #22 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #23 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #24 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #25 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #26 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477   previously allocated by thread T25 here: #0 0x7fb1bb581808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144 #1 0x5609998dd0ce in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /10.5/src/storage/innobase/include/ut0new.h:377 #2 0x560999ac05c1 in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /10.5/src/storage/innobase/mem/mem0mem.cc:277 #3 0x560999cac1f4 in mem_heap_create_func /10.5/src/storage/innobase/include/mem0mem.inl:375 #4 0x560999cc36c6 in row_sel_store_mysql_field /10.5/src/storage/innobase/row/row0sel.cc:3035 #5 0x560999cc47e1 in row_sel_store_mysql_rec /10.5/src/storage/innobase/row/row0sel.cc:3181 #6 0x560999cd4198 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /10.5/src/storage/innobase/row/row0sel.cc:5544 #7 0x56099988aba8 in ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function) /10.5/src/storage/innobase/handler/ha_innodb.cc:8911 #8 0x56099988de49 in ha_innobase::index_first(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9280 #9 0x56099988e3d9 in ha_innobase::rnd_next(unsigned char*) /10.5/src/storage/innobase/handler/ha_innodb.cc:9373 #10 0x560998e1bc2c in handler::ha_rnd_next(unsigned char*) /10.5/src/sql/handler.cc:3185 #11 0x56099928a647 in rr_sequential(READ_RECORD*) /10.5/src/sql/records.cc:519 #12 0x5609983d16a5 in READ_RECORD::read_record() /10.5/src/sql/records.h:80 #13 0x5609986f9eba in join_init_read_record(st_join_table*) /10.5/src/sql/sql_select.cc:22238 #14 0x5609986f2fce in sub_select(JOIN*, st_join_table*, bool) /10.5/src/sql/sql_select.cc:21270 #15 0x5609986f0ead in do_select /10.5/src/sql/sql_select.cc:20790 #16 0x56099867acab in JOIN::exec_inner() /10.5/src/sql/sql_select.cc:4654 #17 0x5609986782b9 in JOIN::exec() /10.5/src/sql/sql_select.cc:4434 #18 0x56099867c6fa 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*) /10.5/src/sql/sql_select.cc:4911 #19 0x56099864caec in handle_select(THD*, LEX*, select_result*, unsigned long) /10.5/src/sql/sql_select.cc:449 #20 0x5609985afbd5 in execute_sqlcom_select /10.5/src/sql/sql_parse.cc:6425 #21 0x56099859e2ed in mysql_execute_command(THD*) /10.5/src/sql/sql_parse.cc:4030 #22 0x5609985bb1ac in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /10.5/src/sql/sql_parse.cc:8221 #23 0x560998590120 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /10.5/src/sql/sql_parse.cc:1892 #24 0x56099858ca88 in do_command(THD*) /10.5/src/sql/sql_parse.cc:1376 #25 0x5609989f44a5 in do_handle_one_connection(CONNECT*, bool) /10.5/src/sql/sql_connect.cc:1417 #26 0x5609989f3e09 in handle_one_connection /10.5/src/sql/sql_connect.cc:1319 #27 0x56099967d643 in pfs_spawn_thread /10.5/src/storage/perfschema/pfs.cc:2201 #28 0x7fb1baf64608 in start_thread /build/glibc-LcI20x/glibc-2.31/nptl/pthread_create.c:477   Thread T25 created by T0 here: #0 0x7fb1bb4ae815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208 #1 0x560999679218 in my_thread_create /10.5/src/storage/perfschema/my_thread.h:52 #2 0x56099967da36 in pfs_spawn_thread_v1 /10.5/src/storage/perfschema/pfs.cc:2252 #3 0x560998269b7c in inline_mysql_thread_create /10.5/src/include/mysql/psi/mysql_thread.h:1323 #4 0x560998280718 in create_thread_to_handle_connection(CONNECT*) /10.5/src/sql/mysqld.cc:6108 #5 0x560998280d97 in create_new_thread(CONNECT*) /10.5/src/sql/mysqld.cc:6167 #6 0x5609982810f4 in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /10.5/src/sql/mysqld.cc:6232 #7 0x560998281d56 in handle_connections_sockets() /10.5/src/sql/mysqld.cc:6359 #8 0x56099827ff25 in mysqld_main(int, char**) /10.5/src/sql/mysqld.cc:5754 #9 0x56099826819c in main /10.5/src/sql/main.cc:25 #10 0x7fb1baa3a082 in __libc_start_main ../csu/libc-start.c:308   SUMMARY: AddressSanitizer: heap-use-after-free /10.5/src/strings/decimal.c:801 in internal_str2dec Shadow bytes around the buggy address: 0x0c528004c600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c620: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c630: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c528004c640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c528004c650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c528004c6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 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 ==1243283==ABORTING

            People

              psergei Sergei Petrunia
              Xin Wen Xin Wen
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.