|
We discussed this issue at length with psergey. By his expert opinion, as well as by my numerous experiments, the provided query does not get the server crashed this way.
However, I was able to reproduce the problem with a different test case. I got a crash on a 10.0.21 build, although it is a matter of luck – another build with same cmake options on the same sources does not crash; however, valgrind warnings are reproducible reliably. They are different for 10.0.21 and the current 10.0 tree, but they are still there. Below are all variations that I got.
Important note: my test case only works (fails) with optimizer_use_condition_selectivity >= 3. The initial crash happened with optimizer_use_condition_selectivity=5, so it fits. However, the stack trace in the comment above was presumably received with optimizer_use_condition_selectivity=2. While fixing this issue please check if it's possible to get the problem with optimizer_use_condition_selectivity=2, and if so, please make sure that your fix handles it as well.
|
Test case
|
--source include/have_innodb.inc
|
|
set optimizer_use_condition_selectivity=3;
|
set use_stat_tables = preferably;
|
|
CREATE TABLE t1 (f1 TEXT) ENGINE=InnoDB;
|
INSERT INTO t1 VALUES ('foo'),('bar');
|
ANALYZE TABLE t1;
|
SELECT * FROM t1 WHERE f1 <> 'qux';
|
Here is an example of a stack trace on 10.0.21. This one is from a non-simplified case, but I had the same with the simplified one, just don't have that stack trace anymore.
|
Crash on 10.0.21 debug build
|
# 2016-02-25T05:59:25 [18553] #3 <signal handler called>
|
# 2016-02-25T05:59:25 [18553] #4 0x00007fd47681ff9b in __memmove_ssse3 () from /lib64/libc.so.6
|
# 2016-02-25T05:59:25 [18553] #5 0x000000000070acd6 in well_formed_copy_nchars (to_cs=0x16d9660 <my_charset_latin1>, to=0x7fd38f392730 "", to_length=38571, from_cs=0x16d9660 <my_charset_latin1>, from=0x7fd4766a4e6b "", from_length=38571, nchars=38571, well_formed_error_pos=0x7fd4766a44f0, cannot_convert_error_pos=0x7fd4766a44e8, from_end_pos=0x7fd4766a44e0) at /src/10.0-bug/sql/sql_string.cc:981
|
# 2016-02-25T05:59:25 [18553] #6 0x00000000008401ba in Field_blob::store (this=0x7fd38f2b3e88, from=0x7fd4766a4e6b "", length=38571, cs=0x16d9660 <my_charset_latin1>) at /src/10.0-bug/sql/field.cc:7384
|
# 2016-02-25T05:59:25 [18553] #7 0x0000000000840d24 in Field_blob::set_key_image (this=0x7fd38f2b3e88, buff=0x7fd4766a4e69 "\253\226", length=0) at /src/10.0-bug/sql/field.cc:7583
|
# 2016-02-25T05:59:25 [18553] #8 0x000000000096aae7 in store_key_image_to_rec (field=0x7fd38f2b3e88, ptr=0x7fd4766a4e69 "\253\226", len=0) at /src/10.0-bug/sql/opt_range.cc:3798
|
# 2016-02-25T05:59:25 [18553] #9 0x0000000000704d77 in get_column_range_cardinality (field=0x7fd38f2b3e88, min_endp=0x7fd4766a46b0, max_endp=0x0, range_flag=6) at /src/10.0-bug/sql/sql_statistics.cc:3571
|
# 2016-02-25T05:59:25 [18553] #10 0x0000000000969be1 in records_in_column_ranges (param=0x7fd4766a4d10, idx=0, tree=0x7fd38f2ff4b0) at /src/10.0-bug/sql/opt_range.cc:3421
|
# 2016-02-25T05:59:25 [18553] #11 0x000000000096a46b in calculate_cond_selectivity_for_table (thd=0x7fd3a47cfb70, table=0x7fd38f2c6070, cond=0x7fd38f24f330) at /src/10.0-bug/sql/opt_range.cc:3656
|
# 2016-02-25T05:59:25 [18553] #12 0x00000000006aa01c in make_join_statistics (join=0x7fd38f2261c8, tables_list=..., conds=0x7fd38f24f330, keyuse_array=0x7fd38f2264e0) at /src/10.0-bug/sql/sql_select.cc:3964
|
# 2016-02-25T05:59:25 [18553] #13 0x00000000006a0f82 in JOIN::optimize_inner (this=0x7fd38f2261c8) at /src/10.0-bug/sql/sql_select.cc:1337
|
# 2016-02-25T05:59:25 [18553] #14 0x000000000069fea6 in JOIN::optimize (this=0x7fd38f2261c8) at /src/10.0-bug/sql/sql_select.cc:1022
|
# 2016-02-25T05:59:25 [18553] #15 0x00000000006a7c42 in mysql_select (thd=0x7fd3a47cfb70, rref_pointer_array=0x7fd3a47d3e38, tables=0x7fd38f228ba0, wild_num=0, fields=..., conds=0x7fd38f24f330, og_num=8, order=0x7fd38f24fe10, group=0x7fd38f24f578, having=0x7fd38f24fb88, proc_param=0x0, select_options=2147781376, result=0x7fd38f2261a8, unit=0x7fd3a47d34d0, select_lex=0x7fd3a47d3bc0) at /src/10.0-bug/sql/sql_select.cc:3294
|
# 2016-02-25T05:59:25 [18553] #16 0x000000000069e0df in handle_select (thd=0x7fd3a47cfb70, lex=0x7fd3a47d3408, result=0x7fd38f2261a8, setup_tables_done_option=0) at /src/10.0-bug/sql/sql_select.cc:373
|
# 2016-02-25T05:59:25 [18553] #17 0x0000000000672b0f in execute_sqlcom_select (thd=0x7fd3a47cfb70, all_tables=0x7fd38f228ba0) at /src/10.0-bug/sql/sql_parse.cc:5274
|
# 2016-02-25T05:59:25 [18553] #18 0x000000000066afad in mysql_execute_command (thd=0x7fd3a47cfb70) at /src/10.0-bug/sql/sql_parse.cc:2562
|
# 2016-02-25T05:59:25 [18553] #19 0x0000000000675635 in mysql_parse (thd=0x7fd3a47cfb70, rawbuf=0x7fd38f247088 "SELECT -122 AS ifield1, alias1.`col_datetime_nokey` AS field1, alias1.`col_varchar_key` AS cfield1, CONCAT( alias1.`col_varchar_key`, alias1.`col_varchar_key` ) AS cfield2 FROM ( ( SELECT SQ1_alias1.* FROM `A` AS SQ1_alias1 ) AS alias1, `view_B` AS alias2 ) WHERE alias1.`col_varchar_nokey` <> 's' AND ( alias1.`col_varchar_key` LIKE '%a%' OR alias1.`col_varchar_key` LIKE '%b%') GROUP BY ifield1, field1, cfield1, cfield2 HAVING ifield1 < 4 ORDER BY field1, cfield1, cfield2, ifield1 LIMIT 1 OFFSET 2 /* QUERY_NO 1023 CON_ID 13 */ /* TRANSFORM_OUTCOME_UNORDERED_MATCH */", length=571, parser_state=0x7fd4766a86a0) at /src/10.0-bug/sql/sql_parse.cc:6531
|
# 2016-02-25T05:59:25 [18553] #20 0x0000000000668217 in dispatch_command (command=COM_QUERY, thd=0x7fd3a47cfb70, packet=0x7fd3a47e1831 " SELECT -122 AS ifield1, alias1.`col_datetime_nokey` AS field1, alias1.`col_varchar_key` AS cfield1, CONCAT( alias1.`col_varchar_key`, alias1.`col_varchar_key` ) AS cfield2 FROM ( ( SELECT SQ1_alias1.* FROM `A` AS SQ1_alias1 ) AS alias1, `view_B` AS alias2 ) WHERE alias1.`col_varchar_nokey` <> 's' AND ( alias1.`col_varchar_key` LIKE '%a%' OR alias1.`col_varchar_key` LIKE '%b%') GROUP BY ifield1, field1, cfield1, cfield2 HAVING ifield1 < 4 ORDER BY field1, cfield1, cfield2, ifield1 LIMIT 1 OFFSET 2 /* QUERY_NO 1023 CON_ID 13 */ /* TRANSFORM_OUTCOME_UNORDERED_MATCH */", packet_length=572) at /src/10.0-bug/sql/sql_parse.cc:1308
|
# 2016-02-25T05:59:25 [18553] #21 0x0000000000667504 in do_command (thd=0x7fd3a47cfb70) at /src/10.0-bug/sql/sql_parse.cc:999
|
# 2016-02-25T05:59:25 [18553] #22 0x0000000000784765 in do_handle_one_connection (thd_arg=0x7fd3a49dce70) at /src/10.0-bug/sql/sql_connect.cc:1378
|
# 2016-02-25T05:59:25 [18553] #23 0x00000000007844d7 in handle_one_connection (arg=0x7fd3a49dce70) at /src/10.0-bug/sql/sql_connect.cc:1293
|
# 2016-02-25T05:59:25 [18553] #24 0x00007fd4784440a4 in start_thread () from /lib64/libpthread.so.0
|
# 2016-02-25T05:59:25 [18553] #25 0x00007fd4767d804d in clone () from /lib64/libc.so.6
|
|
Valgrind warnings on 10.0.21 (commit 0403790722e3941779ccea26e85fcd818e2320b5)
|
==12344== Thread 19:
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x83FE6E: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7329)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344== by 0x668216: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1308)
|
==12344== by 0x667503: do_command(THD*) (sql_parse.cc:999)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x840017: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7358)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344== by 0x668216: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1308)
|
==12344== by 0x667503: do_command(THD*) (sql_parse.cc:999)
|
==12344==
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x5C4E13: String::alloc(unsigned int) (sql_string.h:274)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344== by 0x668216: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1308)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x708D9D: String::real_alloc(unsigned int) (sql_string.cc:37)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x708DC4: String::real_alloc(unsigned int) (sql_string.cc:38)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x708DE5: String::real_alloc(unsigned int) (sql_string.cc:41)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344== by 0x675634: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6531)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0xE351D4: my_malloc (my_malloc.c:95)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344== by 0x66AFAC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x4C2918D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==12344== by 0xE45F41: sf_malloc (safemalloc.c:115)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344==
|
==12344==
|
==12344== Use of uninitialised value of size 8
|
==12344== at 0xE45FB2: sf_malloc (safemalloc.c:130)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344==
|
==12344== Use of uninitialised value of size 8
|
==12344== at 0xE45FC4: sf_malloc (safemalloc.c:131)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344==
|
==12344==
|
==12344== Use of uninitialised value of size 8
|
==12344== at 0xE45FD6: sf_malloc (safemalloc.c:132)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344==
|
==12344== Use of uninitialised value of size 8
|
==12344== at 0xE45FE8: sf_malloc (safemalloc.c:133)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344== by 0x672B0E: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5274)
|
==12344==
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x4C2F919: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==12344== by 0xE460FE: sf_malloc (safemalloc.c:165)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344==
|
==12344== Conditional jump or move depends on uninitialised value(s)
|
==12344== at 0x4C2F95D: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==12344== by 0xE460FE: sf_malloc (safemalloc.c:165)
|
==12344== by 0xE35200: my_malloc (my_malloc.c:100)
|
==12344== by 0x708E18: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12344== by 0x5C4E2C: String::alloc(unsigned int) (sql_string.h:276)
|
==12344== by 0x840072: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7359)
|
==12344== by 0x840D23: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7583)
|
==12344== by 0x96AAE6: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3798)
|
==12344== by 0x704DFB: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3580)
|
==12344== by 0x969BE0: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3421)
|
==12344== by 0x96A46A: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3656)
|
==12344== by 0x6AA01B: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12344== by 0x6A0F81: JOIN::optimize_inner() (sql_select.cc:1337)
|
==12344== by 0x69FEA5: JOIN::optimize() (sql_select.cc:1022)
|
==12344== by 0x6A7C41: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12344== by 0x69E0DE: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12344==
|
....
|
|
Valgrind warnings on current 10.0 commit 5f2f3c4fa81851b45dcee33601f14e05f6407333
|
==12451== Invalid read of size 1
|
==12451== at 0x4C2FD24: __GI_memmove (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==12451== by 0x70D61D: well_formed_copy_nchars(charset_info_st const*, char*, unsigned int, charset_info_st const*, char const*, unsigned int, unsigned int, char const**, char const**, char const**) (sql_string.cc:981)
|
==12451== by 0x843F75: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7413)
|
==12451== by 0x844ADF: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7612)
|
==12451== by 0x96F1B1: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3821)
|
==12451== by 0x70720B: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3702)
|
==12451== by 0x96E2A2: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3444)
|
==12451== by 0x96EB35: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3679)
|
==12451== by 0x6ABFFB: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12451== by 0x6A2F61: JOIN::optimize_inner() (sql_select.cc:1339)
|
==12451== by 0x6A1E85: JOIN::optimize() (sql_select.cc:1024)
|
==12451== by 0x6A9C21: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12451== by 0x6A0030: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
==12451== by 0x6748E3: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5304)
|
==12451== by 0x66CCCC: mysql_execute_command(THD*) (sql_parse.cc:2562)
|
==12451== by 0x67746A: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6565)
|
==12451== Address 0x166455ff is 1 bytes before a block of size 42,524 alloc'd
|
==12451== at 0x4C291E0: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==12451== by 0xE4CEED: sf_malloc (safemalloc.c:115)
|
==12451== by 0xE3C1D4: my_malloc (my_malloc.c:100)
|
==12451== by 0x70B760: String::real_alloc(unsigned int) (sql_string.cc:46)
|
==12451== by 0x5C697A: String::alloc(unsigned int) (sql_string.h:276)
|
==12451== by 0x843E2E: Field_blob::store(char const*, unsigned int, charset_info_st const*) (field.cc:7388)
|
==12451== by 0x844ADF: Field_blob::set_key_image(unsigned char const*, unsigned int) (field.cc:7612)
|
==12451== by 0x96F1B1: store_key_image_to_rec(Field*, unsigned char*, unsigned int) (opt_range.cc:3821)
|
==12451== by 0x70720B: get_column_range_cardinality(Field*, st_key_range*, st_key_range*, unsigned int) (sql_statistics.cc:3702)
|
==12451== by 0x96E2A2: records_in_column_ranges(PARAM*, unsigned int, SEL_ARG*) (opt_range.cc:3444)
|
==12451== by 0x96EB35: calculate_cond_selectivity_for_table(THD*, TABLE*, Item*) (opt_range.cc:3679)
|
==12451== by 0x6ABFFB: make_join_statistics(JOIN*, List<TABLE_LIST>&, Item*, st_dynamic_array*) (sql_select.cc:3964)
|
==12451== by 0x6A2F61: JOIN::optimize_inner() (sql_select.cc:1339)
|
==12451== by 0x6A1E85: JOIN::optimize() (sql_select.cc:1024)
|
==12451== by 0x6A9C21: mysql_select(THD*, Item***, 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*) (sql_select.cc:3294)
|
==12451== by 0x6A0030: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:373)
|
|