新井です。

>>> From: matz / netlab.co.jp (Yukihiro Matsumoto)
>>> Date: 02 Dec 1999 11:43:09 +0900
>>> Subject: [ruby-dev:8483] Re: require で SEGV

> まつもと ゆきひろです
> 
> In message "[ruby-dev:8468] require で SEGV"
>     on 99/12/01, ruby <g96p0935 / mse.waseda.ac.jp> writes:
> |ぐはぁ(吐血)
> |もう報告されたかもしれませんが、以下のスクリプトで SEGV ります。
> |DLEXT は ".so" です。どうやら GC で死んでいるみたいです。
> |1.4.2です。
> 
> バグです。パッチはこんな感じ。

うーん、確かに落ちてる箇所はそのとおりなのですが、

  ruby -rnkf -rnkf -rdbm -e ''

は、問題の箇所にいかないのに

  ruby -rnkf -rnkf.o -rdbm -e ''

がそこにたどりついて落ちるのはおかしくないですか?

rb_f_require()の最初の方の rb_provided() で、"nkf.o"
は弾かれてないとダメなんだと思います。

あと、loading_tbl ってst_delete()してますが
どこにも、st_insert()してる場所がないような。

# でも、デッドロックが恐いのでパッチはださない(Thread苦手)

--
新井康司 (Koji Arai)