[groonga-dev,01412] Re: mariadbでmroongaがクラッシュしてしまう現象について

Back to archive index

WING☆ wings****@wing-*****
2013年 5月 20日 (月) 18:12:04 JST


WING☆です。

須藤様、yoku様、いろいろありがとうございます。。。

> MariaDBに渡しているCMakeのオプションをできるだけとってビルド
> するとどうでしょうか?以下の4つくらいまで減らせないかなぁと
> 思うのですが。。。
>
>    -DINSTALL_LAYOUT=RPM
>    -DCMAKE_INSTALL_PREFIX="%{_prefix}"
>    -DMYSQL_DATADIR="/var/lib/mysql"
>    -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock"

そうですね。
一度試してみます。

> 投稿された最初のバックトレースを見る限り、mroongaは関係なく、
> mroongaをINSTALL PLUGIN, CREATE FUNCTIONした時に変なことになって
> mysql.pluginとmysql.funcが壊れたように見受けられますが。。

むぅ…
一度、いろいろと検証必要ですね…

また、試した結果等をお知らせしたいと思います。

宜しくお願い致します。



(2013/05/20 17:34), yoku ts. wrote:
> こんにちは、yokuといいます。
> 
> 私が遭遇した状況と少し違うように見受けられます。
> 
> 【package】
> groonga-devel-3.0.3-1.el6_11.wing.i686
> mariadb-libs-5.5.30-3.el6_2.wing.i686
> groonga-plugin-suggest-3.0.3-1.el6_11.wing.i686
> groonga-normalizer-mysql-1.0.3-1.el6_2.wing.i686
> mariadb-devel-5.5.30-3.el6_2.wing.i686
> groonga-libs-3.0.3-1.el6_11.wing.i686
> mecab-0.996-1.el6_2.wing.i686
> mysqlclient16-5.1.69-1.el6_3.wing.i686
> mariadb-5.5.30-3.el6_2.wing.i686
> mariadb-server-5.5.30-3.el6_2.wing.i686
> groonga-3.0.3-1.el6_11.wing.i686
> mariadb-mroonga-3.03-1.el6_13.wing.i686
> 
> 
> 【ストレージモードでCREATE TABLE】
> MariaDB [test]> create table t1 ( num int ) engine = mroonga;
> ERROR 2013 (HY000): Lost connection to MySQL server during query
> 
> 【バックトレース】
> (gdb) bt
> #0  0x00206416 in __kernel_vsyscall ()
> #1  0x00212443 in pthread_kill () from /lib/libpthread.so.0
> #2  0x00c5596b in my_write_core (sig=11) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/mysys/stacktrace.c:457
> #3  0x0086d6fd in handle_fatal_signal (sig=11) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/signal_handler.cc:262
> #4  <signal handler called>
> #5  0x05309703 in clear_error (this=0x929c98f8) at
> /root/rpmbuild/BUILD/mroonga-3.03/../mariadb-5.5.30/sql/sql_class.h:2605
> #6  ha_mroonga::create_share_for_create (this=0x929c98f8) at ha_mroonga.cpp:2728
> #7  0x05309955 in ha_mroonga::table_flags (this=0x929c98f8) at
> ha_mroonga.cpp:2571
> #8  0x00871357 in init (share=0xb6cb2ec0, alloc=0xb6cb2ef8, db_type=0x93407c80)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/handler.h:1837
> #9  get_new_handler (share=0xb6cb2ec0, alloc=0xb6cb2ef8, db_type=0x93407c80)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/handler.cc:256
> #10 0x007c4d8e in open_binary_frm (thd=0x2ba5908, share=0xb6cb2ec0, db_flags=0)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/table.cc:1335
> #11 open_table_def (thd=0x2ba5908, share=0xb6cb2ec0, db_flags=0) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/table.cc:713
> #12 0x008726c3 in ha_create_table (thd=0x2ba5908, path=0xb6cb3f3b
> "./test/t1", db=0x9340e500 "test",
>      table_name=0x9340e0c8 "t1", create_info=0xb6cb4668,
> update_create_info=false)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/handler.cc:4041
> #13 0x007cfbd4 in rea_create_table (thd=0x2ba5908, path=0xb6cb3f3b
> "./test/t1", db=0x9340e500 "test",
>      table_name=0x9340e0c8 "t1", create_info=0xb6cb4668,
> create_fields=..., keys=0, key_info=0x9340f840, file=0x9340e7f0)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/unireg.cc:500
> #14 0x0079d11b in mysql_create_table_no_lock (thd=0x2ba5908,
> db=0x9340e500 "test", table_name=0x9340e0c8 "t1",
>      create_info=0xb6cb4668, alter_info=0xb6cb4258,
> internal_tmp_table=false, select_field_count=0, is_trans=0xb6cb419f)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_table.cc:4490
> #15 0x0079def3 in mysql_create_table (thd=0x2ba5908,
> create_table=0x9340e0f0, create_info=0xb6cb4668,
> alter_info=0xb6cb4258)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_table.cc:4587
> #16 0x0072d046 in mysql_execute_command (thd=0x2ba5908) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_parse.cc:2606
> #17 0x0072d639 in mysql_parse (thd=0x2ba5908, rawbuf=0x9340e020
> "create table t1 ( num int ) engine = mroonga", length=44,
>      parser_state=0xb6cb4ffc) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_parse.cc:5756
> #18 0x0072f058 in dispatch_command (command=COM_QUERY, thd=0x2ba5908,
>      packet=0x2c19501 "create table t1 ( num int ) engine = mroonga",
> packet_length=44)
>      at /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_parse.cc:1068
> #19 0x0072f826 in do_command (thd=0x2ba5908) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_parse.cc:794
> #20 0x007e7605 in do_handle_one_connection (thd_arg=0x2ba5908) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_connect.cc:1266
> #21 0x007e7760 in handle_one_connection (arg=0x2ba5908) at
> /root/rpmbuild/BUILD/mariadb-5.5.30/sql/sql_connect.cc:1181
> #22 0x0020da49 in start_thread () from /lib/libpthread.so.0
> #23 0x05d77aee in clone () from /lib/libc.so.6
> 
> ステップ実行で様子を見てみたところ、
> ha_mroonga::create_share_for_createからmrn_parse_table_paramを呼んでいるところでエラーになり、
> 
>   2705   if ((error = mrn_parse_table_param(&share_for_create,
> &table_for_create)))
>   2706     goto error;
> ..
>   2721 error:
>   2722   if (share_for_create.wrapper_mode) {
>   2723     plugin_unlock(NULL, share_for_create.plugin);
>   2724   }
>   2725   mrn_free_share_alloc(&share_for_create);
>   2726   free_root(&mem_root_for_create, MYF(0));
>   2727   analyzed_for_create = false;
>   2728   thd->clear_error();
>   2729   DBUG_RETURN(error);
>   2730 }
> 
> thd->clear_error()でsegfaultしました。
> *.mrnファイルは作成されておらず、test/t1.frmだけが取り残されている感じです。
> 
> # ll /var/lib/mysql/
> total 89736
> -rw-rw---- 1 mysql mysql     16384 May 20 17:02 aria_log.00000001
> -rw-rw---- 1 mysql mysql        52 May 20 17:02 aria_log_control
> -rw------- 1 mysql mysql 641757184 May 20 17:05 core.2042
> -rw-rw---- 1 mysql mysql      6175 May 20 17:05 error.log
> -rw-rw---- 1 mysql mysql       240 May 20 17:05 groonga.log
> -rw-rw---- 1 mysql mysql  18874368 May 20 17:04 ibdata1
> -rw-rw---- 1 mysql mysql   5242880 May 20 17:05 ib_logfile0
> -rw-rw---- 1 mysql mysql   5242880 May 20 17:03 ib_logfile1
> drwx------ 2 mysql root       4096 May 20 17:02 mysql
> srwxrwxrwx 1 mysql mysql         0 May 20 17:05 mysql.sock
> drwx------ 2 mysql mysql      4096 May 20 17:02 performance_schema
> drwx------ 2 mysql root       4096 May 20 17:05 test
> 
> # ll /var/lib/mysql/test
> total 12
> -rw-rw---- 1 mysql mysql 8558 May 20 17:05 t1.frm
> 
> 
>> WING☆さん
> 投稿された最初のバックトレースを見る限り、mroongaは関係なく、
> mroongaをINSTALL PLUGIN, CREATE FUNCTIONした時に変なことになって
> mysql.pluginとmysql.funcが壊れたように見受けられますが。。
> 
> 
> yoku ts.
> 
> 
> 2013年5月20日 16:33 Kouhei Sutou <kou****@clear*****>:
>> 須藤です。
>>
>> In <5199A****@wing-*****>
>>    "[groonga-dev,01407] Re: mariadbでmroongaがクラッシュしてしまう現象について" on Mon, 20 May 2013 14:05:16 +0900,
>>    WING☆ <wings****@wing-*****> wrote:
>>
>>>> Fedora19のMariaDBでは問題は起きないんですよね?
>>>> うーん、オプションが同じだとすると何が違うんでしょうねぇ。。。
>>>
>>> そうですねー、
>>> Fedora19では試していませんが、少なくとも、磯部様の前のメールにも
>>> あるとおり、テーブルは作れますし、私の自宅サーバではZabbix、
>>> Postfixadmin、phpMyAdmin等各種MariaDBに
>>> 関わるものに関しては、運用も問題無く動作しております。
>>
>> そうなんですか!
>> とすると、mroongaが悪いのかもしれませんね。。。
>>
>> MariaDBに渡しているCMakeのオプションをできるだけとってビルド
>> するとどうでしょうか?以下の4つくらいまで減らせないかなぁと
>> 思うのですが。。。
>>
>>    -DINSTALL_LAYOUT=RPM
>>    -DCMAKE_INSTALL_PREFIX="%{_prefix}"
>>    -DMYSQL_DATADIR="/var/lib/mysql"
>>    -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock"
>>
>> --
>> 須藤 功平 <kou****@clear*****>
>> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)
>>
>> groongaサポート:
>>    http://groonga.org/ja/support/
>> パッチ採用はじめました:
>>    http://www.clear-code.com/recruitment/
>> コミットへのコメントサービスはじめました:
>>    http://www.clear-code.com/services/commit-comment.html
>>
>> _______________________________________________
>> groonga-dev mailing list
>> groon****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> 
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> 


-- 
━━━━━━━━━━━━………‥‥‥・・・
WING☆
http://wingse.blog57.fc2.com/
http://sourceforge.jp/projects/wing-repo/
twitter:wingstars555
Facebook:http://facebook.com/ason.fukui.5
━━━━━━━━━━━━……‥‥・・




groonga-dev メーリングリストの案内
Back to archive index