WING☆
wings****@wing-*****
2013年 5月 21日 (火) 00:07:41 JST
WING☆です。
あれから、cmakeのオプションを絞ってビルドした結果、
うまくCREATE TABLEが実行することを確認できました。
元々のcmakeは以下(NG)
---
cmake . -DBUILD_CONFIG=mysql_release \
-DFEATURE_SET="community" \
-DINSTALL_LAYOUT=RPM \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LIBDIR="%{_lib}/mysql" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DMYSQL_DATADIR="/var/lib/mysql" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_READLINE=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now"
---
うまく動いたcmakeは以下(OK)
---
cmake . -DINSTALL_LAYOUT=RPM \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LIBDIR="%{_lib}/mysql" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DMYSQL_DATADIR="/var/lib/mysql" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock"
---
どうやら、
---
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_READLINE=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now"
---
のあたりが怪しいのですが、これは今後更に検証をして
みたいと思います。
(ひょっとしてお詳しい方なら、これで大凡の見当が付く?)
とりあえず取り急ぎ、ご報告まで。
また、いろいろご支援いただいた方々ありがとうございました。
最終的にどのオプションがダメだったのかは、今後結論が
出次第、報告したいと思います。
では、今後ともよろしくお願い致します。
(2013/05/20 18:12), WING☆ wrote:
> 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
━━━━━━━━━━━━……‥‥・・