Bug #34412 MySQL proxy crashed
Submitted: 8 Feb 2008 12:25 Modified: 9 Jan 2015 10:01
Reporter: Roman Lobus Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Proxy: Scripts Severity:S2 (Serious)
Version:0.7.0, r369, load balancer, 0.7.1, 0.8 OS:Linux
Assigned to: Assigned Account
Tags: crash
Triage: D2 (Serious)

[8 Feb 2008 12:25] Roman Lobus
Description:
I use the next connection's scheme:
node01 - MySQL proxy and Master MySQL server
node02 - Slave MySQL server

MySQL Proxy splits queries like r/w splitting scheme.

/usr/local/sbin/mysql-proxy --version
mysql-proxy 0.7.0
glib2: 2.12.9
libevent: 1.3b

Master server's version - 5.0.37
Slave server's version - 5.0.45

MySQL proxy started in this way
LUA_PATH="/usr/local/share/mysql-proxy/?.lua" /usr/local/sbin/mysql-proxy --proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua --plugins=proxy --plugin-dir=/usr/local/lib/mysql-proxy/ --daemon --log-file=/tmp/mysql-proxy.log --log-level=debug --proxy-read-only-backend-addresses=10.0.0.2:3306

MySQL proxy crashed after some time of working with message
[debug] (command) unhandled type COM_BINLOG_DUMP

How to repeat:
1. Set up master-slave replication pair
2. Start mysql-proxy on master server with lua script 'rw-splitting.lua'
3. After some time (undefined) mysql-proxy crashed with message '[debug] (command) unhandled type COM_BINLOG_DUMP'
[17 May 2008 21:28] Sveta Smirnova
Thank you for the report.

If I understood correctly you are using MySQL Proxy between master and slave and 10.0.0.2:3306 is address of master. Please confirm or reject it.
[19 May 2008 6:22] Roman Lobus
No, 10.0.0.2:3306 is address of slave server.
[19 May 2008 20:51] Sveta Smirnova
Thank you for the feedback.

Verified as described.

To repeat:

1. Start server with --log-bin option
2. Start proxy as LUA_PATH=/path/to/lib/?.lua mysql-proxy --proxy-lua-script=/path/to/lib/rw-splitting.lua --plugins=proxy  --proxy-backend-addresses=master_host:master_port
3. Connect and issue command SHOW MASTER STATUS, record current binary log file name
4. Connect using mysqlbinlog like mysqlbinlog -R -h 127.0.0.1 -P4040 -uroot log-bin.001320 
5. Get crashed Proxy due error "[debug] (command) unhandled type COM_BINLOG_DUMP"

Problem is not repeatable without rw-splitting.lua
[3 Jun 2009 14:12] Kay Roepke
Problem persists in the current trunk version, can be reproduced just as described previously.

The crash occurs at (trunk version as of this day):
Thread 0 Crashed:
0   libmysql-proxy.0.dylib        	0x0006f828 network_socket_read + 18 (network-socket.c:526)
1   libmysql-proxy.0.dylib        	0x000613d8 network_mysqld_read + 31 (network-mysqld.c:495)
2   libmysql-proxy.0.dylib        	0x00062ea5 network_mysqld_con_handle + 5485 (network-mysqld.c:1323)
3   libevent-1.4.2.dylib          	0x00084dc1 event_base_loop + 641
4   libevent-1.4.2.dylib          	0x00085099 event_base_dispatch + 25
5   libmysql-chassis.0.dylib      	0x00034323 chassis_event_thread_loop + 139 (chassis-event-thread.c:259)
6   libmysql-chassis.0.dylib      	0x00033cf8 chassis_mainloop + 1168 (chassis-mainloop.c:331)
7   mysql-proxy                   	0x000043d1 main_cmdline + 6131 (chassis.c:944)
8   mysql-proxy                   	0x000045bf main + 24 (chassis.c:1110)
9   mysql-proxy                   	0x0000267e start + 54