トップ «前の日記(2014/08/27 (水) ) 最新 次の日記(2014/08/29 (金) )» 編集 RSS feed

HsbtDiary


2014/08/28 (木) [長年日記]

[ruby] Rational なデータをよく使うときは oj に気をつけようという話

昼に Rails から TresureData にデータを送るコードを書いていて、あるデータを送ろうとすると必ず stack level too deep を起こして SystemStackError で死ぬ、という現象に遭遇してなんだろうなあと調べていたら oj で Rational を含む Hash を to_json すると SEGV するというのが原因だった.

rails 4.1.5 と oj-2.10.2(+ oj_mimic_json)が有効となっている状態で

{foo: Rational(1/2)}.to_json

とするだけで落ちる. 今日はここまでたどり着くだけで時間切れ。とほほ。