| Bug #30251 | Falcon corrupts memory, guard bytes overwritten | ||
|---|---|---|---|
| Submitted: | 6 Aug 2007 9:35 | Modified: | 29 Aug 2007 11:27 |
| Reporter: | Christoffer Hall | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
| Version: | OS: | Linux | |
| Assigned to: | Christoffer Hall | CPU Architecture: | Any |
[6 Aug 2007 9:35]
Christoffer Hall
[6 Aug 2007 11:08]
Christoffer Hall
Easiest way to recreate:
****************************************
create database dbt2;
use dbt2;
create table test (test int) engine = falcon;
load data infile '/tmp/test.data' into table test;
****************************************
Data in /tmp/test.data is created like:
*****************************************
#!/usr/bin/python
import sys
count = int(sys.argv[1])
for i in range(count):
print i
*****************************************
If I generate 85000 entries and load then no crash. If I load 90000 then crash. The input data file size are 488K and 517K. The size of the file may indicate that it is when a sencond section is needed, that the error occurs. But there is naturally a difference between the falcon encoded size and the text size. So it may be coincidence.
[13 Aug 2007 14:26]
Christoffer Hall
Patch to fix bug.
Attachment: corruptionfix.patch (text/x-patch), 660 bytes.
[14 Aug 2007 8:49]
Christoffer Hall
Code pushed.
[29 Aug 2007 11:27]
MC Brown
A note has been added to the 6.0.1 changelog: When loading large datasets into a Falcon table mysqld could crash.
