32bit環境で32bit以上のNumberが取り扱えない
CouchDBの問題というか、大本のSpiderMonkeyの問題のようです。以下のコードをSpiderMonkey上で実行したら、SEGVで落ちました。
var a = 2147483647; var b = 2147483648; print(a.toString()); print(b.toString());
twitter のタイムラインのドキュメントでtweetのidを含んでいるのですが、それが32bit以上のNumberを含んでいたようで、CouchDBのJSプロセスが落ちちゃう、という問題です。twitter は乗り越えたのに、乗り越えられなかった、というかハードウェアをダウングレードしたらこうなっちゃったというバッドノウハウ。
Plug Computerは省電力などのコスト削減に対して仮想化なんかよりいい効果発揮するんじゃね?と思ったものの、は思ったほどにはこなさそうです。
さてどうするか。toString()発行時にSEGVで落ちるだけなので、JS側で回避することは可能であるけれど。。
x86 で起こるのかなぁ、これ。
会社で地雷を踏まないように慎重になっている分、家で地雷踏みすぎ。