Details
Description
The problem appeared on 5.3 with the following revision:
revno: 3628 revision-id: igor@askmonty.org-20130225031611-jk8lyhhjazov66qc committer: Igor Babaev <igor@askmonty.org> branch nick: maria-5.3-mdev4177 timestamp: Sun 2013-02-24 19:16:11 -0800 message: Fixed bug mdev-4177
Valgrind warnings on 5.3:
==18014== Thread 4: ==18014== Conditional jump or move depends on uninitialised value(s) ==18014== at 0x58913E: Item_field::replace_equal_field(unsigned char*) (item.cc:5078) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== Use of uninitialised value of size 8 ==18014== at 0x589144: Item_field::replace_equal_field(unsigned char*) (item.cc:5079) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== Conditional jump or move depends on uninitialised value(s) ==18014== at 0x589162: Item_field::replace_equal_field(unsigned char*) (item.cc:5080) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== Use of uninitialised value of size 8 ==18014== at 0x58917D: Item_field::replace_equal_field(unsigned char*) (item.cc:5080) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== Conditional jump or move depends on uninitialised value(s) ==18014== at 0x5AFE78: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:339) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== by 0x548DE99: start_thread (pthread_create.c:308) ==18014== by 0x5F9ACBC: clone (clone.S:112) ==18014== Conditional jump or move depends on uninitialised value(s) ==18014== at 0x5AFE8C: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:348) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== by 0x548DE99: start_thread (pthread_create.c:308) ==18014== by 0x5F9ACBC: clone (clone.S:112) ==18014== Use of uninitialised value of size 8 ==18014== at 0x5AFE4A: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== by 0x548DE99: start_thread (pthread_create.c:308) ==18014== by 0x5F9ACBC: clone (clone.S:112) ==18014== Use of uninitialised value of size 8 ==18014== at 0x57D335: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== by 0x548DE99: start_thread (pthread_create.c:308) ==18014== Use of uninitialised value of size 8 ==18014== at 0x58909A: Item_field::replace_equal_field(unsigned char*) (item.cc:5066) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231) ==18014== Use of uninitialised value of size 8 ==18014== at 0x5890AE: Item_field::replace_equal_field(unsigned char*) (item.cc:5066) ==18014== by 0x57D35F: Item::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item.cc:647) ==18014== by 0x5AFE6E: Item_func::transform(Item* (Item::*)(unsigned char*), unsigned char*) (item_func.cc:338) ==18014== by 0x72A85F: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12147) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x72A4B5: substitute_for_best_equal_field(st_join_table*, Item*, COND_EQUAL*, void*) (sql_select.cc:12063) ==18014== by 0x70DF46: JOIN::optimize() (sql_select.cc:1237) ==18014== by 0x7144E6: 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:2976) ==18014== by 0x70AF26: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:288) ==18014== by 0x6963DE: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5172) ==18014== by 0x68D19D: mysql_execute_command(THD*) (sql_parse.cc:2305) ==18014== by 0x698E58: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6173) ==18014== by 0x68A941: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1243) ==18014== by 0x689BDF: do_command(THD*) (sql_parse.cc:923) ==18014== by 0x68663A: handle_one_connection (sql_connect.cc:1231)
revision-id: sergii@pisem.net-20130411173539-tzwl0193224o7t7u revno: 3652 branch-nick: 5.3 BUILD/compile-pentium-valgrind-max-no-ndb
Server crash on 5.5:
#2 0x00000000007c6d68 in handle_fatal_signal (sig=11) at /data/bzr/5.5/sql/signal_handler.cc:262 #3 <signal handler called> #4 0x00000000007e3090 in Item_field::replace_equal_field (this=0x7f7aac008b08, arg=0x7f7ab5396080 "@\027\002\254z\177") at /data/bzr/5.5/sql/item.cc:5434 #5 0x00000000007d63d9 in Item::transform (this=0x7f7aac008b08, transformer=&virtual Item::replace_equal_field(unsigned char*), arg=0x7f7ab5396080 "@\027\002\254z\177") at /data/bzr/5.5/sql/item.cc:697 #6 0x00000000008214d6 in Item_func::transform (this=0x7f7aac008ca0, transformer=&virtual table offset 816, argument=0x7f7ab5396080 "@\027\002\254z\177") at /data/bzr/5.5/sql/item_func.cc:361 #7 0x000000000065cdb7 in substitute_for_best_equal_field (context_tab=0x1, cond=0x7f7aac008ca0, cond_equal=0x7f7aac0201a0, table_join_idx=0x7f7aac021948) at /data/bzr/5.5/sql/sql_select.cc:12425 #8 0x000000000065ca0b in substitute_for_best_equal_field (context_tab=0x1, cond=0x7f7aac009130, cond_equal=0x7f7aac009220, table_join_idx=0x7f7aac021948) at /data/bzr/5.5/sql/sql_select.cc:12341 #9 0x000000000065ca0b in substitute_for_best_equal_field (context_tab=0x1, cond=0x7f7aac009268, cond_equal=0x7f7aac0203b8, table_join_idx=0x7f7aac021948) at /data/bzr/5.5/sql/sql_select.cc:12341 #10 0x000000000065ca0b in substitute_for_best_equal_field (context_tab=0x1, cond=0x7f7aac0202c8, cond_equal=0x7f7aac0203b8, table_join_idx=0x7f7aac021948) at /data/bzr/5.5/sql/sql_select.cc:12341 #11 0x000000000064060c in JOIN::optimize (this=0x7f7aac0204c0) at /data/bzr/5.5/sql/sql_select.cc:1288 #12 0x00000000006469e1 in mysql_select (thd=0x27b0820, rref_pointer_array=0x27b3828, tables=0x7f7aac007750, wild_num=1, fields=..., conds=0x7f7aac0202c8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f7aac0204a0, unit=0x27b2ef8, select_lex=0x27b35d0) at /data/bzr/5.5/sql/sql_select.cc:3048 #13 0x000000000063d5ea in handle_select (thd=0x27b0820, lex=0x27b2e48, result=0x7f7aac0204a0, setup_tables_done_option=0) at /data/bzr/5.5/sql/sql_select.cc:318 #14 0x000000000061643d in execute_sqlcom_select (thd=0x27b0820, all_tables=0x7f7aac007750) at /data/bzr/5.5/sql/sql_parse.cc:4641 #15 0x000000000060ee8c in mysql_execute_command (thd=0x27b0820) at /data/bzr/5.5/sql/sql_parse.cc:2195 #16 0x0000000000618cdc in mysql_parse (thd=0x27b0820, rawbuf=0x7f7aac0074c8 "SELECT * FROM t1, t2 WHERE c = a AND ( 0 OR ( b BETWEEN 45 AND 300 OR a > 45 AND a < 100 ) AND b = c )", length=102, parser_state=0x7f7ab5397500) at /data/bzr/5.5/sql/sql_parse.cc:5759 #17 0x000000000060c3dc in dispatch_command (command=COM_QUERY, thd=0x27b0820, packet=0x28a5c41 "SELECT * FROM t1, t2 WHERE c = a AND ( 0 OR ( b BETWEEN 45 AND 300 OR a > 45 AND a < 100 ) AND b = c )", packet_length=102) at /data/bzr/5.5/sql/sql_parse.cc:1068 #18 0x000000000060b61d in do_command (thd=0x27b0820) at /data/bzr/5.5/sql/sql_parse.cc:794 #19 0x000000000071092d in do_handle_one_connection (thd_arg=0x27b0820) at /data/bzr/5.5/sql/sql_connect.cc:1266 #20 0x0000000000710314 in handle_one_connection (arg=0x27b0820) at /data/bzr/5.5/sql/sql_connect.cc:1181 #21 0x000000000096c0b8 in pfs_spawn_thread (arg=0x284ea70) at /data/bzr/5.5/storage/perfschema/pfs.cc:1015 #22 0x00007f7ac0a84e9a in start_thread (arg=0x7f7ab5398700) at pthread_create.c:308 #23 0x00007f7abfd78cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #24 0x0000000000000000 in ?? ()
revision-id: knielsen@knielsen-hq.org-20130422142239-e1b8ly4fsw30i2c5 revno: 3734 branch-nick: 5.5 BUILD/compile-pentium-debug-max-no-ndb
Test case:
CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM; INSERT INTO t1 VALUES (7,1); CREATE TABLE t2 (c INT) ENGINE=MyISAM; INSERT INTO t2 VALUES (0),(8); SELECT * FROM t1, t2 WHERE c = a AND ( 0 OR ( b BETWEEN 45 AND 300 OR a > 45 AND a < 100 ) AND b = c );
EXPLAIN also fails.
Reproducible with the default optimizer_switch as well as with all OFF values.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
See also
MDEV-4274which might be related since it came with the same change.