[MDEV-24839] Assertion `!table->file->keyread_enabled()' failed in close_thread_table or memory leak in JOIN_CACHE::alloc_buffer Created: 2021-02-11  Updated: 2021-11-03  Resolved: 2021-11-03

Status: Closed
Project: MariaDB Server
Component/s: Server
Affects Version/s: 10.2
Fix Version/s: 10.2.38, 10.3.29, 10.4.19, 10.5.10

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: regression


 Description   

CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2);
 
CREATE TABLE t2 (b INT PRIMARY KEY);
INSERT INTO t2 VALUES (3),(4);
 
CREATE TABLE t3 (c INT);
INSERT INTO t3 VALUES (1),(5);
 
--error ER_SUBQUERY_NO_1_ROW
SELECT 1 IN (SELECT (SELECT 2 FROM t1 WHERE t3.c IN (SELECT 1 FROM t2)) AS f FROM t3 GROUP BY f);
 
# Cleanup
DROP TABLE t1, t2, t3;

10.2 afc5bac4

mysqld: /data/src/10.2/sql/sql_base.cc:873: void close_thread_table(THD*, TABLE**): Assertion `!table->file->keyread_enabled()' failed.
210211  2:07:01 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f4a4923bf36 in __GI___assert_fail (assertion=0x55b27c033bc8 "!table->file->keyread_enabled()", file=0x55b27c033788 "/data/src/10.2/sql/sql_base.cc", line=873, function=0x55b27c033ba0 "void close_thread_table(THD*, TABLE**)") at assert.c:101
#8  0x000055b27b55d39b in close_thread_table (thd=0x7f4a28000d90, table_ptr=0x7f4a28000e70) at /data/src/10.2/sql/sql_base.cc:873
#9  0x000055b27b55d29b in close_thread_tables (thd=0x7f4a28000d90) at /data/src/10.2/sql/sql_base.cc:859
#10 0x000055b27b5db675 in mysql_execute_command (thd=0x7f4a28000d90) at /data/src/10.2/sql/sql_parse.cc:6074
#11 0x000055b27b5e0091 in mysql_parse (thd=0x7f4a28000d90, rawbuf=0x7f4a280126f8 "SELECT 1 IN (SELECT (SELECT 2 FROM t1 WHERE t3.c IN (SELECT 1 FROM t2)) AS f FROM t3 GROUP BY f)", length=96, parser_state=0x7f4a4433b5f0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7763
#12 0x000055b27b5ce36a in dispatch_command (command=COM_QUERY, thd=0x7f4a28000d90, packet=0x7f4a28008b51 "", packet_length=96, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1827
#13 0x000055b27b5cce65 in do_command (thd=0x7f4a28000d90) at /data/src/10.2/sql/sql_parse.cc:1381
#14 0x000055b27b7278ba in do_handle_one_connection (connect=0x55b27d4ee980) at /data/src/10.2/sql/sql_connect.cc:1336
#15 0x000055b27b72761f in handle_one_connection (arg=0x55b27d4ee980) at /data/src/10.2/sql/sql_connect.cc:1241
#16 0x000055b27bf4fbae in pfs_spawn_thread (arg=0x55b27d4d1d90) at /data/src/10.2/storage/perfschema/pfs.cc:1869
#17 0x00007f4a4974b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#18 0x00007f4a49327293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Reproducible with at least MyISAM, InnoDB, Aria.
Non-debug build doesn't crash, but it indicates not freed memory:

Warning: Memory not freed: 72

This is further confirmed by a non-debug ASAN build:

10.2 afc5bac4 ASAN non-debug

==3001883==ERROR: LeakSanitizer: detected memory leaks
 
Direct leak of 262152 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x556596c806f4 in JOIN_CACHE::alloc_buffer() /data/src/10.2/sql/sql_join_cache.cc:939
    #3 0x556596c8250f in JOIN_CACHE::init(bool) /data/src/10.2/sql/sql_join_cache.cc:1071
    #4 0x55659698c206 in JOIN::init_join_caches() /data/src/10.2/sql/sql_select.cc:1182
    #5 0x556596a27261 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:2253
    #6 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #7 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #8 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #9 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #10 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #11 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #12 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #13 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #14 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #15 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #16 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #17 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #18 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #19 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #20 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #21 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #22 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #23 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #24 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #25 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #26 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #27 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #28 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #29 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #30 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #31 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #32 0x556596a2fd87 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*) /data/src/10.2/sql/sql_select.cc:3837
    #33 0x556596a32752 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.2/sql/sql_select.cc:361
    #34 0x5565968c156b in execute_sqlcom_select /data/src/10.2/sql/sql_parse.cc:6248
 
