[Senna-dev 211] 特定のkeywordでmysqldがsegfaultします

Back to archive index

Kazuhiro Osawa ko****@yappo*****
2006年 3月 13日 (月) 14:23:22 JST


環境:CentOS 4.2 MySQL 4.026 MeCab0.90rc10 senna rev96

mecab-0.90rc10, mecab-ipadic-2.7.0-20051110, sennaともに
./configure make make install

MySQLは 
./configure --prefix=/hogehoge/mysql --with-charset=ujis --with-extra-charsets=all

で環境構築しました。

この環境で特定のキーワードのクエリがある時にmysqldが落ちる現象がありました。

gdb /hogehoge/mysql/libexec/mysqld
して落ちたときのログは下記のとおり

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1480574032 (LWP 13487)]
0x00247720 in sen_set_int_get (set=0x9d433508, key=0x473f7, value=0xa7bd4098) at set.c:263
263       uint32_t h = *key, i, m = set->max_offset;


btコマンドの結果の要約は下記の通り

#0  0x00247720 in sen_set_int_get (set=0x9d433508, key=0x473f7, value=0xa7bd4098) at set.c:263
#1  0x00247e35 in sen_set_get (set=0x9d433508, key=0xa7bd4094, value=0xa7bd4098) at set.c:349
#2  0x00241e5b in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=291832, level=2346) at sym.c:210
#3  0x00241e75 in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=291833, level=2345) at sym.c:212
#4  0x00241e75 in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=291834, level=2344) at sym.c:212
#5  0x00241e75 in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=291835, level=2343) at sym.c:212
#6  0x00241e75 in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=291836, level=2342) at sym.c:212
(snip)
#2347 0x00241e75 in sis_collect (sym=0x8acb2a0, h=0x9d433508, id=294177, level=1) at sym.c:212
#2348 0x00243f49 in sen_sym_suffix_search (sym=0x8acb2a0, 
    key=0xa12343df "蓮蔭蒋蔦蓬蔓蕎蕨蕉蕃蕪蔽薙蕾蕗藁薩藤藍蘇蘭虎虹蜂蜜蝦蝶螺蝉蟹蝋衿袖袈袴裡裾裟裳襖訊訣註詣詢詮詫誼諏諄誰諒謂諺諦謎讃豹貌貰貼賑赳跨蹄蹟蹴輔輯>
輿轟辰辻迂迄辿迪迦這逞逗逢遥遙遁遡遜遼邑那祁郁鄭酉酎醇醐醒醍醤"...) at sym.c:707
#2349 0x00254866 in token_info_open (i=0x8ab8e00, key=0x9d4eff90 "蓮", offset=0, mode=expand_both) at index.c:265
#2350 0x00258dcf in sen_index_select (i=0x8ab8e00, string=0x9d4effe8 "蓮", r=0x9d423a90, op=sen_sel_or, optarg=0xa7c02150) at index.c:431
#2351 0x002ab021 in exec_query (i=0x8ab8e00, q=0x9d4336d0, c=0x9d43372c, r=0x9d423a90, op=sen_sel_or) at query.c:437
#2352 0x002aaf44 in exec_query (i=0x8ab8e00, q=0x9d4336d0, c=0x9d433718, r=0x9d423a90, op=sen_sel_or) at query.c:443
#2353 0x002aaf44 in exec_query (i=0x8ab8e00, q=0x9d4336d0, c=0x9d433704, r=0x9d423a90, op=sen_sel_or) at query.c:443
#2354 0x002ab215 in sen_query_exec (i=0x8ab8e00, q=0x9d4336d0, r=0x9d423a90, op=sen_sel_or) at query.c:482
#2355 0x082d8004 in ft_init_boolean_search ()
#2356 0x080c9bcf in Item_func_match::init_search ()
#2357 0x08127142 in init_ftfuncs ()
#2358 0x081393ad in mysql_select ()
#2359 0x0813aa15 in handle_select ()
#2360 0x08115005 in mysql_execute_command ()
#2361 0x08116214 in mysql_parse ()
#2362 0x08116d1c in dispatch_command ()
#2363 0x08117a14 in handle_one_connection ()
#2364 0x00c9a341 in start_thread () from /lib/tls/libpthread.so.0
#2365 0x00b1a6fe in clone () from /lib/tls/libc.so.6


この時に「蓮」という文字を含めて検索すると必ず落ちていました。
テーブルの内容が変更(約10万件から約6000件に現象)したところ落ちなくなりました。


取り急ぎ報告まで。

---
osawa



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