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/