2013年1月17日木曜日

MySQL 5.6.9のmysqlクライアントがujis, sjis, cp932で落ちる(5.6.12で修正)

たまたまujisで試したいことがあってログインしたらいきなり落ちました。。


$ mysql56 --default-character-set=ujis
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.9-rc-log Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql56>
mysql56> show databases;
Segmentation fault (core dumped)


(´・ω・`) 。。。
backtrace見ると、どうも.my_historyに書き込むところで落ちているような気がする。




(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000000000488346 in my_wildcmp_mb_impl (cs=0x919e60, str=<value optimized out>, str_end=0x1b7ce97 "",
    wildstr=0x1b4d661 "IDENTIFIED*", wildend=0x1b4d649 "ibution", escape=0, w_one=63, w_many=42, recurse_level=1)
    at /home/yoku/mysql-5.6.9-rc/strings/ctype-mb.c:326
#2  0x0000000000488512 in my_wildcmp_mb (cs=<value optimized out>, str=<value optimized out>, str_end=<value optimized out>,
    wildstr=<value optimized out>, wildend=<value optimized out>, escape=<value optimized out>, w_one=63, w_many=42)
    at /home/yoku/mysql-5.6.9-rc/strings/ctype-mb.c:370
#3  0x000000000040be11 in check_histignore (string=0x1b7ce80 "use performanse_schema;")
    at /home/yoku/mysql-5.6.9-rc/client/mysql.cc:2995
#4  add_filtered_history (string=0x1b7ce80 "use performanse_schema;") at /home/yoku/mysql-5.6.9-rc/client/mysql.cc:2966
#5  0x00000000004136f8 in add_line (interactive=true) at /home/yoku/mysql-5.6.9-rc/client/mysql.cc:2324
#6  read_and_execute (interactive=true) at /home/yoku/mysql-5.6.9-rc/client/mysql.cc:2166
#7  0x000000000041477e in main (argc=11, argv=0x1b2f328) at /home/yoku/mysql-5.6.9-rc/client/mysql.cc:1395


sjisとcp932でも落ちるのは確認した。
5.5.29のクライアント使えば大丈夫。

Bugs投稿済み。。



【2013/02/06 10:12】
5.6.10 GAになってもまだ直ってません。
回避方法は、character setにujis, sjis, cp932を指定しない(latin1やutf8でつなぐ)してから
SET NAMES ujis; で変更する。


【2013/03/21 09:36】
5.6.12で修正されたそうです!

http://bugs.mysql.com/bug.php?id=68107

0 件のコメント :

コメントを投稿