[groonga-dev,01705] Re: 仮想メモリサイズを超えるmroongaのインデックス構築について

アーカイブの一覧に戻る

Kouhei Sutou kou****@clear*****
2013年 8月 27日 (火) 16:28:58 JST


須藤です。

In <CANM+Hhf_Ammt1iyJiqrSiMrTAx0T_aT6Gx****@mail*****>
  "[groonga-dev,01701] Re: 仮想メモリサイズを超えるmroongaのインデックス構築について" on Tue, 27 Aug 2013 15:14:28 +0900,
  Naoya Murakami <visio****@gmail*****> wrote:

> 当方あまりに解析能力がなくて申し訳ないです。

いえいえ!
いろいろ試してもらって助かっています。

> mysqldのバックトレースというのは、たぶん以下でいいのですよね?
> mysql5.5.14と5.6.13でクラッシュしたときの2種類がありました。
> 5.6.13では、groongaの関数が見えている感じですが、これで特定できますか?

はい!だいぶ特定できます。
ありがとうございます!

> /usr/lib64/libgroonga.so.0(grn_free_default+0x31)[0x7f73542828f1]
> /usr/lib64/libgroonga.so.0(+0x10b0d4)[0x7f735436c0d4]
> /usr/lib64/libgroonga.so.0(grn_ii_buffer_commit+0x3fd)[0x7f735438a10d]

が2つでているのが妙なのですが、↑の真ん中の関数名がでていな
いやつがわかれば原因がわかりそうな気がします。

> できなければ、教えていただいたデバッグをしかけて、再現させてみたいと思います。

もう少し原因を絞り込むために、groongaだけデバッグビルドにし
てもらえないでしょうか。。。

あと、デバッグログを埋め込んだブランチを作ったので、それを使っ
て動かしてもらえるとうれしいです。手順をまとめるとこんな感じ
のことをして欲しいです。(すでにgit cloneしたgroongaリポジト
リを持っている前提です。持っていますよね?)

  % cd groonga
  % git stash
  % git pull --rebase
  % git checkout origin/debug-groonga-dev-01701
  % git stash pop
  # commitした変更点があればそれを変更する
  % ./configure --with-debug ...(他のオプション)...
  % make -j > /dev/null
  % sudo make install

このgroongaを使うとnoticeレベルで

  grn_ii_buffer_commit: ...

のようなログがgroogna.logにでてきます。クラッシュしたときか
らさかのぼって2番目の

  grn_ii_buffer_commit: start

以降のログを見せてもらえるとうれしいです。

私の予想では、

  grn_ii_buffer_commit: datavec_init: -35

というのがでていて、

  grn_ii_buffer_commit: databec_fin

というのが最後のログになっているんじゃないかと思っています。

また、

> /usr/lib64/libgroonga.so.0(grn_free_default+0x31)[0x7f73542828f1]
> /usr/lib64/libgroonga.so.0(+0x10b0d4)[0x7f735436c0d4]
> /usr/lib64/libgroonga.so.0(grn_ii_buffer_commit+0x3fd)[0x7f735438a10d]

↑の関数名がでていないやつはdatavec_finになるんじゃないあk
と思っています。

-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

groongaサポート:
  http://groonga.org/ja/support/
パッチ採用はじめました:
  http://www.clear-code.com/recruitment/
コミットへのコメントサービスはじめました:
  http://www.clear-code.com/services/commit-comment.html




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る