From: WATANABE Tetsuya Date: 1998-06-26T10:55:34+09:00 Subject: [ruby-dev:3031] Re: experimental release 1.1b9_27 Linux で落ちる話の続きです。 ------------------------------ $ /t/bin/ruby =hd.rb -n Xerr.txt-2 > /dev/null /home/tetsu/bin/hd.rb:77: [BUG] Segmentation fault ------------------------------ というやつ。 結果として、よくわからない状況です。 いま確認しているのは、malloc を perl5.004_04 のもの をリンクしています。これを行うと「もし」free(3) で アドレスのミスマッチがあるとレポートしてくれたりす るので... いまのところ(昨日の夜から)現象は再現していません。 ということで、私の環境の malloc/free 関係が単純に怪 しい可能性があります(TurboLinux 1.4J/libc-5.4.38)。 前回の LD_PRELOAD で使用した GNU malloc については、 strace の結果から Ruby の実行時に利用されていないよ うですし(gdb は使ったのですが)。 リンク方法ですが、次のようにしました。Ruby の .o は そのままで「ruby」コマンドのリンク時に Perl の malloc.o (これも Perl コンパイル時に作成された malloc.o そのまま)と、これに必要なサポート用のコー ドをいっしょにリンクしています。 いまのところ、この実行モジュールで現象は起きていま せん。他の方の環境でも起きていないところをみると、 libc 関係かなと思ったりしています。私のところは TurboLinux 1.4J が 2 システムあり、どちらも起きてい ます(自宅と会社)。 とりあえずお知らせまで。 -- WATANABE Tetsuya HP Japan e-mail tetsu@jpn.hp.com