WING☆
wings****@wing-*****
2013年 5月 21日 (火) 13:20:55 JST
WING☆です。
お世話になっております。
結論から申し上げますと、元々のcmakeのオプションから、
-DBUILD_CONFIG=mysql_release
を削除するだけでうまく行きました。
違いを見てみましたところ、show engines;で違いが見られました。
★ BUILD_CONFIGあり
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment
| Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| MEMORY | YES | Hash based, stored in memory, useful
for temporary tables | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables
| NO | NO | NO |
| CSV | YES | CSV storage engine
| NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you
write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine
| NO | NO | NO |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions,
row-level locking, and foreign keys | YES | YES | YES |
| mroonga | YES | CJK-ready fulltext search, column store
| NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema
| NO | NO | NO |
| FEDERATED | YES | FederatedX pluggable storage engine
| YES | NO | YES |
| Aria | YES | Crash-safe tables with MyISAM heritage
| NO | NO | NO |
| ARCHIVE | YES | Archive storage engine
| NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
★ BUILD_CONFIGなし
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment
| Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine
| NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema
| NO | NO | NO |
| CSV | YES | CSV storage engine
| NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables
| NO | NO | NO |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions,
row-level locking, and foreign keys | YES | YES | YES |
| MEMORY | YES | Hash based, stored in memory, useful
for temporary tables | NO | NO | NO |
| mroonga | YES | CJK-ready fulltext search, column store
| NO | NO | NO |
| Aria | YES | Crash-safe tables with MyISAM heritage
| NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
比較してみますと、-DBUILD_CONFIG=mysql_releaseを削除することで、
以下のストレージエンジンが無くなります。
BLACKHOLE
FEDERATED
ARCHIVE
ひょっとして、これのうちのどれかが邪魔してるとか、コンフリクトしてるとか
その他あるのかもしれません。
また、パラメータも比較してみました。
---
# diff -up variables_ok.txt variables_ng.txt
--- variables_ok.txt 2013-05-21 13:08:23.007000070 +0900
+++ variables_ng.txt 2013-05-21 13:11:30.175000170 +0900
@@ -321,7 +321,7 @@ progress_report_time 56
protocol_version 10
proxy_user
pseudo_slave_mode OFF
-pseudo_thread_id 5
+pseudo_thread_id 3
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
@@ -420,7 +420,7 @@ thread_stack 294912
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
-timestamp 1369109303.002687
+timestamp 1369109490.147685
tmp_table_size 16777216
tmpdir /tmp
transaction_alloc_block_size 8192
@@ -430,7 +430,7 @@ unique_checks ON
updatable_views_with_limit YES
userstat OFF
version 5.5.30-MariaDB
-version_comment Source distribution
+version_comment MariaDB Server
version_compile_machine i686
version_compile_os Linux
wait_timeout 28800
---
これは特に問題になるようなことは無さそうですが、一応参考までに。
いずれにしても、自分はMySQLのソースまで追いかけることができませんので、
ここまでかなという気もしますが、とりあえずwingリポジトリでは、この
オプションを抜いた形のrpmを今後公開して行こうかと思ってます。
もしも、修正が可能でしたら元に戻そうかと思います。
念のため、簡単ではありますが、以下のSQLを実行し正常に動作することを
確認しております。
CREATE DATABASE wingtest;
USE wingtest;
CREATE TABLE bbb (id INT) ENGINE=mroonga;
INSERT INTO bbb(id) VALUES(1);
SELECT * FROM bbb;
UPDATE bbb SET id=2;
SELECT * FROM bbb;
DELETE FROM bbb;
SELECT * FROM bbb;
DROP TABLE bbb;
DROP DATABASE wingtest;
たぶん、MariaDB 10.0も同じと思いますので、試してみたいと思います。
以上、宜しくお願い致します。
(2013/05/21 0:07), WING☆ wrote:
> 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
━━━━━━━━━━━━……‥‥・・