Indirect leak of 78632 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x55659743cf08 in hp_get_new_block /data/src/10.2/storage/heap/hp_block.c:81
    #3 0x55659743c8d8 in hp_find_free_hash /data/src/10.2/storage/heap/hp_write.c:411
    #4 0x55659743c8d8 in hp_write_key /data/src/10.2/storage/heap/hp_write.c:214
    #5 0x55659743b1c5 in heap_write /data/src/10.2/storage/heap/hp_write.c:52
    #6 0x55659742aa2e in ha_heap::write_row(unsigned char*) /data/src/10.2/storage/heap/ha_heap.cc:240
    #7 0x5565969bf8bf in handler::ha_write_tmp_row(unsigned char*) /data/src/10.2/sql/sql_class.h:5913
    #8 0x5565969bf8bf in end_sj_materialize(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:11018
    #9 0x556596976e7b in evaluate_join_record /data/src/10.2/sql/sql_select.cc:19079
    #10 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #11 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #12 0x556596cc8922 in join_tab_execution_startup(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:5427
    #13 0x556596995fb8 in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18848
    #14 0x556596995fb8 in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #15 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #16 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #17 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #18 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #19 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #20 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #21 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #22 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #23 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #24 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #25 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #26 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #27 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #28 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #29 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #30 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #31 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #32 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #33 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #34 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #35 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #36 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #37 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #38 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
 
Indirect leak of 52424 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x55659743cf08 in hp_get_new_block /data/src/10.2/storage/heap/hp_block.c:81
    #3 0x55659743b5e6 in next_free_record_pos /data/src/10.2/storage/heap/hp_write.c:165
    #4 0x55659743b5e6 in heap_write /data/src/10.2/storage/heap/hp_write.c:45
    #5 0x55659742aa2e in ha_heap::write_row(unsigned char*) /data/src/10.2/storage/heap/ha_heap.cc:240
    #6 0x5565969bf8bf in handler::ha_write_tmp_row(unsigned char*) /data/src/10.2/sql/sql_class.h:5913
    #7 0x5565969bf8bf in end_sj_materialize(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:11018
    #8 0x556596976e7b in evaluate_join_record /data/src/10.2/sql/sql_select.cc:19079
    #9 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #10 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #11 0x556596cc8922 in join_tab_execution_startup(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:5427
    #12 0x556596995fb8 in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18848
    #13 0x556596995fb8 in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #14 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #15 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #16 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #17 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #18 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #19 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #20 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #21 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #22 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #23 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #24 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #25 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #26 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #27 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #28 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #29 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #30 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #31 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #32 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #33 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #34 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #35 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #36 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #37 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #38 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
 
Indirect leak of 4688 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x556597f7892b in alloc_root /data/src/10.2/mysys/my_alloc.c:243
    #3 0x556597f78d5f in multi_alloc_root /data/src/10.2/mysys/my_alloc.c:312
    #4 0x5565969c240d in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:16797
    #5 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #6 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #7 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #8 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #9 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #10 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #11 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #12 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #13 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #14 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #15 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #16 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #17 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #18 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #19 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #20 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #21 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #22 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #23 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #24 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #25 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #26 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #27 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #28 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #29 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #30 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #31 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #32 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #33 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #34 0x556596a2fd87 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*) /data/src/10.2/sql/sql_select.cc:3837
    #35 0x556596a32752 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.2/sql/sql_select.cc:361
 
