Whiteのふりーとーく

FreeBSDのportsのsqlite3のFTS2オプションが罠だった?

About this Page |過去分一覧

近頃版/another blog@hatena/Wiki/BBS

< 最近やってるゲーム | 解説:エンパイアビルダー系ゲームへのトレード導入の効果予測 >

 

FreeBSDのportsのsqlite3のFTS2オプションが罠だった?

NIUがさくらで借りてるサーバ(bardiel.niu.ne.jp)が老朽化してきたのでリプレースすべく新サーバに移行したら、SQLite絡みで問題が発生。

_家のマシンで構築したDBをサーバに上げて使う、という形で動かしているプログラムがあるのだが、そいつがSegmentation faultで落ちる。コマンドラインのsqlite3でDBファイルを開こうとしても落ちる。

バージョン違い(家は3.3.6/サーバは3.4.1)? Full Text Searchが導入されてるのでそれ絡み? ChangeLogでは両バージョン間で互換性に問題が出るような記述はない。となるとFTS絡みか。EUCで突っこんでたのをUTF8にしてみるか、とか思って家でdumpしてnkfで変換してサーバでreadをかけてみる――Segmentation fault。

_いったいどこで落ちているのか。試しにコマンドラインで新しいDBファイルを作ってみる。起動はする。適当にテーブルを定義してみる――Segmentation fault。

どうもまともにDBエンジンとして機能するかが怪しい状態のようだ。設定を変更してのリコンパイルを決断。/usr/ports/databases/sqlite3でmake config、FTS2が有効になっていたので無効。無効になっていたFTS1を有効にして、make reinstall。

コマンドラインのsqlite3でさっきまで開けなかったDBファイルを開いてみると、無事起動。

_"sqlite FTS2 ports" でぐぐってみると、sqlite3を起動するとSegmentation Faultするというそのまんまっぽい話が。

ええと、今のところ出たのは:

なんか中途半端な状態だけどとりあえず報告。既に動いているサーバなのでこれ以上の実験は勘弁。

TrackBack ping url:

名前

TrackBack:


御意見・御感想の宛先white@niu.ne.jp