Description:
Valgrind said there was memory leak on partition_error.test. The memory leak only happened when I add '--source include/restart_mysqld.inc' to the end of the test.
This problem results the failure of server_uuid.test on mysql-5.1-rep+2. As server_uuid restarts the server manually.
------------------------------------------------------------
==17340==
==17340== HEAP SUMMARY:
==17340== in use at exit: 312 bytes in 2 blocks
==17340== total heap usage: 41,401 allocs, 41,399 frees, 104,527,830 bytes allocated
==17340==
==17340== 40 bytes in 1 blocks are definitely lost in loss record 1 of 2
==17340== at 0x4C284A8: malloc (vg_replace_malloc.c:236)
==17340== by 0xA5075D: my_malloc (my_malloc.c:38)
==17340== by 0x6558C9: String::real_alloc(unsigned int) (sql_string.cc:41)
==17340== by 0x556FE8: String::alloc(unsigned int) (sql_string.h:217)
==17340== by 0x7ED21E: Item_extract::fix_length_and_dec() (item_timefunc.cc:2341)
==17340== by 0x7A2342: Item_func::fix_fields(THD*, Item**) (item_func.cc:219)
==17340== by 0x889A13: fix_fields_part_func(THD*, Item*, TABLE*, bool, bool) (sql_partition.cc:1108)
==17340== by 0x88AD0D: fix_partition_func(THD*, TABLE*, bool) (sql_partition.cc:1810)
==17340== by 0x68DC87: open_table_from_share(THD*, TABLE_SHARE*, char const*, unsigned int, unsigned int, unsigned int, TABLE*, bool) (table.cc:1900)
==17340== by 0x7572EC: ha_create_table(THD*, char const*, char const*, char const*, st_ha_create_information*, bool) (handler.cc:3599)
==17340== by 0x69E6B1: rea_create_table(THD*, char const*, char const*, char const*, st_ha_create_information*, List<Create_field>&, unsigned int, st_key*, handler*) (unireg.cc:463)
==17340== by 0x662D3F: mysql_create_table_no_lock(THD*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int) (sql_table.cc:4179)
==17340== by 0x66AFD5: mysql_alter_table(THD*, char*, char*, st_ha_create_information*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool) (sql_table.cc:7171)
==17340== by 0x5DE4EA: mysql_execute_command(THD*) (sql_parse.cc:2912)
==17340== by 0x5E6B59: mysql_parse(THD*, char const*, unsigned int, Parser_state*) (sql_parse.cc:5901)
==17340== by 0x5DA4ED: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1135)
==17340==
==17340== LEAK SUMMARY:
==17340== definitely lost: 40 bytes in 1 blocks
==17340== indirectly lost: 0 bytes in 0 blocks
==17340== possibly lost: 0 bytes in 0 blocks
==17340== still reachable: 0 bytes in 0 blocks
==17340== suppressed: 272 bytes in 1 blocks
How to repeat:
Add the following code at the end of partition_error.test.
--source include/restart_mysqld.inc