近頃版/another blog@hatena/Wiki/BBS
< 最近やってるゲーム | 解説:エンパイアビルダー系ゲームへのトレード導入の効果予測 >
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するというそのまんまっぽい話が。
ええと、今のところ出たのは:
なんか中途半端な状態だけどとりあえず報告。既に動いているサーバなのでこれ以上の実験は勘弁。