[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20250] Re: dyna_vars problem?

From: matz@... (Yukihiro Matsumoto)
Date: 2003-05-20 10:01:50 UTC
List: ruby-dev #20250
まつもと ゆきひろです

In message "[ruby-dev:20248] Re: dyna_vars problem?"
    on 03/05/20, Tanaka Akira <akr@m17n.org> writes:

|> 再現しませんでした。rb_gc()を追加すると処理が全然進まないし。
|
|あ、その進まないという奴も症状のひとつです。
|
|たぶん、strace をかけると次のようにぜんぜん IO をしない状況になるんで
|すよね?

そうです。それでちょっと分かってきました。スレッドデバッグの
とも、printfデバッグを駆使することによって原因が分かってきま
した。

  * thread_save_contextが行われる
  * thread_restore_contextが行われる
  * もう一度thread_restore_contextが行われる

という状況が発生していて、最初のrestoreによる実行で、
dyna_varsが解放されてしまうと、ダメということのようです。

しかし、continuation以外で一つのsaveに複数のrestoreが対応す
ることはないように作ったつもりだったんですが。

とりあえずCVS最新ではforce_recycleを禁止してみましたので、こ
れで様子を見てくださいませ。

In This Thread