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

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 1月 10日 (土) 11:27:35 JST


須藤です。

In <54AFE****@gmail*****>
  "[groonga-dev,03061] Re: MariaDBバンドル版Mroonga 4.09でMroongaがインストール出来ない問題について" on Fri, 09 Jan 2015 23:41:35 +0900,
  hiroshi hatake <cosmo****@gmail*****> wrote:

>> でも、おかしいですねぇ。そのfor文で
>>
>>      for (opt= tmp->plugin->system_vars; *opt; opt++)
>>        st_mysql_sys_var *o= *opt;
>>
>> としているので、oがNULLになることはない気がするんですよねぇ。
>> *optもNULLになっていますか?
> 
> Visual StdioのC++コンパイラの最適化で消えていました…。
> 見られませんでした。。。

デバッグビルドってできます?
あと、デバッグビルドでも再現しますか?

>> あと、tmp->plugin->system_varsの中身ってみれます?
> 
> ↓のようになりました!
> ---
> -        system_vars    0x749430a8 {ha_mroonga.dll!st_mysql_sys_var 
> *mrn_system_variables[17]} {0x74943354 
> {ha_mroonga.dll!<unnamed-type-mysql_sysvar_log_level> 
> mysql_sysvar_log_level} {...}}    st_mysql_sys_var * *
>           -            0x74943354 
> {ha_mroonga.dll!<unnamed-type-mysql_sysvar_log_level> 
> mysql_sysvar_log_level} {flags=6 name=...}    st_mysql_sys_var *
>                          flags    6    int
>                 +        name    0x1dc9bff8 "mroonga_log_level" const char *
>                 +        comment    0x74937b28 "logging level" const char *
>                          check    0x002b8d60 
> {mysqld.exe!check_func_enum(THD *, st_mysql_sys_var *, void *, 
> st_mysql_value *)}    int (THD *, st_mysql_sys_var *, void *, 
> st_mysql_value *) *
>                          update    0x74901500 
> {ha_mroonga.dll!mrn_log_level_update(THD *, st_mysql_sys_var *, void *, 
> const void *)}    void (THD *, st_mysql_sys_var *, void *, const void *) *
> 
> ---

うーん、最初のやつしか見れないんですね。。。
tmp->plugin->system_varsの中身を全部見たいんですよねぇ。

tmp->plugin->system_varsはNULL終端の配列なはずなので、
tmp->plugin->system_vars[0]
tmp->plugin->system_vars[1]...
とアクセスしていってNULLになったらそれ以降は触らないようにす
れば中身をみれそうな気がするんですけど。。。


>>> ほか、tmp_root, tmp, argc, argvの異常終了した時点での値のダンプを添付
>>> し ます。
>> ありがとうございます。が、ここでは添付ファイルを使えないっぽ
>> いのでどこかに貼ってもらえますか?
> 
> いつものようにDropboxに置きました。
> https://dl.dropboxusercontent.com/u/36753409/Mroonga-4.09-crash-win/dump_variable.log

ありがとうございます。
が、もう一歩のところが見えないですね。。。

lenも見れたりしますか?

> MariaDB [(none)]> DROP FUNCTION IF EXISTS last_insert_grn_id;
> Query OK, 0 rows affected, 1 warning (0.00 sec)
> 
> MariaDB [(none)]> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER
>      ->   SONAME 'ha_mroonga.so';
> Query OK, 0 rows affected (0.00 sec)
> 
> MariaDB [(none)]> show warnings;
> +-------+------+--------------------------------------------------+
> | Level | Code | Message                                          |
> +-------+------+--------------------------------------------------+
> | Note  | 1305 | FUNCTION (UDF) last_insert_grn_id does not exist |
> +-------+------+--------------------------------------------------+
> 1 row in set (0.00 sec)

この実行結果の並べ方だとCREATE FUNCTIONでwarningでているよう
に見えますけど、ちゃんと見るとDROP FUNCTIONででているので、
別に問題ではないですね。
(IF EXISTSをつけてもwarningはでるんだ。。。という感じですけ
ど。)

> # 全然関係ないですが、MariaDB 10.0.15 with Mroonga 4.09に含まれているGroongaは4.0.9でしたっけ。。

4.0.9なんですが、そもそも動かないので気にしなくていいと思い
ます。

-- 
須藤 功平 <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