[Senna-dev 735] Re: sen_query_termが落ちます

Back to archive index

morit****@razil***** morit****@razil*****
2007年 12月 22日 (土) 19:26:20 JST


森です。

大変おそくなりましたが、この問題をSenna rev653で修正しました。

指摘ありがとうございました。→ 幸坂さん

Senna1.1.0ももうすぐ出します!!

>>> Tasuku SUENAGA さんは書きました:
> 末永です。
> 
> おお。。。BULK(P)で落ちているとは。。
> 修正いたします!
> 
> その他バグフィックスがたまってきたので、
> Senna 1.0.10を出す予定です。
> 
> kousa****@nttda***** さんは書きました:
> > 幸坂です。こんにちは。
> > 
> > sen_query_termが落ちます。
> > http://qwik.jp/senna/bug_report.html
> > この書式に習って書いてみます。
> > 
> > ・ハードウェア環境
> >  ・CPU種別:Intel(R) Xeon(TM) CPU 2.40GHz * 2
> >  ・メモリ容量:2GByte
> >  ・ハードディスク容量:70GByte
> > ・バージョン情報
> >  ・OS:RHEL4 (32bit) kernel 2.6.9
> > ・Sennaのバージョン 1.0.9
> > ・起こっている問題
> >  ・sen_query_termが落ちます。
> > ・検索対象コンテンツの情報
> >  ・10文字×3行
> > ・再現方法
> >  擬似コードを書きます。
> > 
> > int my_query_term_callback(const char* term, unsigned int len, void*
> > func_arg) {
> >   int* n = (int*)func_arg;
> >   (*n)++;
> >   printf("test %d %.*s", *n, len, term);
> >   return 1;
> > }
> > 
> > main () {
> >   ...
> >   char str[128] = "aaa -bbb +ccc";
> >   int n = 0;
> >   sen_query q = sen_query_open(str, strlen(str), sen_sel_or, 32, 3);
> >   sen_query_term(q, &my_query_term_callback, &n);
> > }
> > 
> > 出力結果:
> > test 1 aaa
> > Sementation Fault
> > (query.cの557行目のBULKP(c)で落ちているようです。)
> > 
> > 予想していた出力結果
> > test 1 aaa
> > test 2 bbb
> > test 3 ccc
> > 
> > 
> > 以下のように変更すると、予想通りの結果が返って来るのですが、
> > そもそも、私の使用方法が間違っている可能性もあります。
> > 何かわかりましたらご教示ください。
> > 
> > $ diff RELEASE-1.0.9/lib/query.c RELEASE-1.0.9_fix/lib/query.c
> > 557,562c557,562
> > <   if (BULKP(c)) {
> > <     return func(c->u.b.value, c->u.b.size, func_arg);
> > <   }
> > <   for (token = c->u.l.car; token; token = token->u.l.cdr) {
> > <     if (!query_term_rec(q, token, func, func_arg)) {
> > <       return 0; /* abort */
> > ---
> >>   for (token = c; token != NIL; token = token->u.l.cdr) {
> >>     if (BULKP(token->u.l.car)) {
> >>       if (!func(token->u.l.car->u.b.value,
> >>                 token->u.l.car->u.b.size, func_arg)) {
> >>         return 0; /* abort */
> >>       }
> ---
> Tasuku SUENAGA <a****@razil*****>
> 
> _______________________________________________
> Senna-dev mailing list
> Senna****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/senna-dev
> 
--
morita




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