[groonga-dev,01346] AGAINST("") でmysqlがclushする

Back to archive index

N.K. nakai****@gmail*****
2013年 4月 30日 (火) 15:21:28 JST


はじめまして、中井と申します。
インストールしていて不明点があったのでこのMLに加入したところです。

mysqlは5.5.30
mroongaバージョンは、3.0.3

http://mroonga.org/ja/docs/userguide/wrapper.html
こちらの手順を参考にテーブルを作成し、検索は正常にできるところまでいきましたが
検索ワードが空だった場合、mysqlがclushしてしまいます。
こちら既知のものでしょうか。

インストール方法
PLUGINファイルを作成し、バイナリ版mysqlにinstall plugin実施。

いれたもの
INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';

実施した内容:動作確認(ラッパーモード)

CREATE TABLE diaries (
id INT PRIMARY KEY AUTO_INCREMENT,
content VARCHAR(255),
FULLTEXT INDEX (content)
) ENGINE = mroonga COMMENT = 'engine "innodb"' DEFAULT CHARSET utf8;

show create table diaries\G
*************************** 1. row ***************************
       Table: diaries
Create Table: CREATE TABLE `diaries` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `content` (`content`)
) ENGINE=mroonga AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='engine
"innodb"'

INSERT INTO diaries (content) VALUES ("東京は今日もよい天気でした"),("京都は今日もよい天気でした");

SELECT * FROM diaries;
+----+-----------------------------------------+
| id | content                                 |
+----+-----------------------------------------+
|  1 | 東京は今日もよい天気でした              |
|  2 | 京都は今日もよい天気でした              |
+----+-----------------------------------------+

SELECT * FROM diaries WHERE MATCH(content) AGAINST("東京");
+----+-----------------------------------------+
| id | content                                 |
+----+-----------------------------------------+
|  1 | 東京は今日もよい天気でした              |
+----+-----------------------------------------+
1 row in set (0.00 sec)


SELECT * FROM diaries WHERE MATCH(content) AGAINST("");
ERROR 2013 (HY000): Lost connection to MySQL server during query
130430 15:08:09 mysqld_safe Number of processes running now: 0
130430 15:08:09 mysqld_safe mysqld restarted


エラーログ

06:12:09 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=134217728
read_buffer_size=524288
max_used_connections=1
max_threads=128
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads =
460215 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x1d589730
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 498610e8 thread_stack 0x40000
/MYSQL/product/bin/mysqld(my_print_stacktrace+0x35)[0x79ffa5]
/MYSQL/product/bin/mysqld(handle_fatal_signal+0x403)[0x66f5a3]
/lib64/libpthread.so.0[0x325000eb70]
/usr/lib64/libgroonga.so.0[0x2aaabb12aec4]
/usr/lib64/libgroonga.so.0(grn_token_next+0xb1)[0x2aaabb12b911]
/usr/lib64/libgroonga.so.0(grn_ii_similar_search+0x10a)[0x2aaabb08c4ba]
/usr/lib64/libgroonga.so.0(grn_ii_select+0x1e8)[0x2aaabb08d428]
/usr/lib64/libgroonga.so.0(grn_ii_sel+0xf3)[0x2aaabb08f263]
/usr/lib64/libgroonga.so.0(grn_obj_search+0x489)[0x2aaabafba1f9]
/usr/lib64/libgroonga.so.0[0x2aaabafcbbb4]
/usr/lib64/libgroonga.so.0(grn_table_select+0x375)[0x2aaabafcd3e5]
/MYSQL/product/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga26generic_ft_init_ext_selectEjjP6String+0x477)[0x2aaabad35fc7]
/MYSQL/product/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga19generic_ft_init_extEjjP6String+0x9c)[0x2aaabad37dfc]
/MYSQL/product/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga19wrapper_ft_init_extEjjP6String+0x11)[0x2aaabad37fd1]
/MYSQL/product/bin/mysqld(_ZN15Item_func_match11init_searchEb+0x16b)[0x6b8f1b]
/MYSQL/product/bin/mysqld(_Z12init_ftfuncsP3THDP13st_select_lexb+0x60)[0x538ae0]
/MYSQL/product/bin/mysqld(_ZN4JOIN8optimizeEv+0x1c08)[0x5adf58]
/MYSQL/product/bin/mysqld(_Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_s
elect_lex+0x171)[0x5b0541]
/MYSQL/product/bin/mysqld(_Z13handle_selectP3THDP3LEXP13select_resultm+0x179)[0x5b6379]
/MYSQL/product/bin/mysqld[0x574061]
/MYSQL/product/bin/mysqld(_Z21mysql_execute_commandP3THD+0x250b)[0x5799ab]
/MYSQL/product/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x18a)[0x57bcea]
/MYSQL/product/bin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x1331)[0x57d8a1]
/MYSQL/product/bin/mysqld(_Z24do_handle_one_connectionP3THD+0x167)[0x6146e7]
/MYSQL/product/bin/mysqld(handle_one_connection+0x54)[0x614754]
/lib64/libpthread.so.0[0x325000673d]
/lib64/libc.so.6(clone+0x6d)[0x324f8d44bd]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (1de54020): SELECT * FROM diaries WHERE MATCH(content) AGAINST("")
Connection ID (thread ID): 2
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
130430 15:12:09 mysqld_safe Number of processes running now: 0
130430 15:12:09 mysqld_safe mysqld restarted
130430 15:12:09 [Note] Plugin 'FEDERATED' is disabled.
130430 15:12:09 InnoDB: The InnoDB memory heap is disabled
130430 15:12:09 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130430 15:12:09 InnoDB: Compressed tables use zlib 1.2.3
130430 15:12:09 InnoDB: Using Linux native AIO
130430 15:12:09 InnoDB: Initializing buffer pool, size = 2.0G
130430 15:12:09 InnoDB: Completed initialization of buffer pool
130430 15:12:09 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130430 15:12:09  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Last MySQL binlog file position 0 1847, file name
/MYSQL/binlog/binarylog.000001
130430 15:12:09  InnoDB: Waiting for the background threads to start
130430 15:12:10 InnoDB: 5.5.30 started; log sequence number 1612849
130430 15:12:10 [Note] Recovering after a crash using
/MYSQL/binlog/binarylog
130430 15:12:10 [Note] Starting crash recovery...
130430 15:12:10 [Note] Crash recovery finished.
130430 15:12:10 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3305
130430 15:12:10 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130430 15:12:10 [Note] Server socket created on IP: '0.0.0.0'.
130430 15:12:10 [Note] Event Scheduler: Loaded 0 events
130430 15:12:10 [Note] /MYSQL/product/bin/mysqld: ready for connections.
Version: '5.5.30-log'  socket: '/tmp/mysql.sock'  port: 3305  MySQL
Community Server (GPL)



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