From: matz@... (Yukihiro Matsumoto) Date: 2003-05-20T19:01:50+09:00 Subject: [ruby-dev:20250] Re: dyna_vars problem? まつもと ゆきひろです In message "[ruby-dev:20248] Re: dyna_vars problem?" on 03/05/20, Tanaka Akira writes: |> 再現しませんでした。rb_gc()を追加すると処理が全然進まないし。 | |あ、その進まないという奴も症状のひとつです。 | |たぶん、strace をかけると次のようにぜんぜん IO をしない状況になるんで |すよね? そうです。それでちょっと分かってきました。スレッドデバッグの とも、printfデバッグを駆使することによって原因が分かってきま した。 * thread_save_contextが行われる * thread_restore_contextが行われる * もう一度thread_restore_contextが行われる という状況が発生していて、最初のrestoreによる実行で、 dyna_varsが解放されてしまうと、ダメということのようです。 しかし、continuation以外で一つのsaveに複数のrestoreが対応す ることはないように作ったつもりだったんですが。 とりあえずCVS最新ではforce_recycleを禁止してみましたので、こ れで様子を見てくださいませ。