From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2009-11-26T04:42:44+09:00 Subject: [ruby-dev:39786] Re: [Bug #2386] r25230 causes SEGV arround Marshal けいじゅ@いしつかです. 対応ありがとうございます. In [ruby-dev:39774] the message: "[ruby-dev:39774] [Bug #2386] r25230 causes SEGV arround Marshal", on Nov/25 23:08(JST) _ wanabe writes: >チケット #2386 が更新されました。 (by _ wanabe) >再現できないのでわかりませんが、これでどうでしょうか。 SEGVする確率はかなり減りました. 代わりに例外: [P]#7 njob.rb[172] NFile#rescue in each: method `to_s' called on unexpected T_NONE object (0x9bc8f64 flags=0x2000 klass=0x0) /usr/local/apps/rubyware/ruby-1.9.2-20091126/lib/ruby/1.9.1/delegate.rb:265:in `write' /usr/local/apps/rubyware/ruby-1.9.2-20091126/lib/ruby/1.9.1/delegate.rb:265:in `block in delegating_block' / の頻度が高くなった気がします. 総合的な発生確率は同じ感じです... あと, > ちなみに、Marshal.dump(e, io) で ioにTempfileを使っていると言いまし > たが、tempfileから実際のioを取り出して、直接そちらにdumpするようにす > ると、エラーは発生しなくなります。 と言いましたが, これでも, かなり頻度は下がりますがSEGVは発生するようで す(最新版では試せていません). 頻度的には, Tempfileを使う場合は, 数秒以 内に確実に発生し, 直接のio仕様の場合は数時間に1回程度の割合ぐらいにな るようです. __ ---------------------------------------------------->> 石塚 圭樹 <<--- ---------------------------------->> e-mail: keiju@ishitsuka.com <<---