Bug #4839 | CREATE VIEW with EXISTS (SELECT UNION SELECT) crashes | ||
---|---|---|---|
Submitted: | 31 Jul 2004 16:52 | Modified: | 24 Aug 2004 8:58 |
Reporter: | Georg Richter | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.1 | OS: | |
Assigned to: | Oleksandr Byelkin | CPU Architecture: | Any |
[31 Jul 2004 16:52]
Georg Richter
[6 Aug 2004 3:44]
MySQL Verification Team
Verified against latest BK 5.0 tree: backtrace: /home/miguel/dbs/5.0/libexec/mysqld: ready for connections. Version: '5.0.2-alpha-debug-log' socket: '/tmp/mysql.sock' port: 3306 [New Thread 8838064 (LWP 14317)] mysqld: sql_lex.cc:1490: void st_select_lex::print_limit(THD*, String*): Assertion `select_limit == 1L && offset_limit == 0L' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 8838064 (LWP 14317)] 0x00aac402 in ?? () (gdb) backtrace full #0 0x00aac402 in ?? () No symbol table info available. #1 0x00714e49 in raise () from /lib/tls/libc.so.6 No symbol table info available. #2 0x00716872 in abort () from /lib/tls/libc.so.6 No symbol table info available. #3 0x0070e718 in __assert_fail () from /lib/tls/libc.so.6 No symbol table info available. #4 0x0810d0c3 in st_select_lex::print_limit (this=0x9f98098, thd=0x9f89060, str=0x86c140) at sql_lex.cc:1490 item = (class Item_subselect *) 0x9f98650 #5 0x081f1e95 in st_select_lex::print (this=0x9f98098, thd=0x9f89060, str=0x86c140) at sql_select.cc:11742 first = false it = {<base_list_iterator> = {list = 0x9f98104, el = 0x863929c, prev = 0x0, current = 0x0}, <No data fields>} item = (class Item *) 0x0 cur_where = (class Item *) 0x0 cur_having = (class Item *) 0x0 #6 0x0810ceed in st_select_lex_unit::print (this=0x9f981c8, str=0x86c140) at sql_lex.cc:1451 sl = (SELECT_LEX *) 0x9f98098 #7 0x081685b3 in subselect_union_engine::print (this=0x0, str=0x0) at item_subselect.cc:1440 No locals. #8 0x0816434b in Item_subselect::print (this=0x9f98650, str=0x86c140) at item_subselect.cc:251 No locals. #9 0x08164fbd in Item_exists_subselect::print (this=0x0, str=0x86c140) at item_subselect.cc:489 No locals. ---Type <return> to continue, or q <return> to quit--- #10 0x0810f055 in Item::print_item_w_name (this=0x9f98650, str=0x86c140) at item.cc:98 No locals. #11 0x081f1d06 in st_select_lex::print (this=0x9f89228, thd=0x9f89060, str=0x86c140) at sql_select.cc:11682 first = false it = {<base_list_iterator> = {list = 0x9f89294, el = 0x9f986f0, prev = 0x0, current = 0x0}, <No data fields>} item = (class Item *) 0x9f98650 cur_where = (class Item *) 0x9f98650 cur_having = (class Item *) 0x9f98650 #12 0x0810ceed in st_select_lex_unit::print (this=0x9f890a0, str=0x86c140) at sql_lex.cc:1451 sl = (SELECT_LEX *) 0x9f89228 #13 0x0829e2d0 in mysql_register_view (thd=0x9f89060, view=0x9f97f90, mode=VIEW_CREATE_NEW) at sql_view.cc:382 sql_mode = 0 buff = "select exists(select 1 AS `1`", '\0' <repeats 207 times>, "\001\000\000\000\002", '\0' <repeats 179 times>, "�\206\000_P\b\213\213G\b�\206\000�\t\005\000\000\000�\t�\t_P\bh�206\000.\211G\b\213\000\000\000P�206\000T�206\000X�206\000T�206\000X�206\000\\�206", '\0' <repeats 17 times>, "�\t\v\000\000\000`P\b�\206\000\215\210G\bl\000\000\000�206\000�206\000�206\000�206\000�206\000�206", '\0' <repeats 17 times>, "\006", '\0' <repeats 11 times>... str = {Ptr = 0x86c160 "select exists(select 1 AS `1`", str_length = 29, Alloced_length = 4096, alloced = false, str_charset = 0x861c840} md5 = "4�206\0008�206\000<�206\000\214c\b", '\0' <repeats 16 times> can_be_merged = false dir_buff = '\0' <repeats 316 times>, "\027\207\t߶I\bX\207\t\230�206\000�\030\b\214c\b\210�206\000I\177\tI\177\tP\206\t\230\200\tt\220\t�\b\206\tI\177\t)\000\000\000`\000\000\000\000\000\000\206\t�\206\000]�025\b\206\t`\000\000\000@�\bI\177\t \000\000\000\214c\b�\206\000 \000\000\000)\177\t\214c\b\b�206\000'�020\b/..\00---Type <return> to continue, or q <return> to quit--- 0\0207\t@�206\000\202\237G\b�\206\000@�206\000\001\000\000\005\000\000\000\0207\t\005\000\000\000h�206\000�235G\b�\206\000@�206\0004�... file_buff = '\0' <repeats 332 times>, "ž\206\000¾\206\000�\206\000�206\000\025\234G\b�000\000\000\206\000\206\000\206\000\206\000\206\000\206\000\005\000\000\000�\206\000_P\bF�206\000\003\000\000\0005\000\000\000~\206\000ľ\206\000>\206\000ľ\206\000Ⱦ\206\000\206\000\000\000\000\000/tmp/", '\0' <repeats 11 times>, "�\206\000@�206\000_P\b�237G\b@�206\000�\206", '\0' <repeats 40 times> dir = {str = 0x0, length = 0} file = {str = 0x0, length = 0} _db_func_ = 0x0 _db_file_ = 0x0 _db_level_ = 0 _db_framep_ = (char **) 0x0 #14 0x0829e034 in mysql_create_view (thd=0x9f89060, mode=VIEW_CREATE_NEW) at sql_view.cc:289 priv = 15 db = 0x9f84468 "test1" it = {<base_list_iterator> = {list = 0x9f89294, el = 0x863929c, prev = 0x0, current = 0x0}, <No data fields>} item = (class Item *) 0x0 lex = (LEX *) 0x9f89094 link_to_local = true view = (TABLE_LIST *) 0x9f97f90 tables = (TABLE_LIST *) 0x0 tbl = (TABLE_LIST *) 0xf select_lex = (SELECT_LEX *) 0x9f89228 unit = (SELECT_LEX_UNIT *) 0x9f890a0 ---Type <return> to continue, or q <return> to quit--- res = 0 _db_func_ = 0x9f89060 "�L\bc\bc\b(L\b�230\t" _db_file_ = 0x9f97f90 "" _db_level_ = 167290220 _db_framep_ = (char **) 0x86d208 #15 0x081ac065 in mysql_execute_command (thd=0x9f89060) at sql_parse.cc:3821 res = 0 lex = (LEX *) 0x9f89094 first_table = (TABLE_LIST *) 0x9f97f90 all_tables = (TABLE_LIST *) 0x9f97f90 select_lex = (SELECT_LEX *) 0x9f89228 unit = (SELECT_LEX_UNIT *) 0x9f890a0 _db_func_ = 0x92d8c9 "�213��e\2117�\220\220\220e\203=\f" _db_file_ = 0x0 _db_level_ = 0 _db_framep_ = (char **) 0xffffffff #16 0x081ad3f0 in mysql_parse (thd=0x9f89060, inBuf=0x9f97f10 "CREATE VIEW v2 AS SELECT EXISTS (SELECT 1 UNION SELECT 2)", length=167284884) at sql_parse.cc:4428 lex = (LEX *) 0x9f89094 _db_func_ = 0x9d <Address 0x9d out of bounds> _db_file_ = 0x0 _db_level_ = 8836976 _db_framep_ = (char **) 0x86d774 #17 0x081a57fb in dispatch_command (command=COM_QUERY, thd=0x9f89060, ---Type <return> to continue, or q <return> to quit--- packet=0x9f93eb1 "CREATE VIEW v2 AS SELECT EXISTS (SELECT 1 UNION SELECT 2)", packet_length=58) at sql_parse.cc:1486 net = (NET *) 0x9f896d8 error = false _db_func_ = 0x8641fe0 "" _db_file_ = 0x86dbb0 "�206" _db_level_ = 8837160 _db_framep_ = (char **) 0x847be77 start_of_query = 167284832 #18 0x081a50f0 in do_command (thd=0x9f89060) at sql_parse.cc:1296 packet = 0x9f93eb0 "\003CREATE VIEW v2 AS SELECT EXISTS (SELECT 1 UNION SELECT 2)" old_timeout = 30 packet_length = 58 net = (NET *) 0x9f896d8 command = COM_QUERY _db_func_ = 0x817f09b "\213]\211��\211�203�\211]\213]\b\211\034$�212" _db_file_ = 0x9f8a3e4 "H\t" _db_level_ = 8192 _db_framep_ = (char **) 0x1000 #19 0x081a4561 in handle_one_connection (arg=0x0) at sql_parse.cc:1032 error = 14317 net = (NET *) 0x9f896d8 thd = (class THD *) 0x9f89060 launch_time = 0 ---Type <return> to continue, or q <return> to quit--- set = {__val = {0 <repeats 32 times>}} #20 0x0092798c in start_thread () from /lib/tls/libpthread.so.0 No symbol table info available. #21 0x007a916a in clone () from /lib/tls/libc.so.6 No symbol table info available.
[23 Aug 2004 12:22]
Oleksandr Byelkin
ChangeSet 1.1726 04/08/23 13:19:59 bell@sanja.is.com.ua +3 -0 fixed LIMIT clause printing (BUG#4839)
[24 Aug 2004 8:58]
Oleksandr Byelkin
Thank you for bug report. Bug is fixed, patch is pushed in our source repository