[MDEV-32457] MSAN / Valgrind errors in compare_cost upon JOIN with sequence Created: 2023-10-12  Updated: 2023-10-12

Status: Open
Project: MariaDB Server
Component/s: Optimizer, Sequences
Affects Version/s: 11.0, 11.1, 11.2
Fix Version/s: 11.0, 11.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Unresolved Votes: 0
Labels: None


 Description   

CREATE SEQUENCE s;
CREATE TABLE t (a INT);
INSERT INTO t VALUES (1),(2); # Optional, fails either way
SELECT * FROM t STRAIGHT_JOIN s;
 
# Cleanup
DROP TABLE t;
DROP SEQUENCE s;

11.0 5e2d08b5 Valgrind

==2877770== Thread 6:
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBEE307: compare_cost(double, double) (sql_select.cc:112)
==2877770==    by 0xBB5BE9: st_join_table::estimate_scan_time() (sql_select.cc:15923)
==2877770==    by 0xB99365: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:5958)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770==    by 0x124ADED: pfs_spawn_thread (pfs.cc:2201)
==2877770==    by 0x522EFD3: start_thread (pthread_create.c:442)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBEE31E: compare_cost(double, double) (sql_select.cc:112)
==2877770==    by 0xBB5BE9: st_join_table::estimate_scan_time() (sql_select.cc:15923)
==2877770==    by 0xB99365: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:5958)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770==    by 0x124ADED: pfs_spawn_thread (pfs.cc:2201)
==2877770==    by 0x522EFD3: start_thread (pthread_create.c:442)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBEE3D7: compare_cost(double, double) (sql_select.cc:113)
==2877770==    by 0xBB5BE9: st_join_table::estimate_scan_time() (sql_select.cc:15923)
==2877770==    by 0xB99365: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:5958)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770==    by 0x124ADED: pfs_spawn_thread (pfs.cc:2201)
==2877770==    by 0x522EFD3: start_thread (pthread_create.c:442)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBEE3F4: compare_cost(double, double) (sql_select.cc:113)
==2877770==    by 0xBB5BE9: st_join_table::estimate_scan_time() (sql_select.cc:15923)
==2877770==    by 0xB99365: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:5958)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770==    by 0x124ADED: pfs_spawn_thread (pfs.cc:2201)
==2877770==    by 0x522EFD3: start_thread (pthread_create.c:442)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xB83A5B: COST_ADD(double, double) (optimizer_costs.h:132)
==2877770==    by 0xBA48C9: best_access_path(JOIN*, st_join_table*, unsigned long long, POSITION const*, unsigned int, bool, double, POSITION*, POSITION*) (sql_select.cc:9527)
==2877770==    by 0xBA8B4B: get_costs_for_tables(JOIN*, unsigned long long, unsigned int, double, Json_writer_object*, st_join_table**, SORT_POSITION**, unsigned long long*, bool) (sql_select.cc:11128)
==2877770==    by 0xBA944C: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11385)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xB83B64: COST_ADD(double, double) (optimizer_costs.h:134)
==2877770==    by 0xBA48C9: best_access_path(JOIN*, st_join_table*, unsigned long long, POSITION const*, unsigned int, bool, double, POSITION*, POSITION*) (sql_select.cc:9527)
==2877770==    by 0xBA8B4B: get_costs_for_tables(JOIN*, unsigned long long, unsigned int, double, Json_writer_object*, st_join_table**, SORT_POSITION**, unsigned long long*, bool) (sql_select.cc:11128)
==2877770==    by 0xBA944C: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11385)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBA4B0D: best_access_path(JOIN*, st_join_table*, unsigned long long, POSITION const*, unsigned int, bool, double, POSITION*, POSITION*) (sql_select.cc:9560)
==2877770==    by 0xBA8B4B: get_costs_for_tables(JOIN*, unsigned long long, unsigned int, double, Json_writer_object*, st_join_table**, SORT_POSITION**, unsigned long long*, bool) (sql_select.cc:11128)
==2877770==    by 0xBA944C: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11385)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xB83AE7: COST_ADD(double, double) (optimizer_costs.h:133)
==2877770==    by 0xBA9825: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11434)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xB83B64: COST_ADD(double, double) (optimizer_costs.h:134)
==2877770==    by 0xBA9825: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11434)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBA9A03: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11461)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBA9BC8: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11499)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBA9C7F: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11520)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBAA45A: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11658)
==2877770==    by 0xBAA208: best_extension_by_limited_search(JOIN*, unsigned long long, unsigned int, double, double, unsigned int, unsigned int, unsigned long long*) (sql_select.cc:11611)
==2877770==    by 0xBA6ACC: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10356)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770== 
==2877770== Conditional jump or move depends on uninitialised value(s)
==2877770==    at 0xBA6B17: greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int) (sql_select.cc:10367)
==2877770==    by 0xBA5ADB: choose_plan(JOIN*, unsigned long long, TABLE_LIST*) (sql_select.cc:9875)
==2877770==    by 0xB9A1BA: make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) (sql_select.cc:6127)
==2877770==    by 0xB8CF42: JOIN::optimize_inner() (sql_select.cc:2609)
==2877770==    by 0xB8A662: JOIN::optimize() (sql_select.cc:1935)
==2877770==    by 0xB967AD: 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*) (sql_select.cc:5176)
==2877770==    by 0xB84DE7: handle_select(THD*, LEX*, select_result*, unsigned long long) (sql_select.cc:626)
==2877770==    by 0xB2842C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:6288)
==2877770==    by 0xB1F2C1: mysql_execute_command(THD*, bool) (sql_parse.cc:3959)
==2877770==    by 0xB2D311: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:8030)
==2877770==    by 0xB18D9E: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) (sql_parse.cc:1894)
==2877770==    by 0xB176F7: do_command(THD*, bool) (sql_parse.cc:1407)
==2877770==    by 0xD1448F: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1416)
==2877770==    by 0xD14204: handle_one_connection (sql_connect.cc:1318)
==2877770==    by 0x124ADED: pfs_spawn_thread (pfs.cc:2201)
==2877770==    by 0x522EFD3: start_thread (pthread_create.c:442)
==2877770== 

11.2 872ed5342d8f1ec02f8f8a7a25a606e4ff512234 MSAN

==2878803==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x559ec1b88718 in compare_cost(double, double) /data/src/11.2-msan/sql/sql_select.cc:113:3
    #1 0x559ec1b88718 in st_join_table::estimate_scan_time() /data/src/11.2-msan/sql/sql_select.cc:15988:3
    #2 0x559ec1adf674 in make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) /data/src/11.2-msan/sql/sql_select.cc:6019:10
    #3 0x559ec1ac7c9d in JOIN::optimize_inner() /data/src/11.2-msan/sql/sql_select.cc:2620:7
    #4 0x559ec1aaac08 in JOIN::optimize() /data/src/11.2-msan/sql/sql_select.cc:1944:10
    #5 0x559ec1a8b659 in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/11.2-msan/sql/sql_select.cc:5237:19
    #6 0x559ec1a8a2d6 in handle_select(THD*, LEX*, select_result*, unsigned long long) /data/src/11.2-msan/sql/sql_select.cc:628:10
    #7 0x559ec19601bd in execute_sqlcom_select(THD*, TABLE_LIST*) /data/src/11.2-msan/sql/sql_parse.cc:6064:12
    #8 0x559ec193ea6a in mysql_execute_command(THD*, bool) /data/src/11.2-msan/sql/sql_parse.cc:3955:12
    #9 0x559ec192578a in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2-msan/sql/sql_parse.cc:7810:18
    #10 0x559ec1919cd7 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2-msan/sql/sql_parse.cc:1893:7
    #11 0x559ec1927b80 in do_command(THD*, bool) /data/src/11.2-msan/sql/sql_parse.cc:1406:17
    #12 0x559ec1fdfadf in do_handle_one_connection(CONNECT*, bool) /data/src/11.2-msan/sql/sql_connect.cc:1445:11
    #13 0x559ec1fdf0b5 in handle_one_connection /data/src/11.2-msan/sql/sql_connect.cc:1347:5
    #14 0x559ec33efaba in pfs_spawn_thread /data/src/11.2-msan/storage/perfschema/pfs.cc:2201:3
    #15 0x7fa38fad8fd3 in start_thread nptl/./nptl/pthread_create.c:442:8
    #16 0x7fa38fb595bb in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
 
  Memory was marked as uninitialized
    #0 0x559ec130d9ce in __msan_allocated_memory (/mnt8t/src/11.2-msan/sql/mariadbd+0x7c49ce)
    #1 0x559ec276f0b2 in handler::ha_open(TABLE*, char const*, int, unsigned int, st_mem_root*, List<String>*) /data/src/11.2-msan/sql/handler.cc:3550:20
 
SUMMARY: MemorySanitizer: use-of-uninitialized-value /data/src/11.2-msan/sql/sql_select.cc:113:3 in compare_cost(double, double)

Reproducible with at least InnoDB, MyISAM, Aria.


Generated at Thu Feb 08 10:31:30 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.