[groonga-dev,03060] Re: MariaDBバンドル版Mroonga 4.09でMroongaがインストール出来ない問題について

Back to archive index

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/




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