In article <20091002182909.54020.qmail / mail.goo.ne.jp>,
  patamanta / mail.goo.ne.jp writes:

> ---
> #! /usr/local/bin/ruby                                                          
> GC.stress = true
> loop do 
>   begin
>     f = File.open("d")
>     Marshal.load(f)
>   rescue
>   end
> end
> ---
> # dは空のファイルです。
>
> ざっとソースをみたところ marshal.c の 1480 行目で r_byte 関数を呼び出して
> 864行目で rb_eof_error で例外を発生させたあたりでエラーとなっているようです。
> おそらく、1478行目でスタック上の作成した arg.wrapper オブジェクトを
> GCが発生した際に適切に mark できなかったようにみえます。

これも直ったんじゃいないかなぁ。
-- 
[田中 哲][たなか あきら][Tanaka Akira]