| Bug #1172 | Some types of join queries with "force index" option cause server crash | ||
|---|---|---|---|
| Submitted: | 1 Sep 2003 6:38 | Modified: | 3 Sep 2003 15:03 |
| Reporter: | Sergey Petrunia | ||
| Status: | Closed | ||
| Category: | Server | Severity: | S2 (Serious) |
| Version: | 4.1.0-alpha | OS: | Linux (Linux, Win2k) |
| Assigned to: | Sergei Golubchik | Target Version: | |
[1 Sep 2003 6:38]
Sergey Petrunia
[1 Sep 2003 7:25]
Miguel Solorzano
Thanks you for the bug report. I was able to repeat on Win2k
with server built with latest bk 4.1 tree.
Below call stack:
mysqld.exe!get_quick_keys(st_qsel_param * param=0x1cb2e2b0, QUICK_SELECT *
quick=0x032a6e50, st_key_part * key=0x03285010, SEL_ARG * key_tree=0x00000000, char *
min_key=0x1cb2e3e8, unsigned int min_key_flag=0, char * max_key=0x1cb2eae6, unsigned int
max_key_flag=0) Line 2244 + 0x3 C++
mysqld.exe!get_quick_keys(st_qsel_param * param=0x1cb2e2b0, QUICK_SELECT *
quick=0x032a6e50, st_key_part * key=0x03285010, SEL_ARG * key_tree=0x032850a8, char *
min_key=0x1cb2e3e8, unsigned int min_key_flag=0, char * max_key=0x1cb2eae6, unsigned int
max_key_flag=0) Line 2247 + 0x28 C++
mysqld.exe!get_quick_select(st_qsel_param * param=0x1cb2e2b0, unsigned int idx=0, SEL_ARG
* key_tree=0x032850a8) Line 2215 + 0x3c C++
mysqld.exe!SQL_SELECT::test_quick_select(unsigned long keys_to_use=1, unsigned __int64
prev_tables=2, unsigned long limit=4294967295, int force_quick_range=0) Line 727 +
0x27 C++
mysqld.exe!make_join_select(JOIN * join=0x03296410, SQL_SELECT * select=0x03297710, Item
* cond=0x03296090) Line 3329 + 0x62 C++
mysqld.exe!JOIN::optimize() Line 629 + 0x1d C++
mysqld.exe!mysql_select(THD * thd=0x0120ca28, Item * * * rref_pointer_array=0x0120ce7c,
st_table_list * tables=0x03295b88, unsigned int wild_num=1, List<Item> & fields={...},
Item * conds=0x03296090, unsigned int og_num=0, st_order * order=0x00000000, st_order *
group=0x00000000, Item * having=0x00000000, st_order * proc_param=0x00000000, unsigned
long select_options=84448260, select_result * result=0x03296128, st_select_lex_unit *
unit=0x0120ccac, st_select_lex * select_lex=0x0120cd94, int tables_and_fields_initied=0)
Line 1527 + 0x8 C++
mysqld.exe!mysql_explain_select(THD * thd=0x0120ca28, st_select_lex *
select_lex=0x0120cd94, const char * type=0x0077fd44, select_result * result=0x03296128)
Line 8797 + 0x84 C++
mysqld.exe!mysql_explain_union(THD * thd=0x0120ca28, st_select_lex_unit *
unit=0x0120ccac, select_result * result=0x03296128) Line 8767 + 0xe1 C++
mysqld.exe!mysql_execute_command(THD * thd=0x0120ca28) Line 1798 + 0x17 C++
mysqld.exe!mysql_parse(THD * thd=0x0120ca28, char * inBuf=0x03295a58, unsigned int
length=105) Line 3723 + 0x9 C++
mysqld.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x0120ca28,
char * packet=0x032919f1, unsigned int packet_length=106) Line 1335 + 0x1d C++
mysqld.exe!do_command(THD * thd=0x0120ca28) Line 1126 + 0x37 C++
mysqld.exe!handle_one_connection(void * arg=0x0120ca28) Line 905 + 0x9 C++
mysqld.exe!pthread_start(void * param=0x03284e90) Line 63 + 0x7 C
mysqld.exe!_threadstart(void * ptd=0x0328eb98) Line 173 + 0xd C
KERNEL32.DLL!7969987c()
[3 Sep 2003 15:03]
Sergei Golubchik
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
yes, Sergey - you were right.
Fixed in 4.0.16 and 4.1.1
