Bug #56653 Valgrind warnings for memory leak in LOAD DATA INFILE
Submitted: 8 Sep 2010 13:56 Modified: 12 Oct 2010 8:44
Reporter: Sven Sandberg Email Updates:
Status: Duplicate Impact on me:
Category:MySQL Server: DML Severity:S2 (Serious)
Version:trunk, 5.6 OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: LOAD DATA INFILE, memory leak, valgrind
Triage: Triaged: D1 (Critical)

[8 Sep 2010 13:56] Sven Sandberg
This is one of several Valgrind warnings for trunk-bugfixing in pb2 at https://central.sun.net/http://pb2.norway.sun.com/?action=archive_download&archive_id=2239... . After running a few tests in main, it prints this:

worker[1] Valgrind report from /export/home2/pb2/test/sb_0-2236760-1283495420.63/mysql-5.6.1-m4-linux-x86_64-test/mysql-test/var-n_mix/1/log/mysqld.1.err after tests:
 main.information_schema main.information_schema_chmod main.information_schema_db main.information_schema_parameters main.information_schema_part main.information_schema_routines main.insert main.insert_notembedded main.insert_select main.insert_update main.join main.join_crash main.join_nested main.join_optimizer main.join_outer main.key main.key_diff main.key_primary main.keywords main.limit main.loaddata main.loadxml main.locale main.lock main.lock_multi main.lock_multi_bug38499 main.lock_multi_bug38691 main.lowercase_fs_off main.merge main.mix2_myisam_ucs2 main.myisam main.myisam-system main.myisam_debug main.myisampack main.mysql main.mysql-bug41486 main.mysql-bug45236 main.mysql_cp932 main.mysql_locale_posix main.mysql_upgrade main.mysqlslap main.odbc main.olap main.order_by main.partition_federated main.partition_grant main.partition_hash main.partition_list main.partition_mgm main.partition_mgm_err main.partition_mgm_err2 main.partition_not_embedded main.partition_order main.partition_pruning main.partition_windows main.perror main.preload main.ps_ddl1 main.ps_grant main.ps_not_windows main.query_cache main.select_found main.select_safe main.server_uuid
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 1)
malloc/free: in use at exit: 1,564 bytes in 6 blocks.
malloc/free: 4,856,839 allocs, 4,856,833 frees, 5,011,597,158 bytes allocated.
For counts of detected errors, rerun with: -v
searching for pointers to 6 not-freed blocks.
checked 4,032,688 bytes.

12 bytes in 1 blocks are definitely lost in loss record 1 of 6
   at 0x4A05809: malloc (vg_replace_malloc.c:149)
   by 0xA72A64: my_malloc (my_malloc.c:38)
   by 0x80D1D9: READ_INFO::READ_INFO(int, unsigned, charset_info_st*, String&, String&, String&, String&, int, bool, bool) (sql_load.cc:1337)
   by 0x81077D: mysql_load(THD*, sql_exchange*, TABLE_LIST*, List<Item>&, List<Item>&, List<Item>&, enum_duplicates, bool, bool) (sql_load.cc:432)
   by 0x5BE116: mysql_execute_command(THD*) (sql_parse.cc:3157)
   by 0x5C2581: mysql_parse(THD*, char*, unsigned, Parser_state*) (sql_parse.cc:5586)
   by 0x5C3BAD: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1130)
   by 0x5C5017: do_command(THD*) (sql_parse.cc:802)
   by 0x68A400: do_handle_one_connection(THD*) (sql_connect.cc:1192)
   by 0x68A4FC: handle_one_connection (sql_connect.cc:1131)
   by 0x8AC99A: pfs_spawn_thread (pfs.cc:1061)
   by 0x30242062F6: start_thread (in /lib64/libpthread-2.5.so)
   by 0x30236D1B6C: clone (in /lib64/libc-2.5.so)

This seems to be a memory leak in LOAD DATA INFILE.

How to repeat:
Read the log.
[12 Oct 2010 8:44] Alexey Kopytov
Duplicate of bug #56709.