WWW::Mechanizeで「can't modify frozen object」のエラーが発生する
久々にちょっと早く帰れたので、jijiのクリック証券プラグインを作っていたわけですが、レート情報を取ってくるところで以下のエラーが起きる。
, [2009-06-03T02:25:04.651000 #7420] ERROR -- : can't modify frozen object (TypeError) /usr/lib/ruby/1.8/net/https.rb:138:in `verify_mode=' /usr/lib/ruby/1.8/net/https.rb:138:in `verify_mode=' /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.0/lib/www/mechanize/chain/ssl_resolver.rb:20:in `handle' /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.0/lib/www/mechanize/chain.rb:30:in `pass' /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.0/lib/www/mechanize/chain/handler.rb:6:in `handle'
毎回ではなく、2回に1回発生している様子。んー、なんだコレ?と思ってぐぐってみると以下の不具合がヒット。
→#24950 Mechanize produces error against https links
↑のコメント欄によると、「keep_alive=flae」にすれば改善されるとのこと。試してみると確かに直ったけど、影響範囲が不安。性能が劣化するだけならいいんだけど。
2009-09-21 修正
「keep_alive=true」になっていのを「keep_alive=flae」に修正。