Indirect leak of 1512 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x55659743e960 in heap_create /data/src/10.2/storage/heap/hp_create.c:162
    #3 0x55659742d12d in ha_heap::open(char const*, int, unsigned int) /data/src/10.2/storage/heap/ha_heap.cc:105
    #4 0x556596e8ec95 in handler::ha_open(TABLE*, char const*, int, unsigned int) /data/src/10.2/sql/handler.cc:2592
    #5 0x5565969af10e in open_tmp_table(TABLE*) /data/src/10.2/sql/sql_select.cc:17642
    #6 0x5565969c71a4 in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:17510
    #7 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #8 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #9 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #10 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #11 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #12 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #13 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #14 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #15 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #16 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #17 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #18 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #19 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #20 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #21 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #22 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #23 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #24 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #25 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #26 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #27 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #28 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #29 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #30 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #31 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #32 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #33 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #34 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #35 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
 
Indirect leak of 1152 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x556597f7892b in alloc_root /data/src/10.2/mysys/my_alloc.c:243
    #3 0x556597429df3 in Sql_alloc::operator new(unsigned long, st_mem_root*) /data/src/10.2/sql/sql_list.h:45
    #4 0x556597429df3 in heap_create_handler /data/src/10.2/storage/heap/ha_heap.cc:66
    #5 0x556596e87e64 in get_new_handler(TABLE_SHARE*, st_mem_root*, handlerton*) /data/src/10.2/sql/handler.cc:299
    #6 0x5565969c4322 in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:17100
    #7 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #8 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #9 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #10 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #11 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #12 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #13 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #14 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #15 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #16 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #17 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #18 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #19 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #20 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #21 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #22 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #23 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #24 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #25 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #26 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #27 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #28 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #29 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #30 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #31 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #32 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #33 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #34 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #35 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #36 0x556596a2fd87 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*) /data/src/10.2/sql/sql_select.cc:3837
 
Indirect leak of 992 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x556597f7892b in alloc_root /data/src/10.2/mysys/my_alloc.c:243
    #3 0x5565969acb1c in Field::operator new(unsigned long, st_mem_root*) /data/src/10.2/sql/field.h:710
    #4 0x5565969acb1c in Item::create_tmp_field(bool, TABLE*, unsigned int) /data/src/10.2/sql/sql_select.cc:16317
    #5 0x5565969acd17 in Item::create_tmp_field(bool, TABLE*) /data/src/10.2/sql/item.h:1882
    #6 0x5565969acd17 in create_tmp_field_from_item /data/src/10.2/sql/sql_select.cc:16378
    #7 0x5565969c345d in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:16973
    #8 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #9 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #10 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #11 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #12 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #13 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #14 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #15 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #16 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #17 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #18 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #19 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #20 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #21 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #22 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #23 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #24 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #25 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #26 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #27 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #28 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #29 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #30 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #31 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #32 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #33 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #34 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #35 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #36 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #37 0x556596a2fd87 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*) /data/src/10.2/sql/sql_select.cc:3837
 
Indirect leak of 752 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x5565974367ce in heap_open_from_share /data/src/10.2/storage/heap/hp_open.c:33
    #3 0x55659742d237 in ha_heap::open(char const*, int, unsigned int) /data/src/10.2/storage/heap/ha_heap.cc:112
    #4 0x556596e8ec95 in handler::ha_open(TABLE*, char const*, int, unsigned int) /data/src/10.2/sql/handler.cc:2592
    #5 0x5565969af10e in open_tmp_table(TABLE*) /data/src/10.2/sql/sql_select.cc:17642
    #6 0x5565969c71a4 in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:17510
    #7 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #8 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #9 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #10 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #11 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #12 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #13 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #14 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #15 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #16 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #17 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #18 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #19 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #20 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #21 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #22 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #23 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #24 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #25 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #26 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #27 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #28 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #29 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #30 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #31 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #32 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #33 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #34 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
    #35 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
 
