Memory Leak in Item::send() - Exposed in MD5 test case

Bug #521895 reported by Jay Pipes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
Medium
Unassigned
Dexter
Fix Released
Medium
Unassigned

Bug Description

Been happening for a while now:

CURRENT_TEST: md5.md5
==8883== Memcheck, a memory error detector.
==8883== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==8883== Using LibVEX rev 1884, a library for dynamic binary translation.
==8883== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==8883== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework.
==8883== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==8883== For more details, rerun with: -v
==8883==
One can only use the --user switch if running as root
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins.
==8883== Warning: set address range perms: large range [0x7ae3000, 0xfdc3000) (defined)
100214 23:33:18 InnoDB: highest supported file format is Barracuda.
100214 23:33:19 InnoDB Plugin 1.0.4 started; log sequence number 109197056
Plugin 'md5' already existsListening on 0.0.0.0:8430
Listening on :::8430
Listening on 0.0.0.0:8380
Listening on :::8380
././drizzled/drizzled: Forcing close of thread 0 user: ''
././drizzled/drizzled: ready for connections.
Version: '2010.02.1288' Source distribution (Drizzle-param-valgrind)
././drizzled/drizzled: Normal shutdown
100214 23:33:24 InnoDB: Starting shutdown...
==8883== Warning: set address range perms: large range [0x7ae3000, 0xfdc3000) (noaccess)
100214 23:33:26 InnoDB: Shutdown completed; log sequence number 109199904
==8883==
==8883== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 406 from 4)
==8883== malloc/free: in use at exit: 15,906,979 bytes in 224 blocks.
==8883== malloc/free: 61,206 allocs, 60,982 frees, 55,559,562 bytes allocated.
==8883== For counts of detected errors, rerun with: -v
==8883== searching for pointers to 224 not-freed blocks.
==8883== checked 44,451,568 bytes.
==8883==
==8883== 520 (40 direct, 480 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 20
==8883== at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==8883== by 0x165B4A04: ???
==8883== by 0x165B4BD8: ???
==8883== by 0x165B938B: ???
==8883== by 0x165C3F3C: ???
==8883== by 0x165C446C: ???
==8883== by 0x165C49DA: ???
==8883== by 0x165C4AA9: ???
==8883== by 0x15EE7A06: ???
==8883== by 0x15CDBD58: ???
==8883== by 0x54FCC5: drizzled::Item::send(drizzled::plugin::Client*, drizzled::String*) (item.cc:1352)
==8883== by 0x614FCF: drizzled::select_send::send_data(drizzled::List<drizzled::Item>&) (select_send.h:108)
==8883== by 0x594D40: drizzled::JOIN::exec() (join.cc:1235)
==8883== by 0x618DA3: drizzled::mysql_select(drizzled::Session*, drizzled::Item***, drizzled::TableList*, unsigned int, drizzled::List<drizzled::Item>&, drizzled::Item*, unsigned int, drizzled::order_st*, drizzled::order_st*, drizzled::Item*, unsigned
long, drizzled::select_result*, drizzled::Select_Lex_Unit*, drizzled::Select_Lex*) (sql_select.cc:427)
==8883== by 0x619657: drizzled::handle_select(drizzled::Session*, drizzled::LEX*, drizzled::select_result*, unsigned long) (sql_select.cc:146)
==8883== by 0x612A10: drizzled::execute_sqlcom_select(drizzled::Session*, drizzled::TableList*) (sql_parse.cc:571)
==8883==
==8883==
==8883== 480 bytes in 12 blocks are indirectly lost in loss record 15 of 20
==8883== at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==8883== by 0x165B4A04: ???
==8883== by 0x165B4BD8: ???
==8883== by 0x165B938B: ???
==8883== by 0x165C3F3C: ???
==8883== by 0x165C446C: ???
==8883== by 0x165C49DA: ???
==8883== by 0x165C4AA9: ???
==8883== by 0x15EE7A06: ???
==8883== by 0x15CDBD58: ???
==8883== by 0x54FCC5: drizzled::Item::send(drizzled::plugin::Client*, drizzled::String*) (item.cc:1352)
==8883== by 0x614FCF: drizzled::select_send::send_data(drizzled::List<drizzled::Item>&) (select_send.h:108)
==8883== by 0x594D40: drizzled::JOIN::exec() (join.cc:1235)
==8883== by 0x618DA3: drizzled::mysql_select(drizzled::Session*, drizzled::Item***, drizzled::TableList*, unsigned int, drizzled::List<drizzled::Item>&, drizzled::Item*, unsigned int, drizzled::order_st*, drizzled::order_st*, drizzled::Item*, unsigned
long, drizzled::select_result*, drizzled::Select_Lex_Unit*, drizzled::Select_Lex*) (sql_select.cc:427)
==8883== by 0x619657: drizzled::handle_select(drizzled::Session*, drizzled::LEX*, drizzled::select_result*, unsigned long) (sql_select.cc:146)
==8883== by 0x612A10: drizzled::execute_sqlcom_select(drizzled::Session*, drizzled::TableList*) (sql_parse.cc:571)
==8883==
==8883== LEAK SUMMARY:
==8883== definitely lost: 40 bytes in 1 blocks.
==8883== indirectly lost: 480 bytes in 12 blocks.
==8883== possibly lost: 0 bytes in 0 blocks.
==8883== still reachable: 0 bytes in 0 blocks.
==8883== suppressed: 15,906,459 bytes in 211 blocks.

Tags: valgrind
Stewart Smith (stewart)
Changed in drizzle:
assignee: nobody → Lee Bieber (kalebral)
Revision history for this message
Lee Bieber (kalebral-deactivatedaccount) wrote :

No longer seeing this valgrind warning

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.