Description:
I was running the mysql proxy under valgrind using the proxydb.lua script (found here
http://forge.mysql.com/tools/tool.php?id=199 )
and I noticed a memory leak:
==8577== 111,072 (23,808 direct, 87,264 indirect) bytes in 992 blocks are definitely lost in loss record 267 of 267
==8577== at 0x150F7: calloc (vg_replace_malloc.c:415)
==8577== by 0x41D82F: g_malloc0 (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libglib-2.0.0.1600.6.dylib)
==8577== by 0x40C60: network_mysqld_auth_response_new (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-proxy.0.dylib)
==8577== by 0x41105: network_mysqld_auth_response_copy (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-proxy.0.dylib)
==8577== by 0x4EC0E50: ???
==8577== by 0x36C43: plugin_call (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-proxy.0.dylib)
==8577== by 0x37E2F: network_mysqld_con_handle (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-proxy.0.dylib)
==8577== by 0x5A069: event_base_loop (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libevent-1.4.2.1.3.dylib)
==8577== by 0x5A268: event_base_dispatch (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libevent-1.4.2.1.3.dylib)
==8577== by 0x2976B: chassis_event_thread_loop (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-chassis.0.dylib)
==8577== by 0x28F33: chassis_mainloop (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/lib/libmysql-chassis.0.dylib)
==8577== by 0x35EC: main_cmdline (in /Users/wizard/mysql-proxy-0.8.1-osx10.5-x86/libexec/mysql-proxy)
How to repeat:
1- Download the proxydb.lus script from
http://forge.mysql.com/tools/tool.php?id=199
2- start the proxy like this:
(adjust values where needed)
$ MYSQL_PROXY_WRAPPER="valgrind --leak-check=full " G_SLICE="always-malloc" ./bin/mysql-proxy --proxy-backend-addresses=127.0.0.1:5132 --plugins=proxy --log-level=debug --proxy-lua-script=/Users/wizard/proxydb.lua
3- on another terminal run:
for x in {1..10}; do echo "INSERT \"kay$x\" = \"This is a text string not too long, not too short $x$x\" " | ./sandboxes/msb_5_1_32/use -P4040 ; done ;
if you increase the number of loops, the memory leak would also increase.