Susumu Yata
yata****@razil*****
2015年 12月 7日 (月) 17:59:42 JST
矢田です. ご報告ありがとうございます. エラーメッセージを参考にソースコードを辿ってみたところ, OR の個数が原因のようです. [[-35,1449474361.23027,0.00206923484802246,"stack is full",[["grn_expr_append_obj","expr.c",751]]],[]] 検索条件を構成する要素が多すぎるために,固定サイズの領域が埋まってしまったようです. // expr.c if (e->codes_curr >= e->codes_size) { ERR(GRN_NO_MEMORY_AVAILABLE, "stack is full"); goto exit; } // expr.c int size = GRN_STACK_SIZE; ... expr->codes_size = size; // config.h /* stack size */ #define GRN_STACK_SIZE 1024 一応,この値はビルド時に指定できるみたいです. コミットメッセージには "This is DANGER parameter!!!" と書かれていますが…. - Make GRN_STACK_SIZE customizable on build · groonga/groonga @ 1162623 - https://github.com/groonga/groonga/commit/116262374751a91318c4815e9a293aeeaf98cfbb 2015年12月7日 16:52 Hiroyuki Sato <hiroy****@gmail*****>: > 手動でコマンドを実行したら > > [[-35,1449474361.23027,0.00206923484802246,"stack is > full",[["grn_expr_append_obj","expr.c",751]]],[]] > > となりました。 > ORの個数?、クエリの長さ?を減らすと大丈夫なようです。 > > よろしくお願いします。 > > > > 2015年12月7日(月) 16:19 Hiroyuki Sato <hiroy****@gmail*****>: >> >> 佐藤です。 >> >> 質問です。 >> >> 1, rc=-35のエラー >> >> groongaで検索をしていて次のエラーが発生しました。 >> >> 2015-12-07 15:26:13.929059|0x7fee80d71d10|:000000000834456 select(0) >> 2015-12-07 15:26:13.929103|0x7fee80d71d10|<000000000878385 rc=-35 >> >> rc=-35とは、メモリ不足だと思うのですが、 >> なにか設定でこの容量を増やすことはできますでしょうか? >> >> include/groonga/groonga.h >> GRN_NO_MEMORY_AVAILABLE = -35, >> >> 2, やっていることは >> >> https://github.com/hiroyuki-sato/groonga-highlight_test#クエリ >> とほぼ同じです。ただし、ORの数が252個ぐらいあります。 >> >> select \ >> --table Data \ >> --match_columns article \ >> --output_columns "_key,highlight_html(article),line_no" \ >> --query "( あいこ OR あかり OR ありま OR いつお OR うらら OR かおり OR かとう OR かなえ OR かなめ >> OR きよこ OR きよみ OR こずえ OR しげこ OR すずき OR せいこ OR せんだ OR たいじ OR たけお OR たまえ OR >> ちゃん OR ちょこ OR とよこ OR ながの OR のぼる OR のむら OR まこと OR みどり OR みやこ OR みゆき OR よしの OR >> よしみ OR 健次郎 OR 利根川 OR 千々石 OR 千鶴子 OR 大久保 OR 大河原 OR 威海衛 OR 宇都宮 OR 小石川 OR 江田島 OR >> 海江田 OR 西久保 OR 高千穂 OR こうへい OR こうめい ) OR (line_no:>1 + line_no:<500)" \ >> --command_version 2 \ >> --limit -1 >> >> 3, 環境 >> OS: Scientific Linux 6 64bit >> groonga: 5.0.8です。(正確にはhighlight_html修正済みの5.0.7-2) >> >> vm.overcommit_memroyは1にしてあります。 >> DBの格納されているサイズは280MBぐらいでそれほど容量が大きいわけではありません。 >> >> ファイルは32個ぐらいしか開いておらずファイルディスクリプタが足りないということ >> もないようです。 >> >> よろしくお願いします。 >> >> >> >> > > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.osdn.me/mailman/listinfo/groonga-dev > -- Susumu Yata <yata****@razil*****>