Bug #36366 mysqld.exe crash on Windows x64 while running load data script
Submitted: 27 Apr 2008 20:13 Modified: 13 May 2008 14:27
Reporter: Gardner von Holt Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:5.1.24-rc-comminity OS:Windows (2003 R2 X64)
Assigned to: Assigned Account CPU Architecture:Any
Tags: crash, loading

[27 Apr 2008 20:13] Gardner von Holt
Description:
I was running a data load script in query browser from within a script tab.  

Here is the command:

load data infile 'd:/xxx/parts.tsv'
into table movie_production.parts
character set 'Latin1'
fields terminated by '\t'
lines terminated by '\r\n'
(movie_id, creditseq, person_id, role, part);

The client was Windows Vista Ultimate (SP1) 32 bit client OS on a Precision 450 workstations talking to a Windows Server 2003 R2 (SP2) X64 server running on a Dell 2900 server. Both client and server were running build 24 of the 5.1 line -- the server in 64 bit mode, and the client in 32 bit mode.

The server is configured to use innodb.

The script was intending to load about 15 tables with data.  Some tables were small with 2 rows, and others larger with as many as a couple million rows.

Once the script was running, I noted a typo in the first command, and pressed Stop (red button) on the client UI.  This did not appear to have any immediate effct.  Perhaps 1/2 hour later the server crashed with the stack trace attached.

The data load that was active had loaded about 3.6 million rows when it failed

How to repeat:
1. Start data load of large table using 'load data infile' in a script of several data loads.. 
2. Press stop on the client
OBSERVE: Later access violation happens on the server
[27 Apr 2008 20:16] Gardner von Holt
error log

Attachment: bach.err (text/plain), 8.85 KiB.

[28 Apr 2008 17:50] Sveta Smirnova
Thank you for the report.

Could you please provide file parts.tsv and output of SHOW CREATE TABLE movie_production.parts
[29 Apr 2008 18:19] Sveta Smirnova
Thank you for the feedback.

To be able to investigate the problem we need to repeat the problem. So dump would be really appreciated. You can upload it on our FTP server privately as described in "Files" section.

Additionally I've seen "C:\cygwin\home\mysqldev\build\mysql-5.1.24-rc-winbuild\mysql-community-nt-5.1.24-rc-build\storage\innobase\include\sync0sync.ic " in the error log file. Do you use cygwin version or it is just path? If you use cygwin version please try with Windows native binaries as cygwin is not supported officially.
[30 Apr 2008 1:22] Gardner von Holt
Hi,

No, I didn't compile this version, these were the regular mysql binaries from a mirror site.

cygwin in NOT installed on the server -- it does happen to be installed on the client.  Perhaps the source code is synced using git or mercurial using a cygwin client to make the builds, and that might be why cygwin appears in the source code file name.

I'll see about uploading the file tonight using those instructions.
[1 May 2008 0:14] MySQL Verification Team
Crash and 2 recovery tentatives

Attachment: crash-recovery.txt (text/plain), 18.67 KiB.

[1 May 2008 0:22] MySQL Verification Team
Thank you for the feedback. I was able to repeat ONLY with the GUI MySQL
Query Browser: Create Table -> Open a Scrip Tab -> Paste the load file
command provided -> Execute -> wait some seconds -> Press red button.

I attached a file with the call stack of the crash and 2 recovery tentatives
done by InnoDB engine. The last one was able to recovered.

Tested on Windows Vista 64-bit.

Now I am going to test with MyISAM engine.
[1 May 2008 0:39] MySQL Verification Team
I couldn't repeat with MyISAM engine.
[12 May 2008 15:48] Georgi Kodinov
The problem is fixed by the fix for bug #34297
[13 May 2008 14:27] Gardner von Holt
Hi,

Good to see that the memory crash is understood and fixed.  

It might be a good idea to refresh the .24 build (or release a .25 build) for Windows since you are changing compile options to get around compiler bugs.  I would think you would want more exposure of the new bits to validate your solution.

Is there some way for the community to request such a rebuild?

Also, has this compiler bug been reported to Microsoft?