Indirect leak of 88 byte(s) in 1 object(s) allocated from:
    #0 0x7f06311d4bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x556597f8d0d6 in my_malloc /data/src/10.2/mysys/my_malloc.c:101
    #2 0x556597f8d4fb in my_strdup /data/src/10.2/mysys/my_malloc.c:241
    #3 0x55659743f345 in heap_create /data/src/10.2/storage/heap/hp_create.c:225
    #4 0x55659742d12d in ha_heap::open(char const*, int, unsigned int) /data/src/10.2/storage/heap/ha_heap.cc:105
    #5 0x556596e8ec95 in handler::ha_open(TABLE*, char const*, int, unsigned int) /data/src/10.2/sql/handler.cc:2592
    #6 0x5565969af10e in open_tmp_table(TABLE*) /data/src/10.2/sql/sql_select.cc:17642
    #7 0x5565969c71a4 in create_tmp_table(THD*, TMP_TABLE_PARAM*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*, bool, bool) /data/src/10.2/sql/sql_select.cc:17510
    #8 0x556596cbcc5b in setup_sj_materialization_part1(st_join_table*) /data/src/10.2/sql/opt_subselect.cc:3855
    #9 0x556596a22365 in make_outerjoin_info /data/src/10.2/sql/sql_select.cc:9859
    #10 0x556596a22365 in JOIN::optimize_inner() /data/src/10.2/sql/sql_select.cc:1664
    #11 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1118
    #12 0x556596a297cd in JOIN::optimize() /data/src/10.2/sql/sql_select.cc:1110
    #13 0x556597116cce in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3837
    #14 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #15 0x556597113e43 in Item_singlerow_subselect::val_int() /data/src/10.2/sql/item_subselect.cc:1329
    #16 0x556596f2d5a4 in Arg_comparator::compare_int_signed() /data/src/10.2/sql/item_cmpfunc.cc:970
    #17 0x556596f2e99e in Arg_comparator::compare() /data/src/10.2/sql/item_cmpfunc.h:87
    #18 0x556596f2e99e in Item_func_eq::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1803
    #19 0x556596ecb771 in Item::val_bool() /data/src/10.2/sql/item.cc:112
    #20 0x556596f33a6a in Item_cond_or::val_int() /data/src/10.2/sql/item_cmpfunc.cc:5107
    #21 0x55659697648e in evaluate_join_record /data/src/10.2/sql/sql_select.cc:18954
    #22 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18859
    #23 0x55659699611d in sub_select(JOIN*, st_join_table*, bool) /data/src/10.2/sql/sql_select.cc:18794
    #24 0x556596a2e6ae in do_select /data/src/10.2/sql/sql_select.cc:18403
    #25 0x556596a2e6ae in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3642
    #26 0x556596a2f99d in JOIN::exec() /data/src/10.2/sql/sql_select.cc:3437
    #27 0x55659711708a in subselect_single_select_engine::exec() /data/src/10.2/sql/item_subselect.cc:3920
    #28 0x556597115801 in Item_subselect::exec() /data/src/10.2/sql/item_subselect.cc:722
    #29 0x556597116228 in Item_in_subselect::val_bool() /data/src/10.2/sql/item_subselect.cc:1773
    #30 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1677
    #31 0x556596f532b6 in Item_in_optimizer::val_int() /data/src/10.2/sql/item_cmpfunc.cc:1585
    #32 0x556596ebb21e in Item::send(Protocol*, String*) /data/src/10.2/sql/item.cc:6938
    #33 0x55659670629f in Protocol::send_result_set_row(List<Item>*) /data/src/10.2/sql/protocol.cc:992
    #34 0x556596832e1f in select_send::send_data(List<Item>&) /data/src/10.2/sql/sql_class.cc:2734
    #35 0x556596a2ee25 in JOIN::exec_inner() /data/src/10.2/sql/sql_select.cc:3518
 
SUMMARY: AddressSanitizer: 402392 byte(s) leaked in 9 allocation(s).

The failure appeared in 10.2 after this commit:

commit 26f5033555a9bb33d3d8b68e2d766e274bec28ba (origin/bb-10.2-varun)
Author: Varun Gupta
Date:   Sun Jan 31 19:55:07 2021 +0530
 
    MDEV-23449: alias do not exist and a query do not report an error

It hasn't been merged up yet, thus other versions are not affected so far.



 Comments   
Comment by Elena Stepanova [ 2021-10-14 ]

Not reproducible on current branches

Comment by Elena Stepanova [ 2021-11-03 ]

The failure was replaced by MDEV-24925 with this commit

commit 7e9a6b7f09bfb00e781d8ca63dfe7701900c368b
Author: Varun Gupta
Date:   Mon Feb 15 16:28:44 2021 +0530
 
    MDEV-24779: main.subselect fails in buildbot with --ps-protocol

and MDEV-24925 was fixed some time after that.

Generated at Thu Feb 08 09:33:04 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.