Bug #69048 InnoDB crash on replication client with a "Date" column
Submitted: 24 Apr 2013 8:22 Modified: 24 Apr 2013 13:50
Reporter: Thomas Lecomte Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.5.30 OS:Linux (Debian 7, CentOS 5.6)
Assigned to: CPU Architecture:Any

[24 Apr 2013 8:22] Thomas Lecomte
Description:
Hello,

I was able to make InnoDB crash on replication client when working on a small table involving a column named "Date" and with replication enabled between multiple servers.

Replication layout : Master ----> Slave 1 -----> Slave 2

Slave 1 and Slave 2 are running in READ_ONLY mode.
Slave 1 has log_slave_update enabled.

Master runs Debian 7 with the stock MySQL 5.5.30.
Slave 1 runs Debian 7 with the stock debian MySQL 5.5.30.
Slave 2 runs CentOS 5.6 with the Oracle GA MySQL 5.5.30.

I created a table in which I wanted to store a single row with a DATETIME column and a (useless) ID.
When inserting a row or updating it using SYSDATE() or NOW() to fill the Date column, all the slaves crashed (mysqld.log attached). They restarted, the InnoDB log was replayed correctly, then the slave restarted and made the servers crash immediatly, generating an endless loop.

The replication is running in mixed mode. The request was sent in row mode by MySQL (as seen in the binary log).

On the master, the request is executed correctly, so it seems the problem lies somewhere between the replication code and the InnoDB code (hope I put the bug in the correct category).

How to repeat:
CREATE TABLE Foobar (Date DATETIME, ID TINYINT(1) PRIMARY KEY);
INSERT INTO Foobar (ID, Date) VALUES (0, SYSDATE());    (or NOW())
UPDATE Foobar SET Date=NOW();

Suggested fix:
The workaround I used is to use another name for the column instead of just "Date".
[24 Apr 2013 8:24] Thomas Lecomte
mysqld log of the crash

Attachment: mysqld-log.txt (text/plain), 16.46 KiB.

[24 Apr 2013 9:23] Thomas Lecomte
The request extracted from the binary log which made the server crash (I think)

Attachment: log-bin.txt (text/plain), 1.03 KiB.

[24 Apr 2013 13:40] MySQL Verification Team
Hello Thomas,

Thank you for the report.
I can not repeat described behavior on reported version and on latest GA.

Could you pls provide the config, error log file(s) from all the instances involved in replication?  

Regards,
Umesh
[24 Apr 2013 13:48] Thomas Lecomte
Slave Client configuration file (64 GB RAM)

Attachment: my.cnf (application/octet-stream, text), 3.19 KiB.

[24 Apr 2013 13:50] Thomas Lecomte
Hello Umesh,

I have added the my.cnf file used by the slaves (identical setup for both).
I have already posted the mysqld error log (08:24). Do you need something else?

I'm sorry for not being able to try to easily reproduce the bug, as it affects our production. If you can't reproduce it, i'll try on our development databases.

Thanks,