debian squeeze で perl のモジュール Image::Seek と Image::Imlib2 のインストール
Image::Seek を使用していて、セグメンテーション違反(Segmentation faults)で落ちる。
- query_id を呼んだ時に落ちる。
- query_id(id); と特定の id を引数に指定した時に起きる現象。
- http://search.cpan.org/CPAN/authors/id/K/KE/KENWU/Image-Seek-0.02.zip ソースを見てみると、
- imgdb.cpp 中の queryImgData関数の
for(long_listIterator uit = imgbuckets[c][pn][idx].begin(); ....
- とある所で、
- idx の値がその上限16383を超えているのが、直接の原因のようだ。
if(idx >16383) continue;
- を直前に挿入すると、とりあえずセグメンテーション違反を回避することが出来る。
- ほんの少しだけ類似度の指標が悪くなるが、今の所問題なく使えている。