MacOS X 10.4.8に標準で入ってるSQLite3にバグがありそうな件
大事なことを先に。
2008/01/07追記
これはどうやらswigを入れていないのが原因だったっぽいです。お騒がせしました。たしか解決したエントリへのリンクを張っておきます。
http://d.hatena.ne.jp/moro/20061029/1162117114
MacでRails開発してる人は、標準で入っているSQLite3をそのまま使うのでは無く、MacPortsなんかで最新のSQLite3にしたほうがよさげ。で、インストール後は、念のため、sqlite3-rubyもコンパイルし直しました。
$ /usr/bin/sqlite3 -version 3.1.3 $ /opt/local/bin/sqlite3 -version 3.3.7
何かそのままのバージョンで使ってたらテストが落ちまくりました。転ばぬ先の杖ということで、MacPorts入れとくのをお勧めします。
Railsでテストを書いてたら、Rubyが原因不明のエラーで落ちまくりました。テストを一本ずつ走らせるとOKなのに、rakeからまとめて走らせるとRubyがsegmentation faultするという。こんな感じ。
ruby(1887,0xa000cfc0) malloc: *** Deallocation of a pointer not malloced: 0xbfffc228; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
で、SQLite3(3.1.3)の":memory:"DBを使ったらちゃんと通ったという。3.3.7を入れたら物理DBを使ったテストでも落ちなくなりましたとさ。めでたい。