==26562== Thread 14:
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AB90: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:22981)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x64463A: JOIN::optimize() (sql_select.cc:1682)
|
==26562== by 0x649254: 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:3040)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AC47: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:22994)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x64463A: JOIN::optimize() (sql_select.cc:1682)
|
==26562== by 0x649254: 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:3040)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AE0C: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:23018)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x64463A: JOIN::optimize() (sql_select.cc:1682)
|
==26562== by 0x649254: 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:3040)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AB90: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:22981)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x66FB1D: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:18968)
|
==26562== by 0x6488A8: JOIN::exec() (sql_select.cc:2804)
|
==26562== by 0x6492E6: 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:3054)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AC47: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:22994)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x66FB1D: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:18968)
|
==26562== by 0x6488A8: JOIN::exec() (sql_select.cc:2804)
|
==26562== by 0x6492E6: 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:3054)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
==26562== Conditional jump or move depends on uninitialised value(s)
|
==26562== at 0x67AE0C: test_if_cheaper_ordering(st_join_table const*, st_order*, TABLE*, Bitmap<64u>, int, unsigned long long, int*, int*, unsigned long long*, unsigned int*, unsigned int*) (sql_select.cc:23018)
|
==26562== by 0x66EEBF: test_if_skip_sort_order(st_join_table*, st_order*, unsigned long long, bool, Bitmap<64u> const*) (sql_select.cc:18625)
|
==26562== by 0x66FB1D: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:18968)
|
==26562== by 0x6488A8: JOIN::exec() (sql_select.cc:2804)
|
==26562== by 0x6492E6: 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:3054)
|
==26562== by 0x63FD3E: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:316)
|
==26562== by 0x61825A: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4622)
|
==26562== by 0x610D1C: mysql_execute_command(THD*) (sql_parse.cc:2182)
|
==26562== by 0x61AAC2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5737)
|
==26562== by 0x60E28F: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1055)
|
==26562== by 0x60D546: do_command(THD*) (sql_parse.cc:794)
|
==26562== by 0x715A44: do_handle_one_connection(THD*) (sql_connect.cc:1253)
|
==26562== by 0x71542F: handle_one_connection (sql_connect.cc:1168)
|
==26562== by 0xBB7C10: pfs_spawn_thread (pfs.cc:1015)
|
==26562== by 0x5458EFB: start_thread (pthread_create.c:304)
|
==26562== by 0x611AF4C: clone (clone.S:112)
|
|
I took a moment to analyze this bug and checked the difference between mariadb 5.5 and mysql 5.6. It looks like an edge case of sorting by the same column twice. test_if_order_by_key function returns that there should be 2 key parts used (1 from index, 1 from primary key) even though the index has only 1 part same as pk. This problem doesn't occur in mysql 5.6 because the duplication in orderby is removed by function duplicate_order() in sql/sql_optimizer.cc. I think it would be easiest to backport that function from mysql.