Bug #45645 Mysql server close all connection and restart using lower function
Submitted: 22 Jun 2009 7:22 Modified: 20 Dec 2009 0:50
Reporter: Francesco Battaglia Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Charsets Severity:S3 (Non-critical)
Version:5.1.32, 5.0, 5.1 bzr OS:Linux
Assigned to: Alexander Barkov
Triage: Triaged: D1 (Critical)

[22 Jun 2009 7:22] Francesco Battaglia
Description:
I had a problem with vietnamese collation.

this is the log:

090618 12:48:57 - mysqld got signal 11 ;
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=8384512
read_buffer_size=131072
max_used_connections=11
max_threads=151
threads_connected=11
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 337720 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0xac03828
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0xb15ff210 thread_stack 0x30000
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0xab2d0c0 = select * from prova where lower(nome)=lower('N')
thd->thread_id=15
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

I found this issue on MySQL 5.1.32 
SO: Red Hat Enterprise Linux Server release 5.2

How to repeat:
I tried the workaround to add vietnamese collation in mysql community server 5.1.32.

I have used the file http://vietunicode.sourceforge.net/howto/Index.xml

then I executed the following commands

CREATE DATABASE prova CHARACTER SET utf8 COLLATE utf8_vietnamese1_ci;

create table prova (nome varchar(10))Engine=InnoDB;

insert into prova (nome) values ('hello!');

select * from prova where lower(nome)=lower('N');

When I use the function lower on a field created with vietnamese collation
db closes all connection and restarts
[22 Jun 2009 8:33] Sveta Smirnova
Thank you for the report.

Verified as described.
[22 Jun 2009 8:34] Sveta Smirnova
Bug is repeatable with MyISAM as well.

Backtrace from my environment:

thd: 0xa054330
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0xb4aaac48 thread_stack 0x138800
./libexec/mysqld(my_print_stacktrace+0x26)[0x85a9559]
./libexec/mysqld(handle_segfault+0x2d4)[0x824ecd4]
[0x2ce420]
./libexec/mysqld(_ZN13Item_str_conv7val_strEP6String+0x1f1)[0x81dbda3]
./libexec/mysqld(_ZN14Arg_comparator14compare_stringEv+0x30)[0x81c754c]
./libexec/mysqld(_ZN14Arg_comparator7compareEv+0x49)[0x81d4c1d]
./libexec/mysqld(_ZN12Item_func_eq7val_intEv+0x43)[0x81c908b]
./libexec/mysqld[0x82dfa28]
./libexec/mysqld(_ZN4JOIN8optimizeEv+0x1264)[0x82ea90e]
./libexec/mysqld(_Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_select_lex+0x2c5)[0x82f1af1]
./libexec/mysqld(_Z13handle_selectP3THDP6st_lexP13select_resultm+0x201)[0x82f1ecf]
./libexec/mysqld[0x825e31d]
./libexec/mysqld(_Z21mysql_execute_commandP3THD+0x8a7)[0x826464d]
./libexec/mysqld(_Z11mysql_parseP3THDPKcjPS2_+0x230)[0x826de84]
./libexec/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0xaac)[0x826eac0]
./libexec/mysqld(_Z10do_commandP3THD+0x260)[0x826fcde]
./libexec/mysqld(handle_one_connection+0x144)[0x825c41c]
/lib/libpthread.so.0[0x45fbd4]
/lib/libc.so.6(__clone+0x5e)[0x3b74fe]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0xa07fa10 = select * from prova where lower(nome)=lower('N')
[23 Jun 2009 7:28] Sveta Smirnova
Bug is not repeatable with one of our collation definition.
[25 Jun 2009 9:55] Francesco Battaglia
Sveta,
thanks for your reply!
[25 Jun 2009 23:53] Omer Barnir
Issue cannot be repeated with a MySQL supplied character set
[26 Jun 2009 7:37] Francesco Battaglia
Is this not a bug???

You suggested ( http://bugs.mysql.com/4745 ) to use a workaround to solve a limit of mysql and then this workaround that is showed like a feature (to add a user defined collate) won't and you say that is not a bug???

Are you joking me???
[19 Oct 2009 12:49] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/87296

3185 Alexander Barkov	2009-10-19
      Bug#45645 Mysql server close all connection and restart using lower function
      Problem: the "caseinfo" member of CHARSET_INFO structure was not
      initialized for user-defined Unicode collations, which made the
      server crash.
      Fix: initializing caseinfo properly.
[19 Oct 2009 12:58] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/87297

3185 Alexander Barkov	2009-10-19
      Bug#45645 Mysql server close all connection and restart using lower function
      Problem: the "caseinfo" member of CHARSET_INFO structure was not
      initialized for user-defined Unicode collations, which made the
      server crash.
      Fix: initializing caseinfo properly.
[19 Oct 2009 13:36] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/87331

3185 Alexander Barkov	2009-10-19
      Bug#45645 Mysql server close all connection and restart using lower function
      Problem: the "caseinfo" member of CHARSET_INFO structure was not
      initialized for user-defined Unicode collations, which made the
      server crash.
      Fix: initializing caseinfo properly.
[19 Oct 2009 13:41] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/87334

3678 Alexander Barkov	2009-10-19 [merge]
      Merging Bug#45645 from mysql-5.1-bugteam.
[19 Oct 2009 13:42] Alexander Barkov
Pushed into:
- mysql-5.1-bugteam (marked as 5.1.40)
- mysql-pe          (marked as 6.0.14)
[20 Oct 2009 8:16] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/87427

3187 Alexander Barkov	2009-10-20
      A post fix for BUG#45645 Mysql server close all connection and restart using lower function
      - Initialized caseinfo only if it is NULL
[4 Nov 2009 9:25] Bugs System
Pushed into 5.1.41 (revid:joro@sun.com-20091104092152-qz96bzlf2o1japwc) (version source revid:kristofer.pettersson@sun.com-20091103162305-08l4gkeuif2ozsoj) (merge vers: 5.1.41) (pib:13)
[11 Nov 2009 6:53] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091110093407-rw5g8dys2baqkt67) (version source revid:alik@sun.com-20091109080109-7dxapd5y5pxlu08w) (merge vers: 6.0.14-alpha) (pib:13)
[11 Nov 2009 7:01] Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091109115615-nuohp02h8mdrz8m2) (version source revid:alik@sun.com-20091105092041-sp6eyod7sdlfuj3b) (merge vers: 5.5.0-beta) (pib:13)
[12 Nov 2009 3:34] Paul Dubois
Noted in 5.1.41, 5.5.0, 6.0.14 changelogs.

The caseinfo member of the CHARSET_INFO structure was not initialized
for user-defined Unicode collations, leading to a server crash.
[18 Dec 2009 10:34] Bugs System
Pushed into 5.1.41-ndb-7.1.0 (revid:jonas@mysql.com-20091218102229-64tk47xonu3dv6r6) (version source revid:jonas@mysql.com-20091218095730-26gwjidfsdw45dto) (merge vers: 5.1.41-ndb-7.1.0) (pib:15)
[18 Dec 2009 10:50] Bugs System
Pushed into 5.1.41-ndb-6.2.19 (revid:jonas@mysql.com-20091218100224-vtzr0fahhsuhjsmt) (version source revid:jonas@mysql.com-20091217101452-qwzyaig50w74xmye) (merge vers: 5.1.41-ndb-6.2.19) (pib:15)
[18 Dec 2009 11:05] Bugs System
Pushed into 5.1.41-ndb-6.3.31 (revid:jonas@mysql.com-20091218100616-75d9tek96o6ob6k0) (version source revid:jonas@mysql.com-20091217154335-290no45qdins5bwo) (merge vers: 5.1.41-ndb-6.3.31) (pib:15)
[18 Dec 2009 11:20] Bugs System
Pushed into 5.1.41-ndb-7.0.11 (revid:jonas@mysql.com-20091218101303-ga32mrnr15jsa606) (version source revid:jonas@mysql.com-20091218064304-ezreonykd9f4kelk) (merge vers: 5.1.41-ndb-7.0.11) (pib:15)