Kouhei Sutou
kou****@clear*****
2015年 1月 9日 (金) 22:53:48 JST
須藤です。 In <54AEB****@gmail*****> "[groonga-dev,03052] Re: MariaDBバンドル版Mroonga 4.09でMroongaがインストール出来ない問題について" on Fri, 09 Jan 2015 01:41:28 +0900, hiroshi hatake <cosmo****@gmail*****> wrote: > 気を取り直してデバッガを出動させました。 ありがとうございます! >> ... >>> mysqld.exe!test_plugin_options()[sql_plugin.cc:3968] >> ここあたりのコードはこうなっていて、 ... > Visual Studio のデバッガで追って確認してみました。 > > 手順) > 1. Visual Studioのデバッガでmysqldをアタッチ > 2. mysqlクライアントにshare\mroonga\install.sqlを食べさせる。 > > すると、 > >> 3964 ((o->flags & (PLUGIN_VAR_STR | PLUGIN_VAR_NOCMDOPT | >> 3965 PLUGIN_VAR_MEMALLOC)) == PLUGIN_VAR_STR)) > > の箇所ではなく、 > その前の箇所の、 > >> 3963 if (mysqld_server_started && >> 3964 ((o->flags & (PLUGIN_VAR_STR | PLUGIN_VAR_NOCMDOPT | >> 3965 PLUGIN_VAR_MEMALLOC)) == PLUGIN_VAR_STR)) >> 3966 { >> 3967 sysvar_str_t* str= (sysvar_str_t *)o; >> 3968 if (*str->value) >> 3969 *str->value= strdup_root(mem_root, *str->value); >> 3970 } > > str->valueのチェックの、 > >> 3968 if (*str->value) > > のstrがNULLで落ちていました。必ずこのifに到達すると異常終了します。 あ、そうなんですか。 だったら、そのときのtmp->name.strの値はどうなっていますか? たぶん、Mroongaかしら。 でも、おかしいですねぇ。そのfor文で for (opt= tmp->plugin->system_vars; *opt; opt++) st_mysql_sys_var *o= *opt; としているので、oがNULLになることはない気がするんですよねぇ。 *optもNULLになっていますか? あと、tmp->plugin->system_varsの中身ってみれます? > ほか、tmp_root, tmp, argc, argvの異常終了した時点での値のダンプを添付 > し ます。 ありがとうございます。が、ここでは添付ファイルを使えないっぽ いのでどこかに貼ってもらえますか? > 他に役に立つかわからないですが、Ubuntuの場合も試してみたので報告します。 ありがとうございます! > http://packages.groonga.org/nightly/mariadb-10.0.15-with-mroonga-4.09.2015.01.08.tar.gz > をUbuntu14.04.1 LTSでビルドし、share\mroonga\install.sqlを食べさせると、 > > 今までwarningが出ていなかったと思いますが、 > warningが出るようになってしまっています。 > > --- > MariaDB [(none)]> source ../share/mroonga/install.sql > Query OK, 0 rows affected (0.00 sec) > > Query OK, 0 rows affected (0.01 sec) > > Query OK, 0 rows affected, 1 warning (0.00 sec) > > Query OK, 0 rows affected (0.00 sec) > > Query OK, 0 rows affected, 1 warning (0.00 sec) > > Query OK, 0 rows affected (0.00 sec) > > Query OK, 0 rows affected, 1 warning (0.00 sec) > > Query OK, 0 rows affected (0.00 sec) > > Query OK, 0 rows affected, 1 warning (0.00 sec) > > Query OK, 0 rows affected (0.00 sec) > --- warningの詳細も見せてもらえるとうれしいです。 show warningsってやると見れるんだったかしら。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/