Details
Description
memory leak
Gliffy Diagrams
Attachments
- bugTest.txt
- 2 kB
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
As I suspected it is creating a temporary table problem.
4 0x0000000000ce56b6 in alloc_root (mem_root=0x7ffff1828838, length=520) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c:159
(gdb) frame 5
#5 0x000000000067691a in Sql_alloc::operator new[] (size=520, mem_root=0x7ffff1828838) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_list.h:41
(gdb) frame 6
#6 0x000000000065e69b in create_tmp_table (thd=0x7ffff2262000, param=0x7ffff1b81a78, fields=..., group=0x0, distinct=false, save_sum_fields=true, select_options=2416188160, rows_limit=18446744073709551615, table_alias=0x7ffff181e5b8 "tt0000", do_not_open=true, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:14919
(gdb) p thd->query()
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `Statement' value
warning: can't find linker symbol for virtual table for `Statement' value
$1 = 0x7ffff1892b18 "SELECT COUNT(*) as `f00` INTO lResult FROM `tt0000` WHERE `tt0000`.`f0` = NAME_CONST('p0',1)"
(gdb) frame 7
#7 0x00000000006bf4ae in select_union::create_result_table (this=0x7ffff1b81a58, thd_arg=0x7ffff2262000, column_types=0x7ffff1963740, is_union_distinct=false, options=2416188160, alias=0x7ffff181e5b8 "tt0000", bit_fields_as_long=false, create_table=false, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_union.cc:158
(gdb) where
#0 0x00007ffff6bccf79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff6bd0388 in __GI_abort () at abort.c:89
#2 0x00007ffff6bc5e36 in __assert_fail_base (fmt=0x7ffff6d17718 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xef2410 "mem_root->memused < 2*1024*1024", file=file@entry=0xef2380 "/home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c", line=line@entry=159, function=function@entry=0xef24c4 <__PRETTY_FUNCTION__.9956> "alloc_root") at assert.c:92
#3 0x00007ffff6bc5ee2 in __GI___assert_fail (assertion=0xef2410 "mem_root->memused < 2*1024*1024", file=0xef2380 "/home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c", line=159, function=0xef24c4 <__PRETTY_FUNCTION__.9956> "alloc_root") at assert.c:101
#4 0x0000000000ce56b6 in alloc_root (mem_root=0x7ffff1828838, length=520) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c:159
#5 0x000000000067691a in Sql_alloc::operator new[] (size=520, mem_root=0x7ffff1828838) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_list.h:41
#6 0x000000000065e69b in create_tmp_table (thd=0x7ffff2262000, param=0x7ffff1b81a78, fields=..., group=0x0, distinct=false, save_sum_fields=true, select_options=2416188160, rows_limit=18446744073709551615, table_alias=0x7ffff181e5b8 "tt0000", do_not_open=true, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:14919
#7 0x00000000006bf4ae in select_union::create_result_table (this=0x7ffff1b81a58, thd_arg=0x7ffff2262000, column_types=0x7ffff1963740, is_union_distinct=false, options=2416188160, alias=0x7ffff181e5b8 "tt0000", bit_fields_as_long=false, create_table=false, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_union.cc:158
#8 0x00000000005e0635 in mysql_derived_prepare (thd=0x7ffff2262000, lex=0x7ffff1904018, derived=0x7ffff18e9418) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_derived.cc:681
#9 0x00000000005df9a9 in mysql_handle_single_derived (lex=0x7ffff1904018, derived=0x7ffff18e9418, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_derived.cc:192
#10 0x00000000006e25c6 in TABLE_LIST::handle_derived (this=0x7ffff18e9418, lex=0x7ffff1904018, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/table.cc:6566
#11 0x00000000005fc848 in st_select_lex::handle_derived (this=0x7ffff19047c0, lex=0x7ffff1904018, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_lex.cc:3553
#12 0x0000000000637738 in JOIN::prepare (this=0x7ffff18ebe18, rref_pointer_array=0x7ffff1904a80, tables_init=0x7ffff18e9418, wild_num=0, conds_init=0x7ffff1845558, og_num=0, order_init=0x0, skip_order_by=false, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x7ffff19047c0, unit_arg=0x7ffff19040c8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:636
#13 0x000000000064090b in mysql_select (thd=0x7ffff2262000, rref_pointer_array=0x7ffff1904a80, tables=0x7ffff18e9418, wild_num=0, fields=..., conds=0x7ffff1845558, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7ffff1814218, unit=0x7ffff19040c8, select_lex=0x7ffff19047c0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:3070
#14 0x0000000000636e29 in handle_select (thd=0x7ffff2262000, lex=0x7ffff1904018, result=0x7ffff1814218, setup_tables_done_option=0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:319
#15 0x000000000060e4e4 in execute_sqlcom_select (thd=0x7ffff2262000, all_tables=0x7ffff18e9418) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:4688
#16 0x0000000000607098 in mysql_execute_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:2233
#17 0x000000000090f27c in sp_instr_stmt::exec_core (this=0x7ffff181c3f8, thd=0x7ffff2262000, nextp=0x7ffff7f82860) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:3220
#18 0x000000000090ea5f in sp_lex_keeper::reset_lex_and_exec_core (this=0x7ffff181c440, thd=0x7ffff2262000, nextp=0x7ffff7f82860, open_tables=false, instr=0x7ffff181c3f8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:2998
#19 0x000000000090efde in sp_instr_stmt::execute (this=0x7ffff181c3f8, thd=0x7ffff2262000, nextp=0x7ffff7f82860) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:3144
#20 0x000000000090ab24 in sp_head::execute (this=0x7ffff1828818, thd=0x7ffff2262000, merge_da_on_success=true) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:1431
#21 0x000000000090be80 in sp_head::execute_function (this=0x7ffff1828818, thd=0x7ffff2262000, argp=0x7ffff187a468, argcount=1, return_value_fld=0x7ffff1821a58) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:1953
#22 0x0000000000845345 in Item_func_sp::execute_impl (this=0x7ffff187a3d8, thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.cc:6872
#23 0x00000000008450d6 in Item_func_sp::execute (this=0x7ffff187a3d8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.cc:6801
#24 0x0000000000847e8a in Item_func_sp::val_int (this=0x7ffff187a3d8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.h:2007
#25 0x00000000007f250c in Item::send (this=0x7ffff187a3d8, protocol=0x7ffff22625c8, buffer=0x7ffff7f83080) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item.cc:6502
#26 0x0000000000564854 in Protocol::send_result_set_row (this=0x7ffff22625c8, row_items=0x7ffff2265b48) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/protocol.cc:903
#27 0x00000000005cd092 in select_send::send_data (this=0x7ffff1844518, items=...) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_class.cc:2370
#28 0x000000000063da24 in JOIN::exec (this=0x7ffff18eac18) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:2278
#29 0x00000000006409c1 in mysql_select (thd=0x7ffff2262000, rref_pointer_array=0x7ffff2265ce8, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7ffff1844518, unit=0x7ffff2265330, select_lex=0x7ffff2265a28) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:3090
#30 0x0000000000636e29 in handle_select (thd=0x7ffff2262000, lex=0x7ffff2265280, result=0x7ffff1844518, setup_tables_done_option=0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:319
#31 0x000000000060e4e4 in execute_sqlcom_select (thd=0x7ffff2262000, all_tables=0x0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:4688
#32 0x0000000000607098 in mysql_execute_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:2233
#33 0x0000000000610cb5 in mysql_parse (thd=0x7ffff2262000, rawbuf=0x7ffff181c038 "SELECT `BugTest`(1)", length=19, parser_state=0x7ffff7f845f0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:5799
#34 0x0000000000604552 in dispatch_command (command=COM_QUERY, thd=0x7ffff2262000, packet=0x7ffff2358001 "", packet_length=19) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:1079
#35 0x00000000006036a2 in do_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:793
Show
Oleksandr Byelkin
added a comment - - edited As I suspected it is creating a temporary table problem.
4 0x0000000000ce56b6 in alloc_root (mem_root=0x7ffff1828838, length=520) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c:159
(gdb) frame 5
#5 0x000000000067691a in Sql_alloc::operator new[] (size=520, mem_root=0x7ffff1828838) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_list.h:41
(gdb) frame 6
#6 0x000000000065e69b in create_tmp_table (thd=0x7ffff2262000, param=0x7ffff1b81a78, fields=..., group=0x0, distinct=false, save_sum_fields=true, select_options=2416188160, rows_limit=18446744073709551615, table_alias=0x7ffff181e5b8 "tt0000", do_not_open=true, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:14919
(gdb) p thd->query()
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `THD' value
warning: can't find linker symbol for virtual table for `Statement' value
warning: can't find linker symbol for virtual table for `Statement' value
$1 = 0x7ffff1892b18 "SELECT COUNT(*) as `f00` INTO lResult FROM `tt0000` WHERE `tt0000`.`f0` = NAME_CONST('p0',1)"
(gdb) frame 7
#7 0x00000000006bf4ae in select_union::create_result_table (this=0x7ffff1b81a58, thd_arg=0x7ffff2262000, column_types=0x7ffff1963740, is_union_distinct=false, options=2416188160, alias=0x7ffff181e5b8 "tt0000", bit_fields_as_long=false, create_table=false, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_union.cc:158
(gdb) where
#0 0x00007ffff6bccf79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff6bd0388 in __GI_abort () at abort.c:89
#2 0x00007ffff6bc5e36 in __assert_fail_base (fmt=0x7ffff6d17718 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xef2410 "mem_root->memused < 2*1024*1024", file=file@entry=0xef2380 "/home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c", line=line@entry=159, function=function@entry=0xef24c4 <__PRETTY_FUNCTION__.9956> "alloc_root") at assert.c:92
#3 0x00007ffff6bc5ee2 in __GI___assert_fail (assertion=0xef2410 "mem_root->memused < 2*1024*1024", file=0xef2380 "/home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c", line=159, function=0xef24c4 <__PRETTY_FUNCTION__.9956> "alloc_root") at assert.c:101
#4 0x0000000000ce56b6 in alloc_root (mem_root=0x7ffff1828838, length=520) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/mysys/my_alloc.c:159
#5 0x000000000067691a in Sql_alloc::operator new[] (size=520, mem_root=0x7ffff1828838) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_list.h:41
#6 0x000000000065e69b in create_tmp_table (thd=0x7ffff2262000, param=0x7ffff1b81a78, fields=..., group=0x0, distinct=false, save_sum_fields=true, select_options=2416188160, rows_limit=18446744073709551615, table_alias=0x7ffff181e5b8 "tt0000", do_not_open=true, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:14919
#7 0x00000000006bf4ae in select_union::create_result_table (this=0x7ffff1b81a58, thd_arg=0x7ffff2262000, column_types=0x7ffff1963740, is_union_distinct=false, options=2416188160, alias=0x7ffff181e5b8 "tt0000", bit_fields_as_long=false, create_table=false, keep_row_order=false) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_union.cc:158
#8 0x00000000005e0635 in mysql_derived_prepare (thd=0x7ffff2262000, lex=0x7ffff1904018, derived=0x7ffff18e9418) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_derived.cc:681
#9 0x00000000005df9a9 in mysql_handle_single_derived (lex=0x7ffff1904018, derived=0x7ffff18e9418, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_derived.cc:192
#10 0x00000000006e25c6 in TABLE_LIST::handle_derived (this=0x7ffff18e9418, lex=0x7ffff1904018, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/table.cc:6566
#11 0x00000000005fc848 in st_select_lex::handle_derived (this=0x7ffff19047c0, lex=0x7ffff1904018, phases=2) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_lex.cc:3553
#12 0x0000000000637738 in JOIN::prepare (this=0x7ffff18ebe18, rref_pointer_array=0x7ffff1904a80, tables_init=0x7ffff18e9418, wild_num=0, conds_init=0x7ffff1845558, og_num=0, order_init=0x0, skip_order_by=false, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x7ffff19047c0, unit_arg=0x7ffff19040c8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:636
#13 0x000000000064090b in mysql_select (thd=0x7ffff2262000, rref_pointer_array=0x7ffff1904a80, tables=0x7ffff18e9418, wild_num=0, fields=..., conds=0x7ffff1845558, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7ffff1814218, unit=0x7ffff19040c8, select_lex=0x7ffff19047c0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:3070
#14 0x0000000000636e29 in handle_select (thd=0x7ffff2262000, lex=0x7ffff1904018, result=0x7ffff1814218, setup_tables_done_option=0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:319
#15 0x000000000060e4e4 in execute_sqlcom_select (thd=0x7ffff2262000, all_tables=0x7ffff18e9418) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:4688
#16 0x0000000000607098 in mysql_execute_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:2233
#17 0x000000000090f27c in sp_instr_stmt::exec_core (this=0x7ffff181c3f8, thd=0x7ffff2262000, nextp=0x7ffff7f82860) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:3220
#18 0x000000000090ea5f in sp_lex_keeper::reset_lex_and_exec_core (this=0x7ffff181c440, thd=0x7ffff2262000, nextp=0x7ffff7f82860, open_tables=false, instr=0x7ffff181c3f8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:2998
#19 0x000000000090efde in sp_instr_stmt::execute (this=0x7ffff181c3f8, thd=0x7ffff2262000, nextp=0x7ffff7f82860) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:3144
#20 0x000000000090ab24 in sp_head::execute (this=0x7ffff1828818, thd=0x7ffff2262000, merge_da_on_success=true) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:1431
#21 0x000000000090be80 in sp_head::execute_function (this=0x7ffff1828818, thd=0x7ffff2262000, argp=0x7ffff187a468, argcount=1, return_value_fld=0x7ffff1821a58) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sp_head.cc:1953
#22 0x0000000000845345 in Item_func_sp::execute_impl (this=0x7ffff187a3d8, thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.cc:6872
#23 0x00000000008450d6 in Item_func_sp::execute (this=0x7ffff187a3d8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.cc:6801
#24 0x0000000000847e8a in Item_func_sp::val_int (this=0x7ffff187a3d8) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item_func.h:2007
#25 0x00000000007f250c in Item::send (this=0x7ffff187a3d8, protocol=0x7ffff22625c8, buffer=0x7ffff7f83080) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/item.cc:6502
#26 0x0000000000564854 in Protocol::send_result_set_row (this=0x7ffff22625c8, row_items=0x7ffff2265b48) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/protocol.cc:903
#27 0x00000000005cd092 in select_send::send_data (this=0x7ffff1844518, items=...) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_class.cc:2370
#28 0x000000000063da24 in JOIN::exec (this=0x7ffff18eac18) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:2278
#29 0x00000000006409c1 in mysql_select (thd=0x7ffff2262000, rref_pointer_array=0x7ffff2265ce8, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7ffff1844518, unit=0x7ffff2265330, select_lex=0x7ffff2265a28) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:3090
#30 0x0000000000636e29 in handle_select (thd=0x7ffff2262000, lex=0x7ffff2265280, result=0x7ffff1844518, setup_tables_done_option=0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_select.cc:319
#31 0x000000000060e4e4 in execute_sqlcom_select (thd=0x7ffff2262000, all_tables=0x0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:4688
#32 0x0000000000607098 in mysql_execute_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:2233
#33 0x0000000000610cb5 in mysql_parse (thd=0x7ffff2262000, rawbuf=0x7ffff181c038 "SELECT `BugTest`(1)", length=19, parser_state=0x7ffff7f845f0) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:5799
#34 0x0000000000604552 in dispatch_command (command=COM_QUERY, thd=0x7ffff2262000, packet=0x7ffff2358001 "", packet_length=19) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:1079
#35 0x00000000006036a2 in do_command (thd=0x7ffff2262000) at /home/bell/maria/bzr/work-maria-5.5-MDEV-6441/sql/sql_parse.cc:793
It looks like whole mysql_derived_prepare should be run on execution arena but it is not.
Show
Oleksandr Byelkin
added a comment - It looks like whole mysql_derived_prepare should be run on execution arena but it is not.
The problem is that mysql_derived_prepare() set statemnt arena at the beginning.
Probably some part of it need the arena but not all.
Show
Oleksandr Byelkin
added a comment - The problem is that mysql_derived_prepare() set statemnt arena at the beginning.
Probably some part of it need the arena but not all.
Above (executing mysql_derived_prepare() on stetement memory which lead to memory leak) is definetly a hack to hide real problems.
1. double saveing and restoring TABLE_LIST::prep_on_expr
2. TABLE_LIST::prep_on_expr planed as persistent but in same cases used to temporary store values then roll it back
3. there is problem of TABLE_LIST::on_expr pointing freed memory
Show
Oleksandr Byelkin
added a comment - Above (executing mysql_derived_prepare() on stetement memory which lead to memory leak) is definetly a hack to hide real problems.
1. double saveing and restoring TABLE_LIST::prep_on_expr
2. TABLE_LIST::prep_on_expr planed as persistent but in same cases used to temporary store values then roll it back
3. there is problem of TABLE_LIST::on_expr pointing freed memory
Could you review it, please?
Show
Oleksandr Byelkin
added a comment - Could you review it, please?
Thanks for the report and test case!
This crude MTR test demonstrates the problem (not to be included into the regression test suite):
Here is the output on current 5.5:
Compare with MySQL 5.6, for example: