Ryo Onodera
onode****@clear*****
2009年 10月 14日 (水) 13:18:50 JST
小野寺です。 grn_expr_snip()がn_tagsの値が0で呼ばれた場合のテストケースを追加したとこ ろSIGFPEしてしまうことが判明しました。 原因はgrn_expr_snip()内にある次のコードがn_tagsの値が0で実行されてしまう からです。 (i + 1) % n_tags その後、とりあえずSIGFPEはしなくなるような、かなり暫定的なパッチを作って みました。現在のパッチの不安な点としては、n_tagsが0かどうかで別々になっ ているループをまとめたほうがいいかもしれません。あるいはn_tagsが0の場合 は関数の先頭の方でエラー扱いにしたほうがいいのかもしれません。 私のgroongaのフォークのmasterブランチは他のパッチが混じっていますので、 このバグのためのブランチを新たに作り、そこに最新のgroongaをpullしてき て、自分のパッチをコミットしました。その新しいブランチのURLとコミットの URLを載せておきます。 ブランチ http://github.com/ryoqun/groonga/tree/grn_expr_snip テストケースのコミット http://github.com/ryoqun/groonga/commit/c050829063fbb17e267e1f55ff5ce4c171b2a458 修正のコミット http://github.com/ryoqun/groonga/commit/2f4183ccea371152f8ee9cedbfb7b685536b0bf8 -- 小野寺 諒 <onode****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)