From: matz@... (Yukihiro Matsumoto) Date: 2001-03-21T00:28:52+09:00 Subject: [ruby-dev:12591] Re: finalizer problem まつもと ゆきひろです In message "[ruby-dev:12585] Re: finalizer problem" on 01/03/20, 石塚圭樹 writes: |>ごめん、どこが問題なのか分かりませんでした。WeakRefが_id2ref |>の例外を捕捉してないことは問題かもしれませんが。 | |いや. 例外を補足していないのが問題と言うより, この例外が起るってことは不 |正アクセスする可能性があるってことが問題では? これって, 一応例外が発生し |ていますが, 実際はGCされているのに正常なオブジェクトであると判断してしま |う可能性もあり得るでしょ? えーと、_id2ref一般にGCされてしまってリサイクルされたオブジェ クトの区別がつかないという問題は確かにあるのですが、WeakRef の使い方では起きないと思ってます。というのも | _id2refが安全に使える条件として, 元々あるオブジェクトからのidであり, | かつ, そのオブジェクトのfinalizerが呼ばれていないこと. ということは保証しているつもりだからです。 再現スクリプトが落ちるのは、_id2refのバグ(Symbolでないものを Symbolだと思いこむ)が原因ですが、上の懸念とは無関係です。 まつもと ゆきひろ /:|)