Bug #40077 | "mysqld got signal 10" error message after adding a new collation. | ||
---|---|---|---|
Submitted: | 16 Oct 2008 12:48 | Modified: | 27 Oct 2008 9:38 |
Reporter: | Eric Tchepannou | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Charsets | Severity: | S2 (Serious) |
Version: | 5.0.67, 5.1.28 | OS: | MacOS |
Assigned to: | Sveta Smirnova | CPU Architecture: | Any |
Tags: | collation, mysqlimport |
[16 Oct 2008 12:48]
Eric Tchepannou
[16 Oct 2008 12:51]
Eric Tchepannou
Here is the URL this bug is referring to: http://dev.mysql.com/doc/refman/5.1/en/adding-collation-unicode-uca.html
[16 Oct 2008 14:05]
Eric Tchepannou
I have now decreased the variable's values, but could not get any further. The only change is that mysqladmin is now reporting a lot of slow queries. <error> 081016 15:00:01 - mysqld got signal 10 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=81920 read_buffer_size=131072 max_used_connections=1 max_threads=151 threads_connected=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 25223 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. </error>
[16 Oct 2008 17:52]
Sveta Smirnova
Thank you for the report. If I understood correctly you hit this error with version 5.0.67 and don't hit with version 5.1.28. Please correct me if I am wrong. Additionally I can not repeat described behavior with test table and data. Please try to find which query causes the problem and provide it and output of SHOW CREATE TABLE for all tables involved.
[16 Oct 2008 18:16]
Eric Tchepannou
Hi, I was able to reproduce the problem with both versions. This can only be reproduced with lots of data. I am importing 17k rows from a 1.4 MB csv file with utf-8/LF encoding. The file contains usernames, emails, passwords, firstnames and lastnames. The target MySQL DB table has a column for each value. This task is part of the migration of user data from an MS SQL Server db to MySQL. The original CSV file gained from MS SQL is in utf-16, so I had to convert it in utf-8 first. Here, when I import it, the system cannot make the difference between usernames 'günni' and 'gunni', thus skips the second entry. I was hoping to solve this problem by creating my own collation but now, after 5500+ rows, I get the errors reported. As next step, I have splitted the files in 80-rows chunks and with a help of a script, I try to import all of them. Same behaviour. Also, I found out that when my Java (Hibernate) app establishes the connection with the DB, this one crashes with the same error message. Hope this helps. Regards, Eric
[17 Oct 2008 8:58]
Sveta Smirnova
Thank you for the feedback. Please provide output of SHOW CREATE TABLE for table you have problems with. Also please check if error 10 still occurs with utf8_unicode_ci and utf8_general_ci collations to be sure problem is in custom collation.
[17 Oct 2008 10:57]
Eric Tchepannou
Hi, The problem occurs only with a custom collation. I cannot provide you the output you are requesting because I had to change back to utf8 and the utf8_general_uci.
[17 Oct 2008 11:21]
Sveta Smirnova
Thank you for the feedback. But why can't you provide output of SHOW CREATE TABLE? You can add it as hidden comment or replace names of columns with dummy ones. But other information such as charset, collations, indexes, storage engine and table settings is important.
[17 Oct 2008 11:27]
Eric Tchepannou
Here you go. Note that I am not using the custom collation anymore because of the reported problem. CREATE TABLE `t_user` ( `id` int(11) NOT NULL auto_increment, `email` varchar(255) NOT NULL default '', `firstName` varchar(50) default NULL, `lastName` varchar(50) default NULL, `name` varchar(20) NOT NULL default '', `password` varchar(10) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=18398 DEFAULT CHARSET=utf8
[22 Oct 2008 7:09]
Sveta Smirnova
Thank you for the feedback. I still can not repeat described behavior with 34000 rows/3M file. Could you please provide your configuration file. Also please indicate how much physical RAM do you have.
[23 Oct 2008 20:23]
Eric Tchepannou
Hi, I have 4GB ram on my machine. At the time the problem occurred, mySQL was running without configuration file. I guess it was using the default properties... Right now, I have following config. file in /etc/my.cnf [mysqld] #Set the default character set. default-character-set=utf8 #Set the default collation. default-collation=utf8_unicode_ci
[27 Oct 2008 9:38]
Sveta Smirnova
Thank you for the feedback. Unfortunately I can not repeat crash, so I close the report as "Can't repeat" If you try custom collation another time please generate and provide core file so we can find more information and reopen